Linux OSが起動しないときのトラブルシューティングについて (ASM編)
本記事では Linux OS が起動しなくなったときのトラブルシュートの方法について、ご案内いたします。以下のような状況が発生しますと、お客様の Linux OS が起動できず、 SSH での接続もできなくなります。
例1 ) fstab の設定変更に失敗してしまって、存在しない UUID を指定し再起動した場合
例 2 ) Kernel Panic が発生し、起動ができない
このような時にAzure 上でトラブルシュートをする方法について、ご案内いたします。
新ポータル (https://portal.azure.com/) では Linux 仮想マシンでコンソール出力を確認することが可能でございますので、後述 [ご参考:コンソール出力について] もあわせてご参照ください。
概要
既存の問題の発生していない仮想マシンに、事象の発生した仮想マシンのディスクをつなぐという方法です。問題の発生していない仮想マシンは新規に作成いただいた仮想マシンで問題ありません。
手順
今回、troubleVM という仮想マシンの OS ディスクが破損し、KernelPanic が起こっていると仮定します。この troubleVM のディスクを SafeVM に接続し、ログファイルを確認してみましょう。(ここでは OracleLinux 6.4.0.0 を利用しています。) なお、後の手順では troubleVM で利用している OS ディスクをデータディスクとして SafeVM にアタッチします。アタッチする際には、同じデータセンタにあるディスクのみがリストに表示されますので、SafeVM は troubleVM と同じデータセンタにあるものを使用してください。
1. 左メニュー [仮想マシン] を選択し、仮想マシンの一覧を表示します。仮想マシン troubleVM を選択します。
2. 画面が遷移しますので、上部メニュー [ダッシュボード] を選択ください。
画面中ほどに [ディスク] の一覧がございます。念のため、 [ディスク] 列と [VHD] 列の値をメモしておいてください。
[ディスク]:ディスクの名称
[VHD]:仮想マシンの OS (データ) ディスク (`.vhd) の保存先 URL
3. [ダッシュボード] の下部メニュー [削除] -> [削除されたディスクの保持] を選択し、仮想マシンを削除します。
※削除時には必ず 「接続されたディスクの保持」を選択してください。誤って削除した場合には復元不可能となります。
4. 以下のメッセージが表示されますので、 [はい] を選択し、削除を進めてください。
5. 削除が完了しましたら、左メニュー [仮想マシン] を選択し、仮想マシンの一覧を再度表示します。仮想マシン SafeVM を選択します。
6. 画面が遷移しますので、上部メニュー [ダッシュボード] を選択ください。
7. [ダッシュボード] の下部メニュー [ディスクの接続] -> [ディスクの接続] を押下してください。
8. [ディスクを仮想マシンに接続します] の画面が表示されます。利用可能なディスクで 2 でメモしたディスクの名称を選択してください。
9. 仮想マシン SafeVM に 仮想マシン troubleVM のディスクが接続されました。仮想マシン SafeVM に SSH で接続してください。
10. fdisk にて接続されているディスクを確認すると、troubleVM のディスクが接続されていることがわかります。
11. 仮想マシン troubleVM のデバイスパスを任意のディレクトリにマウントしてください。
(ここでは troubleVM の sda1 : SafeVM 接続後の sdc1 を /troubleVM/sda1 にマウントしています。)
上記手順実施後、troubleVM のログを確認し、問題の特定等実施ください。
※ファイルシステムの破損等の場合には、上記手順を実施しても、ログの確認ができないことがございます。その場合、fsck を実施しログの確認ができるかご確認ください。
ご参考:コンソール出力について
新ポータル (https://portal.azure.com/) では、コンソール画面を確認することが可能です。コンソール出力を有効にするには、[起動の診断] 機能の有効化が必要となります。
1. 新ポータル (https://portal.azure.com/) にアクセスします。
2. 左メニューから [仮想マシン] を選択します。
3. 仮想マシンの一覧のタイルが表示されますので、コンソール出力を有効化したい仮想マシンを選択してください。
4. 仮想マシンの詳細タイルで [すべての設定] を選択、[設定] タイルの [診断] を選択してください。
5. [状態] を [オン] にし、 [起動の診断] にチェックをいれ、タイル上部の [保存] を押下してください。
6. 仮想マシンの設定タイルで [起動の診断] を選択します。
7. [起動の診断] タイルでコンソール出力が表示されます。
また、タイル上部の [ログ] [スクリーンショット] からコンソールログならびに仮想マシンの現在のスクリーンショットの bmp をダウンロードできます。
コンソールログと仮想マシンのスクリーンショットは現在仮想マシンがどのような状態なのかを知るのに非常に有用な情報となりますので、ぜひご活用ください。
また、今回ご案内した手法は Windows OS の場合でもご利用いただくことが可能な方法でございますので、トラブルシュートの際の一つの方法として、皆様のお役に立ちましたら幸いです。
参考情報
今回、下記ドキュメントや blog を参考に、本記事を記載いたしました。皆様のご参考になりましたら幸いです。
- Boot Diagnostics for Virtual Machines v2
https://azure.microsoft.com/ja-jp/blog/boot-diagnostics-for-virtual-machines-v2/
----
Microsoft Azure サポート チーム