NutanixでAHVの環境でもメンテナンスモード機能が存在しています。
このメンテナンスモードですが、従来acliコマンドでしか設定が出来ず、かつメンテナンスモードになっているかどうかを直接的にPrism画面から確認することが出来ず、acliでメンテナンスモードにしたまま気づかないということもあります。メンテナンスモードにしてもCVMは起動したままで、ストレージサービスは継続されます。あくまでもADSの機能などで仮想マシンがメンテナンスするホスト上で稼動できないようにする機能となります。そのため、余計に気づきにくいという側面があります...。
メンテナンスモードは、PrismのHardwareメニューの画面から行う事が出来ます。
Enter Maintenance Modeをクリックすると以下のようなメッセージが表示されメンテナンスモードに移行が可能です。
メンテナンスモードに移行中のホストは、ホスト部分でくるくるアイコンが表示されます。
当然ながら、メンテナンスモードに移行するホスト上で稼動していた仮想マシンは、ライブマイグレーションされます。RF1で構成された仮想マシンやアフィニティールールで他のホストに移行できない仮想マシンはシャットダウンされます。
その後、CVMが自動でシャットダウンされます。(この動作は、acliのメンテナンスモード時の処理と異なっています)acliのメンテナンスモードでは、ホストのメンテナンスモードにしかなりませんが、Prismからのメンテナンスモードの場合は、ホストのメンテナンスモード、CVMのメンテナンスモード、そしてCVMがシャットダウンされる処理が一括して行われます。(ホストはシャットダウンされません)
Exit Manurenance Modeをクリックすると、CVMが起動し、自動的にメンテナンスモードが解除されます。
メンテナンスモードを終了すると、CVMとホストのメンテナンスモードが終了され、自動的に仮想マシンが再配置されます。
なお、Redandancy Factorの構成に従って、N+2の場合であれば、1ノードを超えるホストのメンテナンスモードは行う事が出来ないようになっています。
では、acliでホストだけをメンテナンスモードにした場合は、Prism上ではどのように表示されるのかを見てみましょう。
まずは、acliでホストのメンテナンスモードを実行します。
acli host.enter_maintenance_mode 192.168.38.161 mode=live
EnterMaintenanceMode: complete
この場合、CVMは起動したかつ、CVMは、メンテナンスモードでは無く通常稼動していますが、Prism上ではメンテナンスモードになっていることがわかります。また、メンテナンスモードの終了もPrismから出来るようになっています。
ただ、ドキュメント上では、「You must exit the node from maintenance mode using the same method that you have used to put the node into maintenance mode. For example, if you used CLI to put the node into maintenance mode, you must use CLI to exit the node from maintenance mode. Similarly, if you used web console to put the node into maintenance mode, you must use the web console to exit the node from maintenance mode.」という記載があるので、これは機能上出来るけれども、正式なオペレーションとしては、メンテナンスモードに移行したオペレーションでメンテナンスモードを終了することが推奨されるようです。
実際に、この状態でExit Manitenance Modeをクリックするとなぜか、CVMがシャットダウンされた上で、エラーになってしまいました。このドキュメント通りこのオペレーションはサポートされていないようです。