Linux OS が起動しない時のトラブル シューティングについて (ARM編)

Junko Inui

最終更新日:2017/4/27 画面差し替え

こんにちは。Microsoft Azure テクニカル サポートの乾です。

今回は、Microsoft Azure 上で Linux OS が起動しなくなってしまった場合のトラブル シューティング についてご紹介します。なお、本記事はリソース マネージャー デプロイ モデルを対象しており、クラシック デプロイ モデルの仮想マシンの場合は、Linux OSが起動しないときのトラブルシューティングについて (ASM編) をご参照ください。

※本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。

利用シーン


以下のような原因で Linux OS が正常に起動しなくなり、Microsoft Azure 上で仮想マシンの復旧が必要となった場合に、本トラブルシューティングの手順をご活用いただくことが可能です。

 

 

概要


問題が発生している仮想マシンの VHD ファイルを他の仮想マシンのデータ デ ィスクとして接続することで復旧が可能です。データ ディスクとして接続するために、いったん仮想マシンを VHD ファイルを保持したまま削除する手順が必要となります。

  1. 対象の仮想マシンを VHD ファイルを保持したまま削除します
  2. 他の仮想マシンに VHD ファイルをデータディスクとして接続します
  3. データディスクをマウントして復旧作業を行います
  4. 2 の手順で設定したディスクの接続を解除します
  5. 復旧済みの VHD ファイルから仮想マシンを作成します

 

ご注意事項


仮想マシンをいったん削除する手順となるため、以下の点にご注意ください。

 

手順


  1. 対象の仮想マシンを VHD ファイルを保持したまま削除します

    1. Azure ポータルを開きます
    2. 左側のメニューより「Virtual Machines」をクリックします
    3. 仮想マシンの一覧より対象の仮想マシンをクリックします
    4. 「設定」メニューより「ディスク」をクリックします
    5. OS ディスクおよびデータ ディスクをクリックして、VHD ファイルの情報をメモします。osdisk
    6. 3 の直後の画面に戻り、画面上部の「削除」をクリックしますdelete
    7. 「仮想マシン ×× を削除しますか?」とメッセージが表示されますので「はい」をクリックします

 

  1. 他の仮想マシンに VHD ファイルをデータディスクとして接続します

    1. 上記 1 の 3 の仮想マシンの一覧が選択されている画面に戻ります
    2. 同じリージョンでご利用いただいている Linux の仮想マシン (※4) をクリックします(ない場合はお手数ですが、作成ください)
    3. 「設定」メニューより「ディスク」をクリックします
    4. 「データディスクの追加」をクリックしますadddatadisk
    5. 「ソースの種類」で「既存の BLOB」を選択し、「ソース BLOB」で上記 1 の 5 の手順でメモした VHD ファイルを選択しますdatadiisk
    6. 「OK」をクリックします
    7. 「データディスク」に選択した VHD ファイルが追加されていることを確認します

 

  1. データディスクをマウントして復旧作業を行います

    1. 上記 2 の 2 の手順で選択した仮想マシンに SSH 接続します
    2. 以下のコマンドを実行し、追加されたディスクの識別子 (※5) を確認します
      例) $ sudo grep SCSI /var/log/messages
      1. 追加したディスクをマウントするディレクトリを作成します
        例) $ sudo mkdir /datadrive
      2. 追加したディスクをマウントします
        例)$ sudo mount /dev/sdc1 /datadrive
      3. マウントポイント配下 (上記の例では/datadrive) にあるファイルを修正してトラブルシュートします
      4. 復旧作業が完了したらディスクをアンマウントします
        例)$ sudo umount /datadrive

     

    1. 2 の手順で設定したディスクの接続を解除します

      1. 上記 2 の 4 の画面に戻ります
      2. 「設定」メニューより「ディスク」をクリックします
      3. 「データ ディスク」の一覧より 2 の手順で接続したディスクをクリックします
      4. 「切断」をクリックしますdetach
      5. 「ディスク ×× を切断しますか?」とメッセージが表示されますので「はい」をクリックします
      6. 「データディスク」に切断した VHD ファイルが表示されなくなったことを確認します

     

    1. 復旧済みの VHD ファイルから仮想マシンを作成します

      1. IaaS v2 (ARM) で特殊化イメージの仮想マシンをテンプレートから作成する方法 の手順に沿って、作成してください。

     

    補足


     

    FAQ


    Q: この記事の手順に沿って、仮想マシンを削除した場合に、仮想マシンの OS ディスクならびにデータ ディスクとして利用している VHD も一緒に削除されますか?

    A: いいえ、仮想マシンを削除しても VHD は削除されません。ストレージアカウントに保存されている VHD から仮想マシンを再作成いただくことが可能です。

    Q: VHD から、可用性セットを構成した仮想マシンを作成したい場合は、どのようにすればよいでしょうか。

    A: リソース マネージャー (ARM) 環境で既存の VM を既存の可用性セットに追加する方法の手順をご参照ください。

    Q: 「3.データディスクをマウントして復旧作業を行います 」の 4 の手順でマウントする際に以下のようなエラーが発生しました。どのように対処すればよいでしょうか。

    [azureuser@vmname ~]$ sudo mount /dev/sdc1 /datadrive

    mount: wrong fs type, bad option, bad superblock on /dev/sdc1,

    missing codepage or helper program, or other error

    In some cases useful info is found in syslog - try

    dmesg | tail or so.

    dmesg | tail の結果

    [ XXXX.XXXXXX] XFS (sdc1): Filesystem has duplicate UUID XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX - can't mount

    A:復旧対象の仮想マシンと復旧作業を行う仮想マシンが同じイメージから作成されている場合、まれにこのようなエラーが発生します。異なるイメージから作成した仮想マシンからマウントいただき、エラーが解消するかお試しください。