vSAN ディスク グループのデザイン、構成、組み方、FAQ

VMware

vSAN ディスク グループのデザイン、構成、組み方、FAQ

本記事は2017年に旧ブログである”VMwareな日々”で掲載していた記事に最新情報を付帯したものとなります。またこの3年間で筆者はVMware公式トレーニングコースである”vSAN Deploy and Manage”を年間10回以上登壇しており、そこで出たよくある質問(FAQ)についても追記しております。

ディスクグループ概要

VMware vSAN環境では、vSAN ストレージで利用する領域にはハードドライブまたはSSDが利用されます。

vSAN architecture

これらのドライブは、筐体に装着後”ディスク グループ”と呼ばれる単位に参加をしてから初めて容量を提供したり、キャッシュとして動作をします。

このディスクグループの構成や併用する機能を正しく理解することは、vSANクラスターの可用性を正しく定義することに繋がります。

Understanding vSAN Architecture: Disk Groups – VMware Blog

Disk Groups – VMware vSAN Storage Design and Sizing Guide

vSAN Cluster and Disk Group Design – VMware Validated Design Guide

vSAN用語

  • データストア
    仮想マシン、仮想マシンテンプレート、iso等を保存する領域
    vSANに置いては、以下で紹介するディスクグループ内のキャパシティ層の容量合算がデータストアの総容量となる。

  • ディスク グループ
    キャッシュ層用の1本のSSD & キャパシティ層用のSSDまたはHDD1本~7本を含む管理単位
    また、1ホスト辺り5つのディスクグループが構成可能である。

  • キャッシュ層
    vSANでは読み取りと書き込みの処理にはキャッシュが利用されます。
    このキャッシュは、通常はRAIDコントローラー上のキャッシュメモリ等で処理されるイメージがあるかもしれませんが、vSANでは”SSD”がこの役割を担います。(HDDは利用出来ません)
    厳密に言えば、”オールフラッシュvSAN”の場合は、書き込みキャッシュのみが動作します。
    ”ハイブリッドvSAN”の場合は、書き込み及び読み取り両方のキャッシュがSSDにて提供されます。
  • キャパシティ層
    容量を提供してくれるドライブです。vSANのデータストア容量は、クラスタ内のキャパシティ層ドライブの全合計で決まります。1つのディスクグループ辺り最大で7本までのドライブを搭載することが可能です。なお、本層に対してSSDを搭載した場合のvSANは”オールフラッシュvSAN”と呼ばれます。
    本層に対してHDDを搭載した場合のvSANは”ハイブリッドvSAN”と呼ばれます

図解

次の図では2つのシナリオを図示しています。

左図:1台のホスト上に1つのディスクグループを構成している(ディスクグループ内には1本のキャパシティドライブが存在する)
右図:1台のホスト上に1つのディスクグループを構成している(ディスクグループ内には7本のキャパシティドライブが存在する)

つまり、この図が現時点(2017/10時点)でのvSANがサポートする単一ホスト辺りの最小と最大のディスクグループ構成です。(本記事は2020/05に再構成し直しましたが、現在も上記制限に変更はありません。)

また、例えば4本のSSDドライブを単一ホスト上に持っている場合、次の2つのようなディスクグループ構成が考えられる分けです。

どちらが良い、というのはありません。これはユーザーの思考やシステムの要件によります。

ハードウェアRAIDの場合でも3本のディスクを持っている場合に、次のような選択肢があるわけですが、特性は違います。

  • RAID0 最大パフォーマンスを求める場合、冗長性が課題
  • RAID1 + ホットスペア 冗長性とパフォーマンスを求める場合、容量面が課題
  • RAID5 冗長性と容量を求める場合、パフォーマンスが課題

以上です。先々のvSANバージョンアップで、また最大構成などが変わる場合はこの次第ではないかもしれませんが、ドライブが多いと構成の幅も広がります。是非複数のディスク グループを持つメリットを覚えておきましょう。

結論

デザインに対して正解は無いが、複数のディスクグループを持つ理由は次の3つである。

  1. Scalability (拡張性、1ディスクグループは7本までキャパシティドライブを搭載可能)
  2. Performance (キャッシュドライブが増える事で、パフォーマンス向上に期待)
  3. Redundancy (容量を複数のディスク グループに分散することで、単一障害での容量欠如を緩和)

FAQ(よくある質問)

キャッシュドライブの障害時は、どのような影響がありますか?

該当のキャッシュドライブが所属していたディスクグループレベルでの障害と認定されます。
言い換えれば、そのディスクグループのキャパシティドライブもアクセス不能となります。

vSAN Failure Scenarios – VMware Blog
影響が大きすぎると思うかもしれませんが、キャッシュは同一ディスクグループ内のキャパシティ層に対してのキャッシュですから、それが動かないということは正しくIOを提供出来ないということと同義です。

正直言えば、vSANの障害シナリオの中で、最も反応が多い障害ケースです。

キャパシティドライブの障害時は、どのような影響がありますか?

いくつかの構成や機能差で動きが変わります。

   
パターン1
ディスクグループにはキャッシュドライブ1本と

キャパシティドライブ1本のみである
(重複排除と圧縮は無効)
ディスグクループレベルでの障害となる。
理由は、ディスクグループの最小要件はキャッシュ
及びキャパシティがそれぞれ1本ずつであり、
最小構成を保てなくなるため
パターン2
ディスクグループにはキャッシュドライブ1本と

キャパシティドライブ2本以上存在する
(重複排除と圧縮は無効)
キャパシティドライブ1本障害となる。
上述と違い、他の正常なキャパシティドライブが存在するためディスクグループとしての形式は保てている
パターン3
ディスクグループにはキャッシュドライブ1本と

キャパシティドライブ1本のみである
(重複排除と圧縮は有効)
パターン1と同じ
理由も同じため説明は割愛します。
パターン4
ディスクグループにはキャッシュドライブ1本と

キャパシティドライブ1本のみである
(重複排除と圧縮は有効)
ディスクグループレベルでの障害となる。
ディスクグループ全体でデータの重複を判定する動きとなっており、キャパシティドライブの欠損はディスクグループ全体にスパンしているファイルシステムの破損として扱われます。

詳細は”VMware Docs – デデュープ及び圧縮の使用“をご覧ください。

1つのホストに対して、ハイブリッドとオールフラッシュのディスクグループを混在出来ますか?

出来ません。また、クラスター内の全ホストでは、”オールフラッシュのみ”または”ハイブリッドのみ”のどちらかで統一されていなければなりません。

vSAN FAQ – Storage Hub by VMware

vSANクラスターを構成する複数台のESXiホストは、異なるディスクグループ構成、異なるメモリやCPU構成でも良いですか?

構成は出来ますしサポートもされます。しかし非推奨です。(以下参照)

Balanced Configurations – Storage Hub by VMware

クラスターのコンセプトは、”対障害性”です。極端に大きな容量のサーバーと極端に小さな容量のサーバーの混在で構成されたクラスターがあった場合に、大容量のサーバー停止時に、小さな容量のサーバーでこれらのワークロードを引き受けるというのは、場合によってはフェイルオーバー失敗を引き起こします。

どこで障害が置きても、正常にフェイルオーバーを行えるためには、全ての構成が同一または近い容量の構成であることが理想的です。

vSANのディスクグループに搭載する物理ドライブは、どのように選べば良いですか?

VMware 互換性ガイドに掲載があるドライブを必ず使いましょう。
VMware Compatibility Guide – vSAN IO Devices

本ページから、SSD、HDD、ストレージコントローラーの3種についてvSANの特定バージョンで認定をされているドライバーやファームウェアを確認出来ます。

上記は、vSAN 7.0で利用可能な、Dellが提供するHDDを検索した結果です。
図内下部に1つだけサンプルとしてドライブの情報を掲示しております。

毎回新規のクラスター構築のためにこの検索が面倒であるという方は、VxRailやvSAN Ready Nodeのような、出荷段階からvSAN認定コンポーネントだけで構成されたx86サーバーノードを選定するという方法があります。これによりデザインミスや時間短縮などのメリットがあります。

キャッシュ層のSSDには600GB以上のドライブが使えないと聞いたことあるけど本当?

この情報をご存じの方は、きっとVMware vSANのリリースノートをご覧になられたのではないかと思います。
VMware Virtual SAN 6.5 リリース ノート

こちらについて一言で言えば、SSD内の600GBまではキャッシュとして利用され、それ以外はHDDで言う不良セクタ発生時の代替セクタのように振る舞います。大容量のSSDを搭載しても、超過分の領域は無駄にはなりません。より具体的に本機能について知りたい場合は、以下のURLを参照ください。

vSAN キャッシュ層 SSD の選定・サイジングのおさらい(2019年版)- VMware vSAN Super SE kwmt氏のブログ

600GB write buffer limit for VSAN? – YellowBricks

コメント

  1. kk says:

    質問が3点ありましてコメントをさせていただきました。
    お時間があるときにご回答いただけないでしょうか?

    1.vSANクラスターで構成されている中でvSANデータストアが構成されていると認識しております。vSANクラスターとはvSphereのクラスター単位で構成されるのでしょうか?
    2.仮にホストが7台あり、3:4でvSANクラスタ構成をとることは可能でしょうか?
    3.部署やSLAごとにvSANクラスタ構成をとることは可能なのでしょうか?

    勝手ながら申し訳ございませんが、お答えいただけると幸いです。
    よろしくお願いいたします。

    • Yamato says:

      kk様、ご質問有難う御座います。

      ご質問の確認が遅れてしまい大変失礼致しました。
      1. vSANクラスタ=vSphereで構成可能なクラスタの一種です。ご理解の通りとなります。
      2. vSANクラスタは、最小構成が3ホストから構成可能ですので、ご理解の通り7台を分割して使用することで複数のクラスタを構成可能です。勿論ですが7台を1つのクラスタとして活用することも可能です。
      (上限は2022年03月時点で1クラスタ当たり64台までです。)

      3. クラスタという単位=容量を共有している単位です。SLAについては、例えば部署AはRAID1、部署BはRAID5のように分けたいとすると、これは”ストレージ ポリシー”という設定を部署ごとに構成することで実現可能です。
      この複数のRAIDは、1つのクラスタ上で併用が可能です。通常のストレージと違い、冗長化設定などが物理ロケーションに依存しないのがvSAN及びSoftware Defined Storageの特徴です。

      遅れてしまいましたが、kk様のお役に立てば幸いです。