2017年2月2日木曜日

vSAN6.1、vSAN6.2における高遅延ドライブの自動切り離しについて

vSANに関連して、SAS HBAにHCLにない間違ったドライバが適用されてしまった際に高負荷時にIOの輻輳、大幅に発生してバスっとドライブがアンマウントされ、その事をきっかけに残りのデータでリビルドが発生して、さらに輻輳が悪化して、、、
という障害を以前経験したことがありました。

その際、切り分けの参考になったのが、vSANトラシューマニュアル と、Cormac さんのブログでした。

VSAN 6.1 NEW FEATURE – HANDLING OF PROBLEMATIC DISKS
まず、vSphere 6.0u1のvSAN(vSAN 6.1)からは一定以上の遅延が発生しているキャパシティ層ドライブが切り離される仕様が加わりました。
HCLに沿っているHBA、ドライブであればそうそう起きる事はないのですが、検証環境などではHCLに準拠していないコンポーネントで構成され、検証中の高負荷で勝手に切り離されては困るときもあるので、これらを無効化する設定も紹介されています。
チェックする項目としては以下の二つ、遅延のモニタリングとドライブアンマウントの実行についてです。

VSAN Device Monitoring
esxcli system settings advanced set -o /LSOM/VSANDeviceMonitoring -i 0     # Default 1

VSAN Slow Device Unmounting
esxcli system settings advanced set -o /LSOM/lsomSlowDeviceUnmount -i 0    # Default 1


VSAN 6.2 PART 10 – PROBLEMATIC DISK HANDLING
次にvSphere 6.0u2(vSAN 6.2)からはこの処理に改善が入り、
キャパシティ層ドライブは400分の間(7-8時間)で、500ms以上のWriteIO遅延がランダムに4回発生した場合に対象ドライブをアンマウントするように修正されました。
また、キャッシュ層ドライブに関してはアンマウントする事はデフォルトでは無効ですが、/LSOM/lsomSlowTier1DeviceUnmount を有効にする事で50msのWriteIO遅延でドライブアンマウントがされるようになります。

VSAN Slow Tier1 Device Unmounting
esxcli system settings advanced set -o /LSOM/lsomSlowTier1DeviceUnmount  -i 1   # Default 0

※キャッシュ層ドライブの切り離しはディスクグループの全断となるので設定は注意が必要です。