Linuxインスタンス上の一部の重要なファイルがUnix形式でない場合、インスタンスに接続できない可能性があります。 インスタンスのヘルス診断機能を使用して、トラブルシューティングを実行できます。
始める前に
Linuxインスタンスは起動できず、インスタンスのヘルス診断機能によって診断されます。 診断レポートは、重要なシステムファイルが重要なシステムファイル形式チェックに失敗したことを示します。
このタスクについて
問題の説明: 重要なシステムファイルの一部がUnix形式ではないため、Linuxインスタンスに接続できません。
考えられる原因: 重要なシステムファイルがWindowsオペレーティングシステムで編集され、Linuxインスタンスにアップロードされたか、誤った操作が実行されました。
対応策
異常なインスタンスに接続します。
修復ディスクがインスタンスに接続され、仮想ネットワークコンソール (VNC) を使用してのみインスタンスに接続できます。 詳細については、「VNC を使用したインスタンスへの接続」をご参照ください。
インスタンスの元のシステムディスクのマウント情報を表示します。
インスタンスに一時的にアタッチされた修復ディスクでは、インスタンスの元のシステムディスクのファイルシステムが一時ディレクトリにマウントされます。 次のいずれかの方法を使用して、一時ディレクトリを表示できます。
一時ディレクトリのインスタンスの正常性診断レポートを確認します。 一時ディレクトリの例:
/tmp/ecs-offline-diagnose_disk-bp19bspzms79kqse ****修復ディスクでmountコマンドを実行して、一時ディレクトリを表示します。 たとえば、元のシステムディスクのデバイス名が /dev/vdaの場合、次のコマンドを実行します。
mount | grep /dev/vda次のコマンド出力が返されます。
/dev/vda1 on /tmp/ecs-offline-diagnose_disk-bp19bspzms79kqse **** type ext4 (rw,relatime)
ルートディレクトリを、インスタンスの元のシステムディスクが存在する一時ディレクトリに変更し、chroot環境に入るには、chrootコマンドを実行します。
構成ファイルを復元するには、元のシステムディスクが存在する一時ディレクトリに移動する必要があります。 たとえば、一時ディレクトリが /tmp/ecs-offline-diagnose_disk-bp19bspzms79kqse **** の場合、次のコマンドを実行します。
chroot /tmp/ecs-offline-diagnose_disk-bp19bspzms79kqse ****- chroot環境で、vimコマンドを実行して特定のファイルを編集します。 ファイルを編集する前に、次の項目に注意してください。
- cpコマンドを実行して、編集する重要なシステムファイルをバックアップします。
たとえば、インスタンスの元のシステムディスクに /etc/passwdファイルをバックアップするには、
cp /etc/passwd /etc/passwd.bakコマンドを実行します。 - 編集中のファイルはすべて、異常なインスタンスの元のシステムディスクにあります。 元のシステムディスクのマウントポイントの外側にあるファイルを編集する前に、exitコマンドを実行してchroot環境を終了する必要があります。
- chroot環境にいるため、コマンドに /tmp/ecs-offline-diagnose_disk-bp19bspzms79kqse **** パスを追加する必要はありません。
たとえば、元のシステムディスクにある /etc/passwdファイルを編集するには、/tmp/ecs-offline-diagnose_disk-bp19bspzms79kqse **** パスを含まないvim /etc/passwdコマンドを実行します。
vim [$ファイル][$File] は、Unix形式でないファイルの名前を指定します。 この例では、/etc/passwdファイルが使用されています。 次のコマンドを実行して、このファイルを編集します。vim /etc/passwd - cpコマンドを実行して、編集する重要なシステムファイルをバックアップします。
- ファイルの形式をUnixに変更します。
- フォーマットをUnixに変更する各ファイルで、Shift +: を押し、次の図に示すように
set ffをunixに設定し、Enterキーを押します。
- Shift + を押して
wqと入力し、enterキーを押してファイルを保存して閉じます。
- フォーマットをUnixに変更する各ファイルで、Shift +: を押し、次の図に示すように
ファイルが復元されたら、chroot環境を終了し、異常なインスタンスの状態を確認します。
exitコマンドを実行して、chroot環境を終了します。
ECSコンソールの [トラブルシューティング] ページに移動します。 [インスタンスの正常性診断] タブで、インスタンスから修復ディスクをデタッチし、インスタンスを起動します。
インスタンスに接続し、インスタンスに接続していることを確認します。