微軟認(rèn)證輔導(dǎo):一次難忘的系統(tǒng)拯救經(jīng)歷

字號(hào):

2009年2月14日那天,一臺(tái)運(yùn)行著關(guān)鍵業(yè)務(wù)的服務(wù)器發(fā)生異常,具體表現(xiàn)在 Remote Desktop 登錄后操作相應(yīng)特別慢,使用任務(wù)管理器實(shí)時(shí)觀察,CPU 及內(nèi)存占用都沒有異常,網(wǎng)絡(luò)資源占用也與往常一樣穩(wěn)定。之后遠(yuǎn)程登錄意外中斷,再次連接時(shí)均告失敗。使用 ping 進(jìn)行檢測(cè)結(jié)果正常!立刻啟動(dòng)應(yīng)急方案,讓機(jī)房人員使用檢查帳號(hào)從本地登錄系統(tǒng),等待10多分鐘后服務(wù)器可以重新訪問了,但是工作人員告知硬盤用異常錯(cuò)誤。打開事件查看器,確認(rèn) HardDisk0 發(fā)現(xiàn)大量的壞塊。My God!因?yàn)橼s上星期六,只能請(qǐng)示上級(jí)抽調(diào)人手從硬件商那里調(diào)新硬盤送往機(jī)房更換,從下午4時(shí)左右開始關(guān)注一直到6時(shí)40分,機(jī)房處理的進(jìn)度特別的慢,不能否認(rèn)他們一些人真的缺乏專業(yè)的運(yùn)維知識(shí)和技術(shù)。初步計(jì)劃是讓機(jī)房人員掛接新硬盤并執(zhí)行軟RAID1,將故障硬盤同步到新硬盤上,之后斷開鏡像。這是一種非常保守也非常高效的一種做法。
    交待了工作內(nèi)容后,才趕忙下班回家,畢竟今天是情人節(jié)!結(jié)果很讓人失望,機(jī)房人員無(wú)法按照我交待的正確有效地進(jìn)行處理故障(PS:最后趕往現(xiàn)場(chǎng)發(fā)現(xiàn)軟RAID1根本沒有正確執(zhí)行),在第二天早晨我聯(lián)系上了值班人員被告知服務(wù)器無(wú)法加電,可能內(nèi)存也出現(xiàn)了故障,這意味著的一天休息日泡湯了!無(wú)奈,匆匆趕往機(jī)房。
    到了機(jī)房首先對(duì)內(nèi)存作了檢查和測(cè)試,確實(shí)不穩(wěn)定,最后的折中解決方法是取消雙通道的組合,而改為常規(guī)的排列方式,到現(xiàn)在為止運(yùn)行穩(wěn)定。最終要的就是運(yùn)營(yíng)系統(tǒng)如何遷移到新硬盤!?對(duì)該系統(tǒng)作了簡(jiǎn)單的評(píng)估,舊硬盤上的系統(tǒng)運(yùn)營(yíng)多年,而且包含很多連續(xù)的后續(xù)配置(富含了應(yīng)用、目錄安全、帳戶安全、數(shù)據(jù)狀態(tài)等等),如果新裝系統(tǒng)必然存在諸多未知問題。所以的方案就是有效的將整個(gè)硬盤數(shù)據(jù)遷移至新硬盤。由于舊硬盤包含大量的壞塊,而且兩塊硬盤的容量不同,那么使用 Ghost 不是明智的選擇??紤]再三決定使用這些工具來(lái)處理此次事故 Windows PE 2.0 中的 imagex 工具;Ntbackup;xcopy。這里之所以不再使用軟RAID1 進(jìn)行磁盤數(shù)據(jù)的同步實(shí)屬無(wú)奈,因?yàn)榕f硬盤非常不穩(wěn)定,轉(zhuǎn)換成動(dòng)態(tài)磁盤后總是被標(biāo)記為危險(xiǎn)狀態(tài),那么同步數(shù)據(jù)必將失敗,而且我也付出了慘痛的代價(jià),耗費(fèi)了很多寶貴的時(shí)間。
    首先將新硬盤掛載到服務(wù)器上,從 Windows PE 2.0 引導(dǎo),然后使用 diskpart 對(duì)新硬盤分區(qū)并格式化,為了確保舊硬盤上的分區(qū)及數(shù)據(jù)索引正確,又適用 Chkdsk /F 作了分區(qū)檢查,最后使用 imagex 工具成功地對(duì)系統(tǒng)分區(qū)(C:)及備份管理分區(qū)(E:)作了映像,并保存在新磁盤的第二個(gè)分區(qū)上。很遺憾,還是因?yàn)閴膲K問題,imagex 無(wú)法跳過已經(jīng)損壞的數(shù)據(jù)塊,所以未能完成對(duì)應(yīng)用數(shù)據(jù)分區(qū)(D:)的映像制作,所以我需要采取其他的處理手段。為此重新啟動(dòng)服務(wù)器,從舊硬盤引導(dǎo)系統(tǒng),進(jìn)入系統(tǒng)后關(guān)閉所有相關(guān)的服務(wù)及應(yīng)用程序。復(fù)查 D: 分區(qū)上的數(shù)據(jù)分布,回憶之前操作失敗點(diǎn)的位置,使用 Ntbackup 對(duì)可能沒有壞塊并且數(shù)據(jù)量少的目錄進(jìn)行了備份,這樣不僅快速,而且更加安全,相關(guān)的目錄權(quán)限也能完好的被備份下來(lái)。另外使用 xcopy /s /e /c /o 拷貝了一個(gè)包含數(shù)據(jù)的業(yè)務(wù)應(yīng)用目錄,因?yàn)閿?shù)據(jù)量相對(duì)比較大,使用 Ntbackup 備份和恢復(fù)需要用掉很多時(shí)間,況且該目錄的目錄權(quán)限相對(duì)簡(jiǎn)單。這一階段很順利的完成了!
    至此,就剩下兩個(gè)最為關(guān)鍵的數(shù)據(jù)目錄。其中一個(gè)目錄涉及到復(fù)雜的目錄權(quán)限配置,所以使用一個(gè)月前的備份進(jìn)行了數(shù)據(jù)恢復(fù),之后再用 xcopy 進(jìn)行新數(shù)據(jù)的覆蓋,因?yàn)槭褂昧?/c 參數(shù),所以即使遇到數(shù)據(jù)壞塊依然可以跳過,而且這個(gè)目錄中的數(shù)據(jù)更新相對(duì)較少,故整體來(lái)說使用再覆蓋方式,損失幾乎很小很??!另外一個(gè)目錄因?yàn)闆]有備份,只能使用 xcopy 加參數(shù)進(jìn)行拷貝,這個(gè)目錄除了數(shù)據(jù)量大,作了較為復(fù)雜的目錄權(quán)限外,其他沒什么特別,由于業(yè)務(wù)系統(tǒng)的必然性設(shè)計(jì),會(huì)存在很多重復(fù)數(shù)據(jù),所以即使因?yàn)閴膲K問題導(dǎo)致數(shù)據(jù)拷貝不完全也不會(huì)造成太大的損失。
    這些數(shù)據(jù)恢復(fù)完畢后,關(guān)閉服務(wù)器,拔掉舊硬盤,重新啟動(dòng)服務(wù)器調(diào)整 BIOS,引導(dǎo)至 Windows PE 2.0,使用 imagex 將之前的映像釋放到新硬盤的對(duì)應(yīng)分區(qū)中。這里尤為要提到一點(diǎn),我曾在網(wǎng)上看到有網(wǎng)友說:“imagex 無(wú)法將動(dòng)態(tài)磁盤的映像恢復(fù)到基本磁盤上……”這一說法是完全錯(cuò)誤的。imagex 是基于文件方式進(jìn)行操作的,所以我只需要在恢復(fù)該備份后修改 boot.ini 文件即可! 重新啟動(dòng)新硬盤工作正常,重新識(shí)別了硬盤,盤符也與原先的相同。
    最后,關(guān)閉服務(wù)器重新掛接舊硬盤,并從新硬盤引導(dǎo),確認(rèn)舊硬盤的卷未被分配盤符,并執(zhí)行各項(xiàng)應(yīng)用服務(wù)的檢查確定沒有問題后收工!
    從早上9點(diǎn)多一直搞到晚上快8點(diǎn),沒喝一口水,沒吃一口飯(PS:早上出門真應(yīng)該吃飯了?。┛偹阃瓿闪苏w的遷移。效果令人滿意!其中走了不少冤枉路,之所以拿出來(lái)分享也是希望大家遇到類似問題時(shí)能夠有效、連續(xù)、準(zhǔn)確地解決故障問題。