巨大なVMDKをvSAN環境上でデプロイする場合
以前にVirtual SAN 6.2 Deploy and Manageクラスを提供した時に、受講生からこんな質問を受けました。
----------------------------------------------------------------------------------------------------------------------
受講生:vSANデータストア上でのVMDK(仮想ハードディスク)のサイズの上限はいくつですか?
私:62TBです、構成の上限を参照してみるとそれがわかります。
受講生:ありがとうございます。もう1つ質問ですが、vSANの教科書ではコンポーネントの単一のサイズは255GBと記載があります。そしてvSANポリシーのストライプ数は12が最大値だと思うので、矛盾してるように思います。62TBのVMDKはどのような形で保存されるのでしょうか?
----------------------------------------------------------------------------------------------------------------------
なるほど、そんなに大きなVMDKを作ることを、自分が行った検証では行ってはおらず、あまり気にしてはいませんでした。
そして手持ちの環境では数TBあるディスクが直ぐに用意ができませんでしたので、検証レポートを書いてるブログなどが無いかを調べてみました。
Cormac Hogan氏のブログで見つけちゃいました。英語なので日本語で読みたいという方向けに解説を入れたいと思います。
まず彼のブログでは8TBのVMDKをRAID5ポリシーで保護した場合の動作が紹介されていました。
RAID5の場合は、保護するVMDKの容量に対し133%の容量が必要となるため、
8TB*133%で、約10.6TBが必要となります。(最小必要ホスト数は4台)
ちなみにRAID1の場合は、保護するVMDKの容量に対し200%の容量が必要となるため、8TB*200%で、約16TBが必要となります。(最小必要ホスト数は3台)
そして、実際にRAID5で8TBのVMDKを保護してみた結果がこちらだったそうです。
結論から言えば、1ホスト当たり11個のコンポーネントが展開され、1クラスターに対し4ホストが存在するので、4*11で44個のコンポーネントが1クラスター上に展開されたようです。
10.6TB÷44=約240GBとなるので、これであれば単一コンポーネントの上限値である255GBにも収まっているのがわかります。
さて、次にストレージポリシーのストライプ数上限について再度ドキュメントで確認をしてみます。
説明の一行目に注目をしてみると・・・
仮想マシンオブジェクトの各レプリカがストライピングされるキャパシティディスクの最小数
と記載されています。つまりこの数字は単一のオブジェクトをコンポーネントに分割するときの最大値ではないということです。最低でも、この数に分割するというものです。
ということで、上記が質問に対する回答となりました。
もちろんですが、62TBほど大きくなくとも、例えば10GBのVMDKにストライプ数12のポリシーを適用すると、ハードディスクドライブ12本でRAID0を組み、そこに対し10GBのファイルが保存されるイメージとなります。スピンドルが増えると、IOPSが向上するためパフォーマンスが良くなりますが、1台のドライブの障害でデータがロストされてしまうので、この点は注意が必要です。
以上、皆様のvSANライフがより良いものになれば幸いです。