ハードパワーダウンによって SMF のどの部分が壊れる可能性がありますか?

ハードパワーダウンによって SMF のどの部分が壊れる可能性がありますか?

私の顧客サイトの 1 つで、現地の担当者がローカルの Solaris 10 x86 サーバーをシャットダウンし、電源入力を抜いて移動したところ、正常に起動しなくなりました。起動すると、ログインできるプロンプトが表示されます。これは、シングル ユーザーのマイルストーン (または同等のもの) のようです。

調べてみると、SMF がシステムのマルチユーザー化を許可していないように思います。SMF は autofs で大量のエラーを生成していましたが、少しいじってみたところ、inetd と nfs/client でエラーを生成するようになりました。このことから、SMF 状態ファイルまたはデータベースに問題があり、修正/削除/再作成などが必要であることがわかりますが、実際の問題が何なのかはわかりません。

「エラーを生成する」とは、コンソールに「メソッドまたはサービスの終了がタイムアウトしました。コントラクト <#> を強制終了します。」というメッセージが毎秒表示されることを意味します。これにより、コンピューターの操作が困難になります。

svcs –xv を実行すると、サービスが「有効」、状態が「無効」、理由が「開始メソッドが実行中」と表示されます。サービスに対して svcadm を実行しても、サービスがメンテナンス状態ではないことを確認する以外、何も起こりません。

/lib/svc/log/$SERVICE のログを見ると、このループが 1 秒に 1 回発生していることがわかります。/etc/svc/volatile/$SERVICE のログを見ると、起動時にサービスの開始が試行され、すぐに停止し、それ以上のエントリがないことがわかります。system-log は autofs に依存しているため、syslog も dmesg もないため、system-log は起動していないことに注意してください。

これらの用語をすべて Google で検索すると、autofs、nfs/client、inetd、rpc/gss のいずれかをデバッグ/修正する方法がわかります (これらは、SMF が nfs/client の「起動」を阻止するための言い訳として使用していた依存関係で、rpc/gss が「未定義」であると主張していましたが、これはすべて以前は機能していたため正しくありません。inetadm で再度有効にしましたが、inetd はまだ適切に起動しません)。ただし、問題は個々のサービスではなく、SMF 全般にあると思います。

「manifest_import」に restore_repository を実行しても、状況は改善されず、検出可能な変化も起こりません。前回のブートが役に立たなかったため、ブート バックアップを使用しませんでした。

貴重なデータ ディレクトリは別のファイル システム (fsck でクリーンなのでそのまま) にあるため、/ パーティションに Solaris 10 を再インストールするだけでよいと顧客に伝えました。しかし、これはこの問題に対する非常に Windows 風の解決策のように思えます。

それで、どの部分が壊れていて、どのように修理すればよいか、何かアイデアはありますか?

アップデート1: このシステムには、/ と /export の 2 つのファイル システムがあることを述べておくべきでしょう。どちらも fsck によってクリーンアップされ、適切にマウントされます。

答え1

このような問題の一般的な根本原因は、ファイルシステムの破損が原因でファイルシステムをマウントする際に発生する問題です。これは、特にローカルの場合には非常に稀なことですが、お客様は、ufs ログを無効にして (これにより、突然の電源オフによるファイルシステムの破損のほとんどを回避できます)、ZFS を使用しない (設計上、破損することはありません) ことで、確率を高くしませんでした。

/boot/grub/menu.lst を編集することで、詳細な smf 起動を有効にすることができます。正確な方法は Solaris のバージョンと更新によって異なりますが、通常はカーネルをロードする行でconsole=graphicsを に置き換えることで実行されます。console=text -v -m verbose

シングルユーザーモードで起動する場合は、 を使用しますconsole=text -v -m verbose,milestone=single-user

smfデバッグモードを有効にするには、console=text -v -m debug

これらのオプションを一時的に設定するには、GRUB 編集モードを使用できることに注意してください。

関連情報