CenterからゲストOSが起動できない。vCenterにログインできない。
vCenterにアクセス出来なくなると「かなり焦ります」。マジで冷や汗たらたらです。こんな経験はもうしたくないので同じ境遇に陥った際に参考にしてください。
この記事の内容はこちら
- ゲストOSが立ち上がらない
- ゲストOSの起動は簡単
- vCenterの原因調査と障害対応 その1
- vCenterの原因調査と障害対応 その2
- vCenterの原因調査と障害対応 その3
ゲストOSが立ち上がらない
VCSA 6.0(vCenter Server Appliance)からゲストOSを起動させようとすると、エラーが出力され起動できませんでした。
とりあえずの再起動で様子見を行おうとしたら、vCenterにログイン出来なくなりました。
ここからが壮絶な戦いが始まりです。
ゲストOSの起動は簡単
このエラーばvCenterから出されるエラーなので、ゲストOSが乗っている VMware ESX Serve に直接アクセスすればゲストOSを起動することが可能です。
ゲストOSは、起動さえすればvCenterが動かなくても影響を受けませんので安心してください。ダウンタイムを減らすため、接続先を切り換えてゲストOSをすばやく起動させてください。
vCenterの原因調査と障害対応 その1
- ログ採取(vc-support)をブラウザから試みる
- ログ解析の結果、ディスクが枯渇していた
- “/storage/log”への対応
- “/”への対応
過去にもVMwar環境でトラブルが何度か起こりましたが、vCenterにはログイン出来たのでGUIで状態の確認から対応まで色々と行うことが出来ました。
今回はログインができないのでログ採取するできないので大変でした。
ログ採取(vc-support)をブラウザから試みる
ログは、Client、ブラウザ、CUI経由から取得が可能です。
今回は vSphere Client にアクセス出来ないので、Webブラウザから試みます
https://<vCenter Server Appliance>:443/appliance/support-bundle
無事に画面が表示されました。ログインが出来ればログを取得することが出来ます。
ログ解析の結果、ディスクが枯渇していた
vCenter Server Appliance の “/” と “/storage/log” が100%で容量が枯渇していました。
原因はこの2ヵ所のようです。
ファイルを削除するにはSSHを利用してコマンドラインから実行する必要があります。
コマンドラインからShellを実行するための手順はこちら
関連記事
vCenterにSSHでログインしてもシェルが起動できない
vCenterにSSHでログインしてもシェルが起動できない。 この疑問に回答します。 vCenterのシェルが起動できない コマンドを実行できないと何もできない。 VCSA 6.0(vCenter Server Appliance)の復旧手...
“/storage/log”への対応
“/storage/log”はディレクトリ名からログが増えている事が簡単に想像できます。
/storage/log/vmware/cloudvm/cloudvm-ram-size.log の容量が1.8GBに肥大化していました。
このcloudvm-ram-size.logファイルはログローテーションの構成が行われていないため、ローテーションされずに肥大化するようです。
cloudvm-ram-size.log ファイルのログ ローテーションが機能しない (2149154)
関連情報
別のログファイルが肥大する場合もあります。
vCenter Server Appliance の /storage/log ディレクトリがいっぱいになる (2143565)
“/”への対応
何でしょうか “/” が一杯になっても動くOSって凄いよな~。
とりあえず、原因のファイルを探します。
duコマンドの結果、
/var/log/audit/audit.logファイルが5GB近くに肥大化して”/”領域を圧迫していました。
とりあえず、ファイルを削除してディスクに空きを作りOSの再起動を実施しました。
が~ん。まだ、GUIからログインできない
引き続き調査続行です。
vCenterの原因調査と障害対応 その2
Inventory Serviceサービスへの対応
また、ログ採取(vc-support)です。調査の結果、VMware Inventory Service が起動できなくなっていました。
Inventory Serviceサービスへの対応
パスワードの不一致が発生し、Inventory Serviceサービスが起動できない状態になっているようです。
vCenter Server 6.x で Inventory Service を開始すると「無効な認証情報 LDAP エラー 49(invalid credentials LDAP Error 49)」エラーが発生する (2151342)
無事に、vCenter へログイン出来るようになりましたが!まだ終わりではありません。なぜ audit.log が肥大したのでしょうか?
ログローテーション設定があるのにローテーションされていない
引き続き調査続行です。
vCenterの原因調査と障害対応 その3
cronへの対応
cron実行時に認証に失敗しているため、 rootユーザのパスワードの有効期限が切れ、cronが実行できずにログローテーションができていないようです。
cronへの対応
有効期限を確認しようとしたところ何故かパスワード変更を求められます。やはり、有効期限切れが原因のようです。期限の確認を諦めてパスワードを変更しようとしたら、複雑性を非常に厳しく求められました。よって、chage からパスワードを変更は実施せず、password コマンドから変更を行いました。
※パスワードは世代管理されています。5世代前まで同じものは使えませんのでご注意ください
無事にGUIからログイン出来るようになりました。
ふぅ~。疲れました。
まとめ
今回の不具合の原因は3つありました。一つ一つ解決することで無事に復旧することができました。
- ディスクの空き容量が無くなった
- サービスが利用するアカウント情報に不整合が発生した
- ログのローテーションが実行されていない
以上、「vCenterからゲストOSが起動できなくなり、最終的にvCenterにログインできなくなる」という記事でした。