王東所在的社?;鹬行氖褂玫氖悄硣?guó)際品牌的集群服務(wù)器,運(yùn)行Microsoft SQL 2005,連接到大約有3TB可用空間的存儲(chǔ)陣列上,構(gòu)成雙機(jī)熱備方案。該社?;鹬行牡臄?shù)據(jù)庫(kù)包括大約1.5TB的數(shù)據(jù)和圖像文件,而且以每年300-500MB的數(shù)據(jù)量遞增。
  
     社保基金中心的數(shù)據(jù)庫(kù)主要保存的由紙質(zhì)文件掃描得來的數(shù)字圖像文件。因?yàn)閳D像文件對(duì)于磁盤空間的要求很高,所以數(shù)據(jù)庫(kù)中圖像文件的部分包括一個(gè)分割成文件組的分區(qū)表,以年為單位在文件組中作為一個(gè)單獨(dú)的分區(qū)來保存相應(yīng)的文件。
  
     當(dāng)年的數(shù)據(jù)是一個(gè)讀/寫文件組,而一旦關(guān)閉,就標(biāo)記成只讀。然后整個(gè)數(shù)據(jù)庫(kù)使用文件組(部分的)備份,接著備份事務(wù)日志。這些數(shù)據(jù)庫(kù)備份文件再備份到磁帶上,并妥善保管在各處。分區(qū)表是SQL 2005的新功能,可以讓備份大型數(shù)據(jù)庫(kù)的操作變得更加簡(jiǎn)便。因?yàn)樵谥蛔x文件組里的數(shù)據(jù)不會(huì)改變,就不需要像讀/寫文件組里的信息那樣經(jīng)常性地做備份了。
  
     然而,這種靈活性增加了文件管理的復(fù)雜度。當(dāng)新的讀/寫文件組加入數(shù)據(jù)庫(kù)中時(shí),這個(gè)文件組必須在同一時(shí)間作為另一個(gè)文件組進(jìn)行備份,同時(shí)還要備份事務(wù)日志,這樣才能完全恢復(fù)數(shù)據(jù)庫(kù)并上線使用。
  
    問題的根源


    去年六月,一個(gè)磁盤陣列處理器報(bào)錯(cuò)了,王東給硬件的廠商打了一個(gè)電話,得到的建議是運(yùn)行后臺(tái)校驗(yàn)來修復(fù)RAID數(shù)據(jù),這個(gè)建議非常合理,但是實(shí)際操作中卻并沒有奏效。
  
     要修復(fù)RAID數(shù)據(jù),首先必須先解除LUN綁定,然后重新綁定兩個(gè)損壞的LUNs。因此,王東必須把損壞的LUNs上存儲(chǔ)的數(shù)據(jù)庫(kù)文件組移動(dòng)到另外一個(gè)準(zhǔn)備好的LUN上。這個(gè)步驟是修復(fù)RAID數(shù)據(jù)必不可少的步驟,然而無法挽回的損失也正是發(fā)生在這個(gè)步驟。
  
     王東通過一臺(tái)遠(yuǎn)程計(jì)算機(jī)上進(jìn)行解除和重新綁定的操作,與此同時(shí)還有一個(gè)廠商工程師在幫助做相同的操作,在實(shí)際操作中,由于以前備份策略的設(shè)置的文檔已經(jīng)完全丟失,無論是王東還是廠商工程師都很難把LUN編號(hào)和服務(wù)器驅(qū)動(dòng)器編號(hào)對(duì)應(yīng)起來,而且有些文件被錯(cuò)誤的挪到了要重新綁定的LUNs上。兩個(gè)人最終勉強(qiáng)完成了重新綁定的工作,他們卻發(fā)現(xiàn)有一個(gè)重新綁定的LUN里面錯(cuò)誤的包含了數(shù)據(jù)文件和SQL備份文件。
  
     王東試圖從磁帶上恢復(fù)數(shù)據(jù)庫(kù)的備份文件,有一個(gè)重要的文件,對(duì)于社?;鹬行牡臄?shù)據(jù)庫(kù)來說最主要的文件組(MDF),在正常的備份過程中被不經(jīng)意地忽視了,這個(gè)文件就沒有備份到磁帶上。而如果沒有這個(gè)文件,數(shù)據(jù)庫(kù)就不能恢復(fù)并正常工作。這個(gè)時(shí)候王東才意識(shí)到,要想從備份磁帶中把數(shù)據(jù)恢復(fù)完成,已經(jīng)徹底不可能了。而他們平時(shí)所依賴的數(shù)據(jù)備份系統(tǒng),在真正的問題來臨的時(shí)候,并不能保護(hù)數(shù)據(jù)安全。
  
     王東在周末加班,使用以前手工備份的MDF文件把所有只讀的歷史文件都恢復(fù)了,也就是2000年至2005年的數(shù)據(jù),但是2006年的所有數(shù)據(jù)卻永遠(yuǎn)丟失了,因?yàn)榧词褂?006年當(dāng)前的備份和事務(wù)日志的備份,相對(duì)應(yīng)的MDF文件的備份也是需要的。為了盡快恢復(fù)業(yè)務(wù),系統(tǒng)先調(diào)用了一個(gè)沒有數(shù)據(jù)的2006年的文件組。2006年夏天,王東和他的同事們用了三個(gè)半月的時(shí)間把紙質(zhì)文檔重新進(jìn)行了掃描。
  
    全新的備份架構(gòu)
  
     這次意外的災(zāi)難給社保中心帶來不小的損失,社保中心也因此開始重視數(shù)據(jù)保護(hù)方面的投入和評(píng)估,并重新審視了以往的備份架構(gòu)。
  
     以前,王東他們是文件組和日志每天都做備份,完全備份(包括所有的文件組)則是一個(gè)季度做一次。
  
     現(xiàn)在,王東和他的同事對(duì)于如何從文件組備份成功恢復(fù)數(shù)據(jù)庫(kù)有何要求已經(jīng)相當(dāng)清楚了,其中有一些是MS SQL 2005的新功能?,F(xiàn)在,王東增加了額外的磁盤到陣列中,保證有7TB的可用空間,恢復(fù)數(shù)據(jù)庫(kù)和執(zhí)行常規(guī)檢查的操作變得更加容易了,同時(shí)備份方案也變得更加完善和成熟。
  
     現(xiàn)在該社保基金中心安排了一組IT人員每天都會(huì)檢查和驗(yàn)證備份日志,每月都會(huì)檢查所有的數(shù)據(jù)庫(kù)性能、備份程序和腳本。循環(huán)備份的文件也會(huì)得到檢查,而且每一個(gè)預(yù)定的備份現(xiàn)在要三個(gè)人檢查才算完成。該社?;鹬行倪€執(zhí)行端到端的備份,并每季度保存一次,保證整個(gè)數(shù)據(jù)庫(kù)可以通過磁帶上保存的每季度的完全備份得到恢復(fù)。
  
     該社?;鹬行牡氖鹿蕩Ыo我們的經(jīng)驗(yàn)就是一定要保證備份/恢復(fù)的過程是有效的。沒有實(shí)時(shí)記錄一個(gè)重要的地址文件是該社?;鹬行膫浞莼謴?fù)失敗的關(guān)鍵,這樣的人為錯(cuò)誤而造成的數(shù)據(jù)損失比我們想象的更為普遍,雖然一般并沒有這么大的損失量。
  
     在意外刪除之后,人們使用備份、快照或其他方式來恢復(fù)數(shù)據(jù)的過程,就叫做數(shù)據(jù)恢復(fù)。然后我們通常就會(huì)發(fā)現(xiàn)備份、快照或檔案文件不起作用的情況,這就是向Ontrack這類恢復(fù)服務(wù)提供商尋求幫助的時(shí)候了,看看他們能不能幫你從服務(wù)器或者存儲(chǔ)陣列中恢復(fù)你想要的數(shù)據(jù)。
  
     此外,整個(gè)故事還包括一個(gè)隱藏的信息:如果只依賴于RAID鏡像,本地或遠(yuǎn)程復(fù)制/鏡像,如果在一個(gè)地點(diǎn)有什么文件被刪除了,另一個(gè)地方的也同樣會(huì)被刪除。所以如果你只依賴于復(fù)制和鏡像,那么至少要使用常規(guī)快照作為補(bǔ)充,另外,盡快把這些快照備份到別的介質(zhì)上去。
  
  

分享到

多易

相關(guān)推薦