SB C&Sの最新技術情報 発信サイト

C&S ENGINEER VOICE

SB C&S

VMware vSAN ストレージ ポリシーのご紹介

仮想化
2022.02.21

こんにちは。SB C&S の山田です。

この記事では VMware vSAN のストレージ ポリシーについてご紹介していきます。

まず、ストレージ ポリシーはvSAN専用のものではなく、vSphereとしての機能です。これは、仮想マシンを作成する際などに指定するもので、例えば、仮想マシンに提供するストレージの種類、仮想マシンをストレージ内に配置する方法、暗号化などを制御します。ストレージ ポリシーは仮想マシン単位で割り当てられることが多いですが、実際には仮想ディスク単位で割り当てられます。ストレージ ポリシーについてのより詳細なアーキテクチャに関しては、VMwareのドキュメントをご確認ください。

今回はvSANデータストアで利用されるストレージ ポリシーである、「vSAN ポリシー」をご紹介していきます

vSAN でのストレージ ポリシーとは

vSANは、ポリシー ベースのストレージ管理(SPBM: Storage Policy-Based Management)機能により、仮想マシンが使用するストレージの、キャパシティ、パフォーマンス、可用性に関する要件を定義できます。

vSANではなく外部ストレージを使用する場合は、あらかじめストレージ側でRAID構成やLUNの切り出しをしたうえでデータストアを作成し、そこに仮想マシンを配置します。つまり、LUNを切り出した時点で既にRAIDレベルなどが決められているので、仮想マシン単位では可用性に関する設定ができないなどの制限があります。

vSANでは、仮想マシン個々に対して柔軟にポリシーを設定することができます。仮想マシン単位で様々な要件にもとづいた柔軟な運用が可能です。

1.png

ストレージ ポリシーの設定は、vCenter Sreverから実施します。下記のスクリーンショットは、vSphere Clientで仮想マシンを作成する際に、ストレージ ポリシーを選択している画面です。様々なルールセットが定義されたストレージ ポリシーが選択できます。

図1.png

ストレージ ポリシーには、仮想マシンの要件にあわせてルールセットを作成することができます。

ルールセットを作成する画面が下記です。これは「可用性」に関する設定ですが、「ストレージルール」、「詳細なポリシー ルール」のタブを選択すると、パフォーマンスに関する設定などが可能です。ストレージ ポリシーに設定できるルールについては、後ほどご紹介します。

図2.png

1台の仮想マシンに対して、複数の仮想ディスク(VMDK)を構成する場合があるかと思います。

ストレージ ポリシーは、仮想ディスクごとに設定することが可能です。これは、仮想マシンを作成する[新規仮想マシン]のウィザードでは、[ハードウェアのカスタマイズ]にある、[新規ハードディスク]にて設定できます。

図4.png

また、稼働中の仮想マシンの要件が変更され、ストレージ ポリシーの変更が必要となった際には、パワーオン状態のままストレージ ポリシーを変更することができます。

下記は、「Win2016」という仮想マシンのポリシーを編集する画面です。このように、仮想マシンの作成後であってもポリシーを変更することができます。なお、先ほどのように仮想ディスクごとに設定することも可能です。

図5.png

ストレージ ポリシー ルールの紹介

vSANのストレージ ポリシー ルールには、具体的にどのような機能があるのかご紹介していきます。

許容される障害数

これは、仮想マシンの可用性を高める重要なルール です。ミラーリング(RAID1)、またはイレージャーコーディング(RAID56)の方式で仮想マシンのデータを複数のESXiホストに格納することで耐障害性を高めることができます。

仮想マシンのデータが格納されているESXiホストやディスクは、「許容する障害数」に設定した台数の障害が発生しても、継続して仮想マシンを稼働させることができます。Failure to Torelateの略称で「FTT」と表記されることも多いです。

仮想マシンを作成する際、ストレージ ポリシーを選択しないと、vSANのデフォルトのストレージ ポリシーによって、「許容できる障害数=1」のルールが割り当てられます。そして、上限値は3です。

なお、許容する障害数によって、下記のようにESXiホスト最小台数、対象の仮想マシン一台あたりの必要容量の要件が異なります。

例えば、「許容される障害数=2」の場合は、ESXiホスト5台以上が必要になります。これは対象の仮想マシンのデータを3つ、メタデータ2つをそれぞれ異なるESXiホストに配置する必要があるためです。

詳細なアーキテクチャに関しては次回の記事でご紹介しますので、そちらをご確認ください。

図7.png

イレージャー コーディングはミラーリングと比較して消費容量を大幅に節約できますが、IOPSやネットワーク帯域幅のオーバーヘッドが増大します。なお、イレージャー コーディングは、オールフラッシュ構成でのみサポートされています。

オブジェクトあたりのディスク ストライプの数

仮想マシンのデータを分割して、複数のキャパシティ ディスクに格納(ストライピング)します。ストライプ数を増やすと、読み取り処理でパフォーマンスを向上させることができます。

ストライプ数のデフォルト値は1です。上限値は12です。

許容される障害数の値が1以上の場合は、多重化されたデータ毎にストライピングされます。例えば、許容される障害数の値が1で、ディスク ストライプの数を2とした場合は、ミラーリングされた2つのデータがそれぞれ2分割されるので、あわせて4つのコンポーネントが配置されます。

オブジェクト容量の予約

仮想マシンを作成する際に、仮想ディスクのプロビジョニング方式を指定する必要があります。このルールでは、仮想ディスクの作成時に容量予約される割合を指定できます。仮想ディスクは、予約された容量がシック プロビジョニングされ、残りの容量はシン プロビジョニングされます。

フラッシュの読み取りキャッシュの予約

特定の仮想マシンに対して、キャッシュ デバイスの一部を予約して割り当てることができます。読み取りキャッシュとして予約することで、キャッシュ領域を占有することができます。なお、ハイブリッド構成にのみ使用できます。

vSANのデフォルトのストレージ ポリシーの値は0%です。最大値は100%です。

ハイブリッド構成のキャッシュ デバイスでは、書き込みバッファが30%、読み取りキャッシュが70%と決められています。通常ではこの構成で問題ありませんが、処理するトラフィックが量が多い仮想マシンでは、このトラフィック量が多い仮想マシンに対して十分なキャッシュが確保されない場合があります。

これを回避するために、あらかじめ読み取りキャッシュを予約することで、キャッシュ デバイスの一部を常に利用できるようになります。

強制プロビジョニング

このルールを設定すると、vSANクラスタにストレージ ポリシーの条件を満たす台数のESXiホストがなくても、仮想マシンを作成できます。

例えば、「許容される障害数=2」のポリシーで仮想マシンを作成する場合、vSANクラスタ内に5台以上のESXiホストが必要になります。しかし、強制プロビジョニングを有効にした場合、ESXiホストが3台でも、冗長性なしの状態で作成されます。そして、必要要件であるESXiホスト5台以上が確保されると、仮想マシンが「許容される障害数=2」のポリシーに準拠した状態になります。

構築作業や障害対応時など、ESXiホストが通常より少ない台数の場合でも、こちらのポリシーを使用すれば、仮想マシンの作成が可能です。

オブジェクトの IOPS 制限

仮想マシンからのIOPSを制限するためのルールです。

IOPSが高い仮想マシンが、他の仮想マシンのワークロードに影響を及ぼすおそれがある場合に有効です。

オブジェクトチェックサムの無効化

これは、仮想マシンのデータ破損を定期的にチェックするルールです。

データの破損を検知した場合は、他のミラーリングされたデータやパリティ ストライプから自動的に再構築されます。

vSAN デフォルト ストレージ ポリシー

仮想マシンにはストレージ ポリシーが割り当てられている必要がありますが、仮想マシン作成時などに明示的にストレージ ポリシーを指定しない場合、vSANデータストアのデフォルト ストレージ ポリシーである「vSAN Default Storage Policy」が仮想マシンに割り当てられます。

図6.png

vSAN Default Storage Policyのルールセットは下記です。

図3.png

このポリシーとは異なる明確な要件がある場合は、新規のストレージ ポリシーを作成してルールセットを設定し、仮想マシンに適用します。

以上、vSANのストレージ ポリシー一覧の概要についてご紹介しました。

次回は、vSANのストレージ ポリシーの中で最も使用する「許容される障害数」の設定方法、動作についてご紹介します。

他のおすすめ記事はこちら

著者紹介

SB C&S株式会社
ICT事業本部 技術本部 技術統括部
第1技術部 1課
山田 和良 - Kazuyoshi Yamada -

VMware vExpert