障害でVDSから切断されたVCSAの復旧方法
この投稿は vExpert Advent Calendarの10日目です。
https://adventar.org/calendars/6689
本記事では以下の状況と、簡易な復旧方法について説明します。
環境
vCSAは自身が管理するvSphere Cluster上に存在する。
vCSAは自身が管理する vDSに接続される
vCSAが接続されるdvportgroupはEphemeralではない
該当のvCSA以外にvSphere Clusterを管理できる vCSA は存在しない
障害状況
vCSAは何らかの理由により、もともと存在していたESXiから、別のESXiに再登録されている。
vCSAはvDSから切断されてしまっている。
解説
上記の状況は、ESXiの障害などによって副次的に発生しうる状況です。もともと、vCSA は vDS に接続されていましたが、ESXi の障害などにより、いったん Guest OS から Shutdown され、Host Client を利用して別の ESXi に再登録したうえで起動しています。
この場合、もともとvCSAが接続されていたdvportは別の ESXi 上のポートであるため、起動時にvCSAはvNICを接続することができず、切断状態となります。
vCSAが切断状態になり、かつESXiのHost Clientからは仮想マシンをvDSに接続することができないため(Ephemeral Port を除く)、vCSAの復旧が困難となります。
この状況において有効な解決策としては事前に用意しておいたEphemeral Port を利用するか、もしくは一時的にVSSを作成して復旧する方法が一般的な方法です。
事前にEphemeral Port の準備がない場合には、VSSを作成することになりますが、Uplinkに空きがない場合は、Uplinkを付け替える必要があり、手順は複雑になります。
今回はVSSを利用しない簡易な復旧方法についてご紹介します。
簡易な復旧方法
完結に手順を示すと以下です。
- vNICが切断されているVCSAをShutdown
- vCSAが存在する ESXi を Maintenance Mode~Reboot
- vCSA を再度起動~vNICが接続状態であることを確認
上記に示した通り、ESXiをリブートするだけでvDSへの接続が可能になります。上記の復旧手順はvSphere 6.5/6.7/7.0 でその有効性を確認しています。
復旧手順についての説明
なぜこの方法でvNICの接続が復活するのかについて、理由を示した資料は確認できませんでした。詳細な理屈は不明ですが、切断されたvNICがESXi再起動によって接続可能になるようです。
ただし、この方法は万能ではありません。以下の弱点があります。
- 切断状況によっては効果を発揮しない
- ESXiを再起動しなくてはならないため、vCSA以外のVMがいた場合は、そのVMも停止しなくてはならない
- すでにESXiの一つが障害である場合、追加でもう一つのESXiをMM~Rebootすることは難しい場合がある
以上の通り、実際の利用はあまり現実的ではないかもしれませんが、もし該当 ESXi の再起動が可能な状況である場合は、より簡単に復旧することができます。(Ephemeral Portがある方が最も簡単だが、それは事前に準備されていない想定)
コメント
コメントを投稿