こんにちは。SB C&Sの山田です。
この記事では、VMware vSANのストレージ ポリシーによる「許容される障害の数」のミラーリング(RAID1)方式の、設定方法とデータ配置について詳しくご紹介していきます。
ストレージ ポリシーの概要については、前回の記事をご確認いただければと思います。
vSANにおける仮想マシン
まず、vSANによるミラーリングに関する説明の前に、vSAN環境で動作する仮想マシンのデータに関してご説明します。
vSANはオブジェクト ベースのファイルシステムです。仮想マシンには、仮想ディスクのデータであるVMDKオブジェクトをはじめ、仮想マシン ホーム ネームスペース(vmxなどの構成データ)や、スナップショットなどのオブジェクトが含まれています。これらのオブジェクトから仮想マシンが構成されています。
下記のスクリーンショットは、「test」という仮想マシンについて、vSphere ClientでvSANオブジェクトを参照した画面と、データストア内部のファイルを参照した画面です。vSAN上では複数のオブジェクトから仮想マシンが構成されているということが理解できると思います。
これらのvSANオブジェクトは、データストアの内部を参照すると下記のような拡張子のファイルとして認識されています。
vSANにおけるミラーリング(RAID1)の概要
ここからは、ストレージ ポリシー ルールである「許容される障害の数」によるミラーリングに関して説明していきます。
ミラーリングは、仮想マシンを構成しているVMDKなどの各オブジェクトを複製し、可用性を担保します。多重化したオブジェクトは、それぞれvSANクラスタ内の異なるESXiホストに配置され、「コンポーネント」と呼ばれます。
また、コンポーネントには2つ種類があります。1つは、前述の多重化したオブジェクトのデータが含まれているコンポーネントです。もう1つは、Witnessです。
Witnessは、ミラーリングのストレージ ポリシー ルールを適用した際に作成される、監視用のコンポーネントです。Witnessは、オブジェクトのデータが含まれるコンポーネントとは異なり、4MB程度 の監視用メタデータなので、データが含まれるコンポーネントと比べるとほとんど容量はありません。
ミラーリングでは、最大で4重まで複製することができます。下記の図は、「許容される障害の数 = 1」(FTT = 1) を設定することで2重化した例です。この場合、仮想マシンを構成するオブジェクトごとに3つのコンポーネントが、それぞれ異なる3台のESXiホストに配置されます。これは、2つの複製されたデータと、1つのWitnessです。
「FTT = 2」の場合は、仮想マシンの各オブジェクトに対して、同時に2つミラーリングされます。つまり、3つの多重化されたオブジェクトのコンポーネントと、2つのWitnessが、それぞれ異なるESXiホスト5台に配置されます。
「許容される障害の数」(FTT)ごとの、ESXiホストの最小台数と必要容量のサマリは以下です。
前述でWitnessは4MB程度の監視用のメタデータと説明しましたが、動作の詳細についてもご説明します。
FTT=1は2重のミラーリングであり、オブジェクトのデータが含まれるコンポーネントは2つのESXiホストに配置されます。しかし、このホスト間で通信断裂などの障害が発生した場合、どちらのコンポーネントを正常系とするか判断することができません。そのため下図のようにWitnessが加わることにより、多数決によりアクセスを継続させるコンポーネントを判断できます。
下図では、「障害が起きたホスト1台」と「正常稼働している2台」が分離されています。このときデータとWitnessの計2つのコンポーネントが存在する「正常稼働している2台」を多数決によって正常系と判断します。
なお、Witnessが稼働しているESXiホストで障害が発生した際にも、多数決での判定によって、データが含まれるコンポーネントが存在する2つのESXiホストがどちらもデータアクセス可能という判断になります。
下記のスクリーンショットは、vSphere Clientでコンポーネントの配置先ESXiホストを確認している画面です。「test」という仮想マシンに対して、FTT=1のミラーリングが適用されています。Hard disk1がVMDKオブジェクトですが、配下に、データを含むコンポーネントを表す「コンポーネント」が2つと、Witness(監視)コンポーネントが1つあります。そして、各コンポーネントはそれぞれ異なるホストに配置されています。
使用する環境
それでは、「許容される障害の数」のルールを設定したストレージ ポリシーの作成と、そのストレージ ポリシーを適用した仮想マシンのコンポーネント配置の確認を行います。
使用する環境は以下です。
- ESXi ホスト
- 台数:4台(Nested仮想マシン)
- バージョン:VMware ESXi 7.0 Update 2a
なお、今回は「許容される障害の数」のルールの設定値を1にしますので、ESXiホスト3台の構成でも実施可能です。また、今回はあえてポリシーを新規作成していますが、デフォルトのポリシーであるvSAN Default Storage Policyでも同様に「許容される障害の数 = 1」でミラーリングされます。
ストレージ ポリシー作成
vSANでは、パフォーマンスや可用性などの仮想マシンのストレージ要件を、ストレージ ポリシーという形で定義できます。今回は可用性に関する要件の「許容される障害の数 = 1」(FTT = 1)を作成します。
1. [メニュー]- [ポリシーおよびプロファイル]を選択します。
2. [仮想マシン ストレージ ポリシー]-[作成]をクリックします。
3. 名前の項目の赤枠内に任意の名前(今回はFTT1)を入力し、[次へ]をクリックします。
4. 赤枠内の「vSAN」ストレージでルールを有効化にチェックし、[次へ]をクリックします。
5. 以下の設定になっていることを確認し、[次へ]をクリックします。
- サイトの耐障害性:なし - 標準クラスタ
- 許容される障害の数:1件の障害 - RAID-1(ミラーリング)
6. [次へ]をクリックします。
7. 設定内容を確認し、[完了]をクリックします。
8. 作成したポリシー(FTT1)を選択し、以下の設定がされていることを確認します。
- ストレージ タイプ:VSAN
- 許容される障害の数:1件の障害-RAID-1(ミラーリング)
仮想マシン作成
先ほど作成したストレージ ポリシー(FTT=1 ミラーリング)を適用した仮想マシンを作成します。
1. [メニュー]-[ホストおよびクラスタ]を選択します。
2. インベントリからクラスタを選択し、アクションから [新規仮想マシン] をクリックします。
3. [新規仮想マシンの作成]を選択し、[NEXT]をクリックします。
4. 任意の仮想マシン名(今回はvSAN_FTT1)を入力し、[NEXT] をクリックします。
5. クラスタを展開して任意のESXiを選択し(DRSが有効な場合はクラスタを選択でも構いません)、[NEXT] をクリックします。
6. 仮想マシン ストレージ ポリシーで [FTT1] を選択、[vsanDatastore]のラジオボタンを選択し、[NEXT] をクリックします。
7. 互換性の選択はデフォルトのまま、 [NEXT] をクリックします。
8. 作成する仮想マシンにインストール予定のゲストOSを選択し、[NEXT] をクリックします。
9. 仮想ハードウェアについては任意の設定をして、[NEXT] をクリックします。
10. 設定内容を確認し、[FINISH] をクリックします。
仮想マシンのデータ配置確認
作成した仮想マシンにて、仮想ディスクのデータ配置を確認します。
1. インベントリからクラスタを選択し、[監視]-[vSAN > 仮想オブジェクト]-vSAN_FTT1配下の[Hard disk1](VMDKオブジェクト)をチェックし、[配置の詳細の表示]をクリックします。
2. [Hard disk1](VMDKオブジェクト)のコンポーネントの配置先が、各ESXiホストに分散されていることを確認できます。FTT=1(ミラーリング)により、仮想ディスクのオブジェクトが、2つの多重化されたデータ(画面ではコンポーネント)と、1つのWitness(画面では監視)として、3台のホストに分散されています。
確認後、[閉じる] をクリックします。
以上、今回はストレージ ポリシーの「許容される障害の数」によるミラーリングに関する機能概要、設定手順、動作確認についてご紹介しました。
次回は、イレージャー コーディングに関する機能概要、設定手順、動作確認についてご紹介します。
他のおすすめ記事はこちら
著者紹介
SB C&S株式会社
ICT事業本部 技術本部 技術統括部
第1技術部 1課
山田 和良 - Kazuyoshi Yamada -
VMware vExpert