■ 貴州 郜榮杰
近日筆者在某系統(tǒng)上線測(cè)試過(guò)程中,發(fā)現(xiàn)頁(yè)面一直加載無(wú)法正常顯示,并發(fā)現(xiàn)主機(jī)內(nèi)存使用率高達(dá)99%,僅剩100MB內(nèi)存可以使用。為保證資源盡早釋放,決定重啟(renboot)主機(jī)。重啟后,發(fā)現(xiàn)原來(lái)附件數(shù)據(jù)盤(pán)沒(méi)有自動(dòng)掛載,通過(guò)手工掛載時(shí)出現(xiàn)如下錯(cuò)誤:
1.首先為預(yù)防數(shù)據(jù)丟失,將掛載失敗磁盤(pán)通過(guò)VMware vSphere Client進(jìn)行備份,保證修復(fù)失敗后數(shù)據(jù)丟失。
2.備份成功后對(duì)備份磁盤(pán)進(jìn)行恢復(fù)操作:
查看備份超級(jí)塊的位置。
修復(fù)壞數(shù)據(jù)塊:
[root@XXXXX ~]# fsck-t ext3 -b 163840 /dev/sdb5
按塊修復(fù)成功后,發(fā)現(xiàn)部分?jǐn)?shù)據(jù)恢復(fù),說(shuō)明修復(fù)磁盤(pán)有希望,開(kāi)始著手整盤(pán)修復(fù)。
[r o o t@XXXXX ~]#fsck -t ext3 /dev/sdb5
截止3個(gè)小時(shí)修復(fù)命令還沒(méi)有完成,也沒(méi)有任何進(jìn)度條反映執(zhí)行的進(jìn)度。為更好地跟蹤命令執(zhí)行修復(fù)進(jìn)度,使用“Ctrl+C”中斷上述命令,使用如下指令:
[root@XXXXX ~]# fsck-t ext3 -C -y /dev/sdb5
3.歷時(shí)6個(gè)小時(shí)完成數(shù)據(jù)恢復(fù),恢復(fù)數(shù)據(jù)量為270GB。
通過(guò)比對(duì),恢復(fù)數(shù)據(jù)量與原來(lái)數(shù)字檔建系統(tǒng)附件數(shù)據(jù)量大小相符。
4.重新分配磁盤(pán),通過(guò)命令(scp -r /mnt root@主機(jī)IP:/)將恢復(fù)的數(shù)據(jù)導(dǎo)入到重新分配的磁盤(pán)中,啟動(dòng)應(yīng)用服務(wù)后系統(tǒng)正常。
文件系統(tǒng)損壞原因,一是非法關(guān)機(jī),二個(gè)是磁盤(pán)有環(huán)道,只能一個(gè)一個(gè)排除,先軟后硬,如果格式化后,還是有問(wèn)題,那原因多半就是硬件的問(wèn)題了。一般情況是由于非法關(guān)機(jī)引起的,重啟主機(jī)時(shí)使用了reboot命令,此命令可以快速關(guān)閉系統(tǒng),但如果還有其他用戶(程序用戶)在該系統(tǒng)上工作時(shí),就會(huì)引起數(shù)據(jù)的丟失。使用reboot命令的場(chǎng)合主要是在單用戶模式,其他模式建議使用init 6,shutdown -r now,防止因操作規(guī)范導(dǎo)致系統(tǒng)文件崩潰。
1.系統(tǒng)重啟時(shí)應(yīng)使用shutdown -r now命令,減少操作失誤。
2.加強(qiáng)系統(tǒng)文件備份管理,以防無(wú)法恢復(fù)造成損失。
3.流媒體服務(wù)對(duì)系統(tǒng)內(nèi)存占用高,應(yīng)將其獨(dú)立出來(lái)。
4.應(yīng)用系統(tǒng)主機(jī)應(yīng)該設(shè)立定時(shí)重啟機(jī)制,如1個(gè)月重啟一下,在重啟之前先做備份。