Linux故障處理(二)更改root密碼和修複檔案系統
一、遺忘root使用者的密碼
大多數時候Linux主機中具有root權限的使用者隻有一個,是以需要通過其他途徑來重設root賬号密碼。最簡單的途徑是在開機時通過修改GRUB引導參數進入單使用者模式,另一個途徑是使用系統CD光牒進入急救模式。
1、通過單使用者模式重設root賬戶的密碼
步驟如下
1)、重新啟動主機,在出現GRUB菜單時按“↑”、“↓”箭頭鍵取消倒計時,并定位到要進入的作業系統選擇項,按e鍵進入編輯模式。
2)、定位到以kernel開頭的一行并按e鍵,在行尾添加“single”的啟動參數,其中“single”也可以換成字母“s”或數字“1”,也可以表示進入到單使用者模式。
3)、輸完之後按Enter鍵确認,按b鍵将系統引導進入單使用者模式,直接進入Shell環境(不需要任何密碼驗證)。
4)、在單使用者模式的Shell環境中,可以執行“passwd ”指令重新設定root使用者的密碼。設定完畢重新啟動系統。
二、排除檔案系統類故障
1、修複檔案系統
當檔案系統的超級塊資料損壞時,Linux将無法識别該檔案系統,挂載時會出現“you must specify the filesystem type”的提示而不能正常使用。
例如,執行以下操作可以破壞/dev/sdb1檔案系統的超級塊資料庫,嘗試挂載時将不能成功。
對于通過/etc/fstab檔案自動挂載且設定了fsck參數(第6列的非0)的檔案系統,若超級塊出現錯誤,則Linux系統在啟動時會報錯,并提示“Give root password for maintenance”,
出現這種情況時,根據提示輸入root使用者密碼,即可進入到一個臨時的Shell環境,在這裡使用者可以對出現錯誤的檔案系統進行修複。修複完畢後執行“exit”指令即可退出并重新開機系統。
修複一般的檔案系統錯誤可以使用“fsck”指令進行,結合“-t”選項指定檔案系統類型,結合“-y”選項對發現的問題自動回答“yes”。
重新挂載時,即可成功挂載!
2、磁盤資源耗盡故障
當一個檔案系統的磁盤空間耗盡以後,将無法繼續在該分區中建立新的檔案資料,進而導緻故障的出現。例如執行“dd if=/dev/zero of=/somefile bs=1M count=999999”指令。當根分區磁盤空間不足而無法啟動進入Linux系統時,可以通過系統的安裝CD光牒進入急救模式,轉移或清理掉根分區中占用大量空間的檔案。
在每一個ext3檔案系統中,能夠使用的檔案數量(對應i節點數量)也是有限的。當一個檔案系統被格式化以後,其i節點數也即檔案數量就已經固定下來了。如果使用者在該分區中建立了巨量的細小檔案(耗盡i節點),将可能出現這種情況:雖然分區中仍然有大量的剩餘磁盤空間,但是卻無法再建立新的檔案。
模拟i節點耗盡故障
2.1)、建立一個約1G大小的EXT4檔案系統,挂載到/temp目錄下。使用“df –i”指令确認該檔案系統中i節點的使用情況。
2.2)、寫一個測試程式腳本,模拟i節點耗盡
可以看到i節點的數量已經占滿,再使用df –hT指令檢視一下磁盤空間。并且建立一個檔案檢視資訊。
2.3)、檢視結果
建立一個檔案提示裝置上沒有,這種情況一般就屬于i節點耗盡
2.4)、修複i節點耗盡故障
了解i節點故障的根結以後,問題就比較好解決了。隻需要找出分區中占用大量i節點的細小檔案,并進行轉移或者删除即可。對于許多使用者公用的檔案系統,建議為相關使用者設定磁盤配額限制(包括磁盤空間和檔案數量兩方面)。
3、檢測硬碟壞道
磁盤壞道分為邏輯壞道和實體壞道兩種,前者主要由于軟體操作不當造成,可以使用軟體修複;後者則是實體性損壞,隻能通過更改磁盤分區或扇區的占用位置來進行改善,排除掉包含有壞塊的磁盤空間。當磁盤出現以下現象時,磁盤裝置發出異常聲響。
■ 讀取磁盤中的資料時,磁盤裝置發出異常聲響。
■ 通路磁盤中的某個檔案時,反複讀取且出錯,提示檔案損壞。
■ 對于建立立的分區無法完成格式化。
■ 系統使用該磁盤時頻繁當機。
硬碟出現壞道後,如果不及時更換或進行技術處理,壞道就會越來越多,并可能造成頻繁當機和資料丢失的後果。是以必要時應該對磁盤進行定期檢測,檢查是否存在壞道。
在linux系統中,檢測磁盤的壞道情況可以使用badblocks指令進行,結合“-s”選項用于顯示進度資訊,“-v”選項用于顯示詳情。
在長期使用計算機的過程中,檔案系統和磁盤類的故障現象很難完全避免,對于此類故障的修複處理需要十分謹慎,如果操作不慎可能會加中資料破壞的程度。