今月は1日1回くらい、さまざまな ネステッド vSAN 6.7 U1 を構成してみています。
一連の投稿へのリンクは下記をどうぞ。
昨日はこちら。
ネステッド vSAN 6.7 U1 を楽しむ。2018-12-21
22日目は、1ノードの vSAN です。
vSAN-Cluster-20181222 クラスタ
- ESXi は 1ノード
- vCenter は vSAN 外部に配置
- 仮想マシン ストレージ ポリシーを 1ノード vSAN むけに調整。
- デフォルト ポリシー自体は変更せず、VM ごとに適用。
実情として 1ノード vSAN は、vCenter を vSAN 上に配置する過程として一時的に
構成されることが多いかなと思います。
Deploying vSAN with vCenter Server Appliance
しかしリソースの都合上、今回も vCenter を vSAN 外部に配置しています。vSAN の外に配置しています。
1 ノード vSAN の様子。
1 ノード vSAN を構成すると、ノード障害に耐えられない構成なので、
vSAN の健全性テストで下記のようなエラーが検知されます。
仮想マシン ストレージ ポリシーも、デフォルトの「vSAN Default Storage Policy」では、
冗長性を満たせず(フォールト ドメインが足りず)、VM を作成することができません。
VM を作成しようとしても、デフォルトの仮想マシン ストレージ ポリシーのままでは、
vSAN データストアはポリシーに一致しません。
このまま vSAN データストアに VM を作成しようとしても・・・
フォールト ドメインが足りないためファイルが作成できず、VM の作成もエラーになります。
仮想マシン ストレージ ポリシーと 1 ノード vSAN の関係。
1 ノード vSAN のままの状態で VM を作成する場合は、
仮想マシン ストレージ ポリシーで工夫が必要で、ポリシーで
「強制プロビジョニング」を有効にするか、「データの冗長性なし」にします。
「強制プロビジョニング」を有効にすると、
ポリシーに一致しない状態でも、仮想ディスク を作成することができます。
「vSAN Default Storage Policy」をクローンして、
強制プロビジョニングを有効にしたポリシーを作成してみます。
強制プロビジョニングは、「vSAN」→「詳細なポリシー ルール」で設定できます。
「vSAN-SingleNode-Temp-Policy」という名前でポリシーを作成しました。
強制プロビジョニングのポリシーであれば、
新規 VM を作成するときに、vSAN データストアの互換性チェックは成功します。
VM の作成、起動はできますが、当然ながらポリシーの可用性は満たしていないので
コンプライアンス チェックではエラーになります。
一方「データの冗長性なし」は、ポリシーの「可用性」→「許容される障害の数」で設定できます。
「vSAN-SingleNode-Policy」という名前で
データの冗長性なしで、強制プロビジョニングは無効にしてあるポリシーを作成しました。
今度は、そもそもノード障害に耐えられなくてもよいポリシーを適用しているので、
ポリシーを割り当てた VM のコンプライアンス チェックは「準拠」になります。
しかし当然ながら、どちらのポリシーもデータの可用性があるわけではなく、
この VM の vSAN オブジェクトは、コンポーネントはそれぞれ 1つだけ作成されています。
この状態から冗長性(耐障害性)のある状態にするためには、
ノードを追加した後で、しかるべきポリシーを適用するとデータが複製されます。
本番環境で 1ノード vSAN がそのまま利用されることはないかなと思います。
しかし、構築の過程で、1ノードだけ先行構築して VM を作成したい場合や、
検証環境などでデータの冗長性より容量効率を重視するような場合は、
今回のようなポリシーを利用することもできます。
また構築の過程で、可用性の低いポリシーを適用する場合は、
ちゃんとしたポリシーに戻すことを忘れないよう、要注意です。
うっかりそのままにしても影響が少ないよう、
今回はデータストアのデフォルトポリシーは変更せず、VM 単位でのポリシー変更にしてみました。
つづく。