SMF 的哪一部分可能因硬斷電而損壞?

SMF 的哪一部分可能因硬斷電而損壞?

在我的一個客戶站點,當地人員關閉了本地 Solaris 10 x86 伺服器,拔掉了電源輸入,移動了它,現在它無法正常啟動。它會啟動,然後顯示一個提示,讓您登入。

深入研究後,我認為 SMF 不允許系統進入多用戶狀態。 SMF 在 autofs 上產生了大量錯誤,經過一番操作後,我發現它在 inetd 和 nfs/client 上產生錯誤。這一切都告訴我問題出在某些需要修復/刪除/重新建立的 SMF 狀態檔案或資料庫中,但我不知道實際問題是什麼。

我所說的「生成錯誤」是指我每秒鐘都會在控制台上收到一條訊息,提示「方法或服務退出逾時。殺戮契約<#>。這使得與電腦互動變得困難。

運行 svcs –xv 顯示該服務為“已啟用”,狀態為“已停用”,原因為“啟動方法正在運行”。除了確認服務不處於維護狀態之外,在服務上使用 svcadm 不會執行任何操作。

/lib/svc/log/$SERVICE 中的日誌只是告訴您此循環每秒發生一次。 /etc/svc/volatile/$SERVICE 中的日誌確認在啟動時嘗試啟動該服務,然後立即停止,沒有進一步的條目。請注意,系統日誌未啟動,因為系統日誌依賴 autofs,因此我沒有 syslog 或 dmesg。

谷歌搜尋所有這些術語最終告訴我如何調試/修復 autofs 或 nfs/client 或 inetd 或 rpc/gss (這是 SMF 用來作為阻止 nfs/client“啟動”的藉口的依賴項,它聲稱rpc/gss 是“未定義”,這是不正確的,因為我用inetadm 重新啟用了它,但inetd 仍然無法正常啟動)。但我認為問題在於整體的 SMF,而不是個別服務。

對「manifest_import」執行restore_repository 並不能改善甚至明顯改變這種情況。我沒有使用啟動備份,因為上次啟動沒有用。

我告訴客戶,由於有價值的資料目錄位於單獨的檔案系統上(fsck 很乾淨,所以它完好無損),我們只需在 / 分割區上重新安裝Solaris 10。但這似乎是一個非常類似 Windows 的解決方案來解決這個問題。

所以。你知道哪一塊壞了以及我如何修復它嗎?

更新1:我可能應該提到這個系統有兩個檔案系統,/和/export。 fsck 乾淨並正確安裝。

答案1

此類問題的常見根本原因是由於某些檔案系統損壞而掛載檔案系統時出現問題。這種情況變得相當罕見,尤其是對於本地用戶,但您的客戶並沒有通過禁用 ufs 日誌記錄(這可以避免突然斷電導致的大多數檔案系統損壞)和不使用 ZFS(這從一開始就不能被設計損壞)。

您可以透過編輯 /boot/grub/menu.lst 啟用詳細 smf 啟動。確切的方法取決於您的 Solaris 版本和更新,但通常,這是透過在載入核心的行中替換為 來完成console=graphicsconsole=text -v -m verbose

如果您想以單一使用者模式啟動,請使用console=text -v -m verbose,milestone=single-user.

若要啟用 smf 偵錯模式,請使用console=text -v -m debug

請注意,您可以使用 grub 編輯模式暫時設定這些選項。

相關內容