LinuxユーザーがイジるはじめてのAzure

LinuxユーザーがMicrosoft Azureを使いこなせるように応援するブログです

【お試し】Azureのシリアルコンソールをいじる

ども。おもしろいものが出てきたので更新しましょうかね。

 

Linuxユーザーにとってうれしい機能がAzureで出てきました。

Serial Console(シリアルコンソール)です。

 

まだPublic PreviewですのでSLAなどついていませんが(つくのか!?)

技術的に使えそうなのか試してみましょー。

 

といっても、シリアルコンソールは普段から接続して操作するものではない

ですよね。トラブルシューティングをたくさんやっているエンジニアから

すると、むしろ触れたくない(笑)機能かもしれません。

 

なぜなら利用シーンの多くは、「OSにログインできなくなった、どうしよう」

だからですね。自分も何度も経験があります。むかーしのように物理装置の

前にいってダム端をシリアルポートに繋いで、、、とか今のクラウド時代に

できないですから、困っちゃいますよね。

 

じゃぁ、なぜOSにログインできなくなったのか、大抵3つのケースが

多いでしょう。

 

1)SSHキーなくしちゃった、てへぺろ

2)/etc/fstabの記載間違えてリブートかけたら上がらなくなっちゃった、後悔系

3)原因不明で、VMが起動してこなくなり日が暮れちまう、パルプンテ

 

1)のてへぺろ系については、Azureポータルの「パスワードのリセット」から

SSH公開キーのリセット操作ができますので、そこで解決します。なので

わざわざシリアルコンソールから接続して/home/${USER}/.ssh/authorized_key

を直接vimで編集しなくても解決します。

 

1)以外のシチュエーションで使えそうか早速触ってみましょ。

 

最初にVM(起動中)をAzureポータルからイジってみました。

f:id:akazure:20180330155330j:plain

 

なんだか「ブート診断」をEnableにしろ、というエラーが出てますね。

ということで同じ左ペインにある「ブート診断」をONにして保存しましょう。

 

f:id:akazure:20180330155620j:plain

f:id:akazure:20180330155636j:plain

 

ブート診断の設定が完了したらもう一度シリアルコンソール(プレビュー)を

覗きます。

f:id:akazure:20180330155946j:plain

 

んふーー!

ステキですね、コンソール画面が出てきました。

ここで「あ、、、」っと思った方は即実行に移しましょう。

そうです、rootのパスワードは必ずLinux VM作成時に設定しておきましょうね。

後で困るのはご自分ですから。

 

マウント状態を見てみます。

f:id:akazure:20180330160840j:plain

 

シスボルはrwになっていますね。

このままだと面白くないので、ちょっと意地悪して強制的にEmergency Mode

にしてみましょうかね。

 

画像は割愛しますが、やったことは以下です。

 

1、該当のCentOSVMに1TBのデータディスクをAzureポータルからアタッチ

2、CentOS内で該当のパーティションをフォーマットしファイルシステム作成

3、/etc/fstabに記載してmount(/adddisk)し、該当領域にrwできることを確認済

4、この状態でAzureポータルから該当のディスクをホットデタッチ!

5、デタッチが終わったらAzureポータルからVM再起動を実施!

 

f:id:akazure:20180330171032j:plain

 

はい、SSHでログインしようとしても接続できなくなりました。

Azureポータル上では「実行中」のステータスのままです。

このままずっと待ってても立ち上がってこないので、シリアルコンソールで

覗いてみましょう。

f:id:akazure:20180330171141j:plain

 

はい、期待通りEmergency Modeになって、/adddiskのファイルシステム

読み込みに失敗しているエラーが出て止まってますね。

rootのパスワードを入力してログインし、vimで/etc/fstabに記載した

デタッチ済の行をコメントアウト。最後に再起動。

 

f:id:akazure:20180330171429j:plain

 

kernelからinitプロセスの起動からデバイスの確認からメッセージが大量に

流れてきますが、正常に起動したようです。

 

f:id:akazure:20180330171608j:plain

 

最後にSSHログインをターミナルから試みました。

 

f:id:akazure:20180330171732j:plain

 

ちゃんと繋がりましたね!

ということで、OS内の設定をやらかしてしまった時の後悔系については

シリアルコンソールから対処が可能(rootのパスワード設定忘れずに)

ということがわかりました。

 

他にもAzureの裏側でIn-place VM migrationが起きた時にシリアル

コンソールから何かメッセージが見えるか、とか気になる点も多い

と思いますが、任意に再現できるものではないので、何かわかったら

また記事にでもしましょうかね。

※Hyper visorより上位からなのでメッセージどころか単純にフリーズ

 している状態な気もしていますががが。