本番サーバーが起動しないため(非常に重要なサーバー - Rhel 7.2)
リンクに応じてシングルユーザーモードでアクセスしようとしました。https://www.tecmint.com/boot-into-single-user-mode-in-centos-7/
VMconsole を使用してシングルユーザーモードの詳細を入力すると、Linux は次の場所で停止します。
本番サーバーを復元するには、このステップで何ができますか?
答え1
インストールメディアから起動し、そこから診断/修復してみてください。重要なことは何でもバックアップしてください!機械やシステムが損傷している可能性が高く、最初から移行または再インストールする必要があります。
答え2
GRUBブートメニューに複数のカーネルバージョンが含まれている場合は、以前のバージョンから起動してみてください。 (少なくとも常に現在のカーネルとオペレーティングシステムのインストーラで使用されているカーネルが必要です。後者のバージョン番号は0-rescue-<numbers>
。
古いカーネルが正常に起動すると、initramfsファイルが破損または欠落していることが問題になる可能性があります。/boot
たとえば、カーネル更新パッケージをインストールするときにファイルシステムにディスク容量が不足している場合が一般的です。
(各カーネルバージョンには独自のinitramfsファイルがあるため、最近の更新中に問題が発生した場合は、以前のカーネルとそのinitramfsが機能する可能性があります。)
システムが以前のカーネルで正しく実行されている場合は、次のコマンドを使用できます。
mkinitrd /boot/initramfs-3.10.0-327.el7.img 3.10.0-327.el7
新しいカーネルの initramfs ファイルを再作成します。
ただし、古いカーネルを使用した起動も失敗した場合は、他の問題がある可能性があります。この場合、インストールメディアからリカバリモードの起動を実行する必要があります。 VMwareの場合、これは仮想ハードウェアに仮想CD-ROMドライブが含まれていることを確認し、RHEL 7.xインストールメディア(好ましくは7.2以降)のISOイメージを仮想CDドライブに「挿入」し、VMに次のように指示する意味します。スタートアップをダウンロードしてください。
インストールメディアのGRUBブートメニューが表示されたら、「トラブルシューティング」を選択し、「RedHat Linuxシステムの修復」を選択します。インストーラは通常のインストールのようにロードされ、言語とキーボードの設定を要求しますが、それから回復モードに入ります。オペレーティングシステムのインストールに損傷が深刻でない場合は、インストールを修復するためにディスクを自動的にマウントします。その後、必要に応じて問題をさらに解決し、修正を適用するために使用できるルートコマンドプロンプトが表示されます。
/mnt/sysimage
リカバリブート環境では、通常のパス名を使用してアクセスできるように、実際のルートファイルシステムがにマウントされます(= / mnt / sysimageプレフィックスは必要ありません)。すべてchroot /mnt/sysimage
)、Rescueコマンドプロンプトに入る前に提案されているこのコマンドを使用できます。
このchroot /mnt/sysimage
コマンドを使用した後は、インストールされているオペレーティングシステムで利用可能なすべてのシェルコマンドを使用できます。たとえば、カーネルのinitramfsファイルが見つからない場合は、上記のコマンドを使用してそのファイルを再生成/boot
できます。mkinitrd
答え3
同様の問題がありましたが、最新のカーネルでは常にパニックが発生しましたが、古いカーネルはうまくいきました。幸運にもログインして何が起こっているのか確認できました。
開発者が「root」グループを「oot」に変更した後、/bootはID 1000(root)に属していません。 yum installを実行したときにカーネルを/bootに書き込めないというメッセージが表示され、これを知りました。シャドウファイルを手動で編集してchown -R操作を実行した後、新しいカーネルが期待どおりにインストールされました。
TLDR、システムファイルの権限を確認し、rootアカウント情報が破損していないことを確認してください。