レスキューモードによるLinuxシステムの起動失敗のトラブルシューティング
現象の説明
下図に示すように、Linuxシステムが再起動後に起動せず、多数のFAILED起動失敗の項目が情報に表示されています。
考えられる原因
binファイルやlibファイルなど、重要なシステムファイルの欠落が原因で起動に失敗することがあります。
解決方法
処理手順 を参照し、コンソールからインスタンスレスキューモードに入り、トラブルシューティングと修復を行います。 処理手順
1. レスキューモード開始前に、誤操作などによる影響を防止するため、インスタンスをバックアップすることを強くお勧めします。CBSでは スナップショットの作成 を介してバックアップでき、ローカルシステムディスクでは カスタムイメージの作成 を介してイメージをバックアップできます。 2. 下図に示すように、CVMコンソール にログインし、「インスタンス」ページで、インスタンスが配置されている行の右側のその他 > 運用保守と検査 > レスキューモードの開始を選択します。
3. 下図に示すように、ポップアップした「レスキューモードの開始」ウィンドウで、レスキューモード中にインスタンスにログインするためのパスワードを設定します。
4. レスキューモードの開始をクリックすると、インスタンスのステータスが「レスキューモードの開始」に変わります。下図のように、通常、この処理は数分以内に完了します。
レスキューモードが正常に開始された後、下図に示すように、インスタンスのステータスが赤いエクスクラメーションマーク付きの「レスキューモード」に変更します。
5. root
アカウントおよび ステップ3 で設定したパスワードを使用し、次の方式でインスタンスにログインします。 6. ここでは、VNC方式によるログインを例に取ります。ログインに成功したら、下記のコマンドを実行し、システムディスクのルートパーティションをマウントします。
説明:
レスキューモードでのインスタンスのシステムディスクデバイス名はvda、ルートパーティションはvda1で、デフォルトではマウントされていません。
実行が完了すると、下図のような結果が返されます。
7. マウントに成功したら、元のシステムルートパーティション内のデータを操作できるようになります。
mount -o bind
コマンドを使用して元のファイルシステムのサブディレクトリの一部をマウントし、かつchroot
コマンドを使用して指定のルートディレクトリでコマンドを実行することもできます。具体的な操作コマンドは次のとおりです。
mount -o bind /dev /mnt/vm1/dev
mount -o bind /dev/pts /mnt/vm1/dev/pts
mount -o bind /proc /mnt/vm1/proc
mount -o bind /run /mnt/vm1/run
mount -o bind /sys /mnt/vm1/sys
chroot /mnt/vm1 /bin/bash
chroot
コマンドを実行する場合。
エラー情報がなければ、cd /
コマンドで続行できます。
下図のようなエラー情報が表示された場合は、ルートディレクトリが正常に切り替えられていないので、cd /mnt/vm1
を実行してルートパーティションのデータを確認します。
8. 下図に示すように、このコマンドは、元のシステムルートパーティションの/usr/bin
ディレクトリにある、削除されたすべてのファイルを表示することができます。
9. この時点で、同じOSの正常なマシンを作成して以下のコマンドを実行し、正常なシステムの/usr/bin
ディレクトリにあるファイルを圧縮して異常なマシンへリモートでコピーすることができます。
正常なマシン:以下のコマンドを順次実行します。
cd /usr/bin/ && tar -zcvf bin.tar.gz *
scp bin.tar.gz root@異常インスタンスip:/mnt/vm1/usr/bin/
説明:
パブリックIPをお持ちの方はパブリックネットワーク経由でコピーできますが、パブリックIPをお持ちでない方は、プライベートネットワーク経由でコピーする必要があります。
異常なマシン:レスキューモードでは、以下のコマンドが順次実行されます。
chroot /mnt/vm1 /bin/bash
実行結果は、下図のように示されます。
10. 下図に示すように、インスタンスの修復が完了したら、インスタンスが配置されている行右側のその他 > 運用保守と検査 > レスキューモードの終了を選択します。
11. レスキューモード終了後、インスタンスはシャットダウン状態になり、起動後にシステム検証が行われます。下図のようになった場合、システムはすでに復元されています。
この記事はお役に立ちましたか?