この文書では、vSANクラスターのディスクリバランス(再分散)の手順を紹介します。
vSANの健全性テスト結果で頻繁に目にする"vSANディスクバランス"の警告ですが、
GUIのボタンから手動でリバランス(再分散)を実施しても、またすぐに警告が再発してしまうことがあります。
これは、ディスクバランスの警告発生の閾値が"最大分散値30"に設定されていることに起因しています。
分散について:
VxRail、及びvSANクラスターでは、より良いバランスでクラスターを使用するために、各ディスクの使用率の差分が全体で30%以下となるよう閾値を設けています。
例えば、ディスク A の使用率が 45% で、ディスク B が 10% の場合、ディスク A と B の負荷分散は 35 で、閾値を超えたとみなします。この使用率の差分を"分散"とVMwareでは表現しています。
最大分散は、上記の分散値が最も高いディスクの組み合わせ(=クラスター内で最も使用されているディスクと最も使用されていないディスク)を元に取られています。
つまり、最大分散は下記の計算式で導出されています。
最も使用率の高いディスクの使用率(%) - 最も使用率の低いディスクの使用率(%) = 最大分散
vSANはクラスター内のディスクの使用率を監視しており、分散が30を超えるディスクの組み合わせが発生すると健全性テストにディスクリバランスの警告を表示します。
GUIから行うリバランスでは、分散がデフォルトの閾値である30を上回るディスクがなくなった時点でプロセスが自動で完了しますので、
一旦警告が消えても再発しやすい状態のままになってしまうことがあります。
警告の再発を抑止する目的で、閾値である最大分散値30を更に下回った状態(例えば20、10等)のレベルにまでリバランスを実施する場合は、GUIからではなくCLIからリバランスを実施する必要があります。
※ただし、30を大きく下回る値にまでリバランスを実施する場合は、その分大量のデータの移行が発生し、処理により長い時間を要します。
よってこの様な大きなリバランスを行う際は、数日間かけてリバランスを複数回行う、または一晩リバランスを行った後に進捗を確認し、継続して行うか検討する、等ある程度計画的に実施することを推奨いたします。
※vSANディスクバランスの警告は、一般的には障害や不具合の発生を示すものではありません。通常運用内でvSANがI/Oを行った結果発生する場合が大半です。
また、一度警告が発生しても、その後に更にI/Oが行われた結果各ディスクの使用率が均等になり、警告が消える場合もあります。
**vSANディスクバランスの警告に関する包括的な内容については下記の記事を参照ください
VxRail: 「Virtual SAN ディスク バランス」の警告の詳細と対処
・CLIによるvSANリバランス手順
GUIでリバランスを実施した後すぐに警告が再発してしまった・ディスクバランスの警告の表示を可能な限り抑制したい・等の場合は、下記の手順でCLIでのリバランスを実施してください。
[1]. vCenter Server Appliance にSSHにてログイン後、Shellに遷移(プロンプトのマーカが#になっている状態)
※vCSAのSSHを無効化している場合は、下記手順にて有効化が必要です。
Command> shell.set --enabled True
Command> shell
Shell access is granted to root
root@vc [ ~ ]#
[2]. vCenter Server Appliance 上で、下記のコマンドでRuby vSphere Consoleにログイン
# rvc
Install the "ffi" gem for better tab completion.
Host to connect to (user@host): administrator@vsphere.local@localhost < vCenter SSO ユーザー名@localhostを入力
password: < vCenter SSO パスワードを入力
0 /
1 localhost/
>
[3]. RVCにログイン後、一般的なUnixベースOSと同じ要領でlsコマンド、cdコマンドが使えるので、
/localhost/データセンター名/computers/ まで移動し、lsでvSANクラスターのリソースについているインデックスを確認
(例) ※画像はクリックで拡大してください
[4].下記コマンドを実施
vsan.proactive_rebalance
(例)
/localhost/データセンター名/computers/> vsan.proactive_rebalance 0 -sv 0.3
vsan.proactive_rebalanceはリバランスを手動で実行するコマンド、0は対象のvSANクラスタリソースのインデックスです。
-sオプションでリバランス開始、-vオプションでどこまでリバランスを実施するかの閾値を指定します。
-vの後に指定する数字がリバランスの閾値(=最大分散値)で、例では0.3、つまりデフォルトの30%を指定しています。
更に均等なリバランスを実行したい場合は、0.2、0.1等小さい数字を指定してください。
また、-tオプションを追加で指定することで、リバランスを実行する期間(秒単位)を設定できます。
ディスクのリバランスは大量のIOが発生するため、仮想マシンのパフォーマンスに影響を与える惧れがありますが、
-tオプションによって、終業後にコマンドを実行してリバランスを開始し、始業時間の前にリバランスを自動で停止する等、ユーザー環境に合わせて業務に影響のないペースでオペレーションを実施することができます。
-tオプションを指定しなかった場合は、デフォルトの24時間リバランスが実施されます。
例えば、最大分散値20までのリバランスを14時間(5万4百秒=終業時刻18時から翌日始業前の8時までを想定)実施したい場合は、下記のようなオプションを指定します。
> vsan.proactive_rebalance 0 -sv 0.2 -t 50400
[5].下記コマンドでリバランスの状態を確認
> vsan.proactive_rebalance_info 0
(例)
/localhost/データセンター名/computers/> vsan.proactive_rebalance_info 0
Proactive rebalance start: 2018-06-28 03:06:07 UTC ←リバランス開始時刻
Proactive rebalance stop: 2018-06-28 17:06:07 UTC ←リバランス完了予定時刻
Max usage difference triggering rebalancing: 10.00% ←リバランス目標の分散閾値(※この例では0.1=10%に設定)
Average disk usage: 10.00%
Maximum disk usage: 20.00% (18.00% above minimum disk usage)
Imbalance index: 8.00%
Disks to be rebalanced: ↓リバランス対象となっているディスクの一覧 +----------------------+----------------+----------------------------+--------------+
| DisplayName | Host | Disk usage above threshold | Data to move |
+----------------------+----------------+----------------------------+--------------+
| naa.xxxxxxxxxxxxxxxx | sds-01.sds.lab | 4.00% | 44.7122 GB |
| naa.xxxxxxxxxxxxxxxx | sds-01.sds.lab | 2.00% | 22.3561 GB |
+----------------------+----------------+----------------------------+--------------+
| naa.xxxxxxxxxxxxxxxx | sds-03.sds.lab | 3.00% | 33.5341 GB |
| naa.xxxxxxxxxxxxxxxx | sds-03.sds.lab | 8.00% | 89.4244 GB |
+----------------------+----------------+----------------------------+--------------+
| naa.xxxxxxxxxxxxxxxx | sds-04.sds.lab | 1.00% | 11.1780 GB |
+----------------------+----------------+----------------------------+--------------+
[5].下記のコマンド、またはGUIの[リバランスの中止]ボタンでいつでもリバランス処理の停止が可能です。
> vsan.proactive_rebalance 0 -o
以上
関連記事:
VxRail: 「Virtual SAN ディスク バランス」の警告の詳細と対処
参考文献:
rvcコマンドの詳細については、下記リファレンスを参照ください(リバランス関連の項目はp59,61)。
VMware® Ruby vSphere Console Command Reference for Virtual SAN
VMware ドキュメント
VMware ナレッジベース