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