スマートスタイル TECH BLOG

データベース&クラウド技術情報

【OCI】コンソール履歴を使用してトラブルシューティングに役立てる

はじめに

少し前になりますが、 8/4 にコンソール履歴という機能がリリースされました
この機能は、シリアル・コンソールによって取得されたOSレベルのエラー・メッセージが表示されるとのことで、インスタンスが起動しないなどの際のトラブルシューティングに利用できる機能となります

今回、Oracle Linux7 のインスタンスの /etc/fstab ファイルを不正な値に編集してしまった場合を想定し、実際の画面を用いて紹介させていただきたいと思います

1. OS上で認識しているディスク情報

/dev/sda デバイスが接続されており、/, /boot/efi, swap のパーティション構成、マウント状態となっています

2. /etc/fstab を編集する

今回は、エラーにするためが目的でありますので、マウントする全てのパーティションをコメントアウトしています

3. 再起動後にエラー表示

予想では起動エラーになる予定でしたが、OSは起動しログインまですることが可能でした
しかし、何かしらのコマンドを実行しようとすると、上記のメッセージがターミナルに表示され、ファイルシステムがリードオンリーになっていることが読み取れます

4. dmesg を確認してみる

dmesg コマンドでは、 sda1, sda2, sda3 がそれぞれ認識し、マウントも行えているようです

5. コンソール履歴を確認してみる

OCI のコンソールから、インスタンス詳細を確認すると、左下のリソースメニューに コンソール履歴 が追加されています

こちらの、現在の履歴を表示 ボタンをクリックすると、クリックした時点のシリアル・コンソールに出力されている OS レベルのエラーメッセージが表示されます

コンソール履歴を確認したところ、 tmpfiles-setup.service の開始に失敗しているようです

おそらく、このサービスの開始に失敗しているため、 cannot create temp file for here-document: Read-only file system というメッセージの出力につながっているのではないかと推測できます

まとめ

このように、OS レベルのエラーメッセージを手軽に確認することができます
また、コンソール履歴は過去のコンソール出力を保存しておくこともできますので、正常に起動したときのコンソール情報を保存しておき、何かしら異常があった際に差分比較する等の使い方も可能です

もし、OS 作業を伴ったトラブルシューティングを行いたい場合は、従来のインスタンス・コンソール接続を使用したインスタンスのトラブルシューティングを実施していただくなど、使い分けを行っていただきたいと思います

Return Top