2017年12月25日月曜日

コレで大丈夫、vSANクラスタの正しいシャットダウン(オレ流の運用にご注意を!!)

このBlogvExpert Adventarに参加しています。


〜“ほんのちょっと”な、vSANのお作法を正しく知って欲しい〜

vSANは筐体レベルで停止しても大丈夫な可用性を有していますが、「ビルの法定停電などで完全停止をしなければいけない」という環境で運用しているお客様も少なくありません。

ですが、正しくない手順でvSANシャットダウンすると、最悪データが欠落するリスクもわずかながらあるので、この手順をきちんと知ってほしい!!そう強く願います。



〜〜〜〜〜〜〜いままでは、どうしてた??〜〜〜〜〜〜〜

(1)メンテナンスモードへ移行
(2)ESXiをシャットダウン
(3)ストレージをシャットダウン

ですが、、これと同じ手順でvSANクラスタを落とすのはおすすめしません。



〜〜〜〜〜〜〜では、、手順の説明に入ります〜〜〜〜〜〜〜

まず、自分のvCenterServerがどこにいるか?でお作法が異なります。

(コース1)vCenterServervSANクラスタとは別のESXi上にて動作している

(コース2)vCenterServervSANクラスタの上で動作している


では、2つのコースごとに、流れを追っていきます。




(コース1)vCenterServer独立のあなた


(1) vSANコンポーネントの再同期(Resync)が完了していることを確認

ちなみに、最新のvSANではESXCLIで色々と便利な確認が拡張されています。(今回は割愛)

(2) vSANクラスタ上の 仮想マシンを “すべて”停止

これがないと、メンテナンスモードに移行できませんので、かならず落としてください。

(3) メンテナンスモードへの移行


ここで、WebClientによる作業が必要です。
C#Clientでは操作できないオプション項目があります)

ここでは、一番下の「データを退避しない」を選んでから メンテナンスモードに移行します。


※このオプションは C#版では選択ができません。強行して操作すると、デフォルトの「他のホストからデータのアクセシビリティを確保」が選ばれてしまい、なかなかシャットダウンができない!や、エラーでメンテナンスモードに移行できない!!などの地獄にハマってしまいます・・・


◯メンテナンスモードの移行時に選べる、vSANオプションは3択
  a)すべてのデータを他のホストに退避 
  b)他のホストからデータのアクセシビリティを確保
  c)データを退避しない

(4)ESXiのシャットダウン

あとは、いつも通りです。
簡単ですね〜

  

(コース2)vCenterServervSANクラスタ上にある場合


基本的な流れはすべて同じですが、vCenterServerのいるESXiだけ工夫が必要です。

(1)vSANコンポーネントの再同期(Resync)が完了していることを確認


 (2)vSANクラスタ上の 仮想マシンを “すべて”停止

vCenterServer以外の仮想マシンはすべて停止してください。
vCenterServerのいるESXiはオペレーションが後回しになります。

(3)メンテナンスモードへの移行vCenterServerのいないESXi

もちろん、WebClientにて「データを退避しない」オプションを選択して、メンテナンスモードに移行します。

(4)ESXiのシャットダウンvCenterServerのいないESXi

vCenterServerがいないESXiは、いつもどおりの操作で大丈夫です。

(5)vCenterServerの仮想マシンを停止

vCenterServerをシャットダウンします。

(6)メンテナンスモードへの移行vCenterServerのいるESXi

   vCenterServerがいないのに、どうやるのでしょうか???
   はい、ESXCLIで操作します。(大文字小文字は厳格に)

メンテナンスモードへの移行
% esxcli system maintenanceMode set -e true -m noAction

上記コマンドを実行しても何も返ってこないので、以下の確認コマンドで結果を確認
% esxcli system maintenanceMode get
Enabled

Enabled=メンテナスモードが実行中

(7)ESXiのシャットダウンvCenterServerのいるESXi

シャットダウンもコマンドで
% esxcli system shutdown poweroff -r “COMMENT”

(ちなみに、メンテナンスモード移行が終わってないと、以下のようなメッセージが出ますので、終わるまで待ちましょう。)
System is not in maintenance mode. Cannot perform requested operation.




立ち上げるときはvCenterServerのいるESXiから起動してください。

(コース1)vCenterServer独立のあなたに送る、復活の呪文


(1) ESXiサーバの電源ON
(2) メンテナンスモード解除
(3) vSAN健全性チェックでクラスタ復活したことを確認
(4) 残りの仮想マシンを起動

(コース2)vCenterServervSANクラスタ上にある場合の、復活の呪文


(1) まず、vCenterServerのいるESXiを電源ON
(2) ESXiにてコマンドでメンテナンスモードを解除
% esxcli system maintenanceMode set -e false
% esxcli system maintenanceMode get
Disabled
(3) vCenterServer仮想マシンを起動
(4) その他ESXiも電源ON
(5) vCenterServerからメンテナンスモードを解除
(6) vSAN健全性チェックでクラスタ復活したことを確認
(7) 残りの仮想マシンを起動


お作法さえ覚えてしまえば、すごく簡単なので しっかりと抑えておきましょう!!