私の顧客サイトの1つで、地元の人が地元のSolaris 10 x86サーバーをシャットダウンし、電源入力を引いて移動しましたが、正しく起動しなくなりました。起動してから、ログインを可能にするプロンプトが表示されます。これは、シングルユーザーのマイルストーン(または同等のもの)のようです。
掘り下げてみると、SMFはシステムがマルチユーザーになることを許可していないと思います。 SMFはautofsで大量のエラーを生成していましたが、それをだましてから、代わりにinetdとnfs/clientでエラーを生成するようになりました。これはすべて、問題が修正/削除/再作成などが必要なSMF状態ファイルまたはデータベースにあることを示していますが、実際の問題が何であるかはわかりません。
「エラーの生成」とは、コンソールに「メソッドまたはサービスの終了がタイムアウトしました」というメッセージが毎秒表示されることを意味します。殺人契約<#>。」これにより、コンピューターとの対話が困難になります。
Svcs –xvを実行すると、サービスが「有効」として表示され、状態は「無効」で、理由は「Startメソッドが実行中です」です。サービスでsvcadmをだますことは、サービスがメンテナンス状態にないことを確認することを除いて、何もしません。
/ lib/svc/log/$ SERVICEにログインすると、このループが1秒に1回発生していることがわかります。/etc/svc/volatile/$ SERVICEにログインすると、起動時にサービスの開始が試行され、すぐに停止され、それ以上のエントリがないことが確認されます。 system-logはautofsに依存しているため、system-logが起動していないことに注意してください。syslogやdmesgはありません。
これらすべての用語をグーグルで検索すると、autofs、nfs/client、inetd、rpc/gssのいずれかをデバッグ/修正する方法がわかります(これは、SMFがnfs/clientの「開始」を防ぐための言い訳として使用していた依存関係でした。そのrpc/gssは「未定義」でしたが、これはすべて以前は機能していたため正しくありません。inetadmで再度有効にしましたが、inetdはまだ正しく起動しません)。しかし、問題はSMF全般であり、個々のサービスではないと思います。
「manifest_import」に対してrestore_repositoryを実行しても、状況を改善したり、検出可能に変更したりすることはできません。前回の起動が役に立たなかったため、起動バックアップを使用しませんでした。
貴重なデータディレクトリは別のファイルシステム上にあるため(fsckはクリーンでそのままなので)、/パーティションにsolaris10を再インストールするだけでよいとお客様に伝えました。しかし、それはこの問題を引き起こすためのひどく窓のような解決策のように思えます。
そう。どの部分が壊れているのか、どのように修正すればよいのか、何か考えはありますか?
アップデート1:このシステムには/と/ exportの2つのファイルシステムがあることをお伝えしておきます。 fsckの両方がクリーンで、正しくマウントされています。
このような問題の一般的な根本原因は、ファイルシステムの破損によるファイルシステムのマウント中の問題です。これは、特にローカルの場合、非常にまれになりつつありますが、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編集モードを使用してこれらのオプションを一時的に設定できることに注意してください。