vSphere IaaS control plane では、パーシステント ストレージを必要とする最新のステートフル サービスに vSAN データ パーシステンス プラットフォームを使用できます。このプラットフォームが提供するフレームワークを使用すると、サードパーティは、基盤となる vSphere インフラストラクチャとサービス アプリケーションを統合できます。

vSAN データ パーシステンス プラットフォームについて

vSAN データ パーシステンス を使用するメリットは、次のとおりです。

サービスの自動デプロイと拡張
管理者は vSphere Client を使用して、 スーパーバイザー に最新のステートフル サービスをインストールおよびデプロイすることで、DevOps エンジニアにサービス名前空間へのアクセス権を付与できます。DevOps エンジニアは、Kubernetes API を使用して、ステートフル サービスのインスタンスのプロビジョニングおよびスケーリングをセルフサービス方式で動的に行うことができます。
vCenter Server と統合されたサービス監視
パートナーは、 vCenter Server と統合するダッシュボード プラグインを構築できます。 vSphere 管理者は、ユーザー インターフェイス プラグインを使用して、ステートフル サービスを管理および監視できます。また、 vSAN では、これらの統合サードパーティ サービスの健全性機能とキャパシティ監視機能も提供されています。
vSAN Direct を使用する最適化されたストレージ構成
vSAN Direct を使用すると、最新のステートフル サービスは基盤となる直接接続型ストレージと直接通信して、I/O とストレージの効率を最適化できます。
プラットフォームは、次のタイプのサービスをサポートしています。
  • オブジェクト ストレージ(MinIO など)。
  • NoSQL データベース(別名、非リレーショナル データベース)。
  • 従来のデータベース。

vSphere Shared Nothing Storage

通常、ほとんどの最新ステートフル サービスは Shared Nothing Architecture (SNA) を採用しています。これは、複製されていないローカル ストレージを使用し、独自のストレージ レプリケーション、圧縮、その他のデータ操作を提供します。そのため、同じ操作を基盤となるストレージが実行してもサービスにとってはメリットがありません。

vSAN データ パーシステンス プラットフォームでは、操作の重複を避けるために、データ パスを最適化した 2 つの vSAN ソリューションが提供されます。パーシステント サービスは、SNA ストレージ ポリシーを使用する vSAN 上、または基本的に Raw ローカル ストレージである vSAN Direct 上で実行できます。

vSAN データ パーシステンス プラットフォームを使用する vSAN および vSAN-Direct
SNA ストレージ ポリシーを使用する vSAN
このテクノロジーの採用により、 vSAN ホストのローカル SNA ポリシーとレプリケートされた分散 vSAN データストアを併用することができます。その結果、SNA サービス アプリケーションは配置を制御し、データ可用性を維持する作業を引き継ぐことができます。このテクノロジーにより、パーシステント サービスは、コンピューティング インスタンスとストレージ オブジェクトを同じ物理 ESXi ホストに共存させることが容易になります。ホストをローカルに配置すると、これらの操作を、ストレージ レイヤーではなく、サービス レイヤーで、レプリケーションとして実行できるようになります。

ポッドなどのコンピューティング インスタンスは、最初は、vSAN クラスタ内のいずれかのノードに配置されます。その後、vSAN SNA ポリシーによって作成された vSAN オブジェクトのすべてのデータは、ポッドが実行されているノードに自動的に配置されます。

以下に、SNA ストレージ クラスを使用するアプリケーションのストレージをパーシステント ボリュームに配置する例を示します。vSAN は、ノード上のディスク グループの中から、パーシステント ボリュームに配置するものを任意に選択できます。

データの合計コピー数 = 3

予想されるフォールト トレランス = 2

許容される実際の障害数 = 2

パーシステント ボリュームに SNA ストレージ クラスを使用するアプリケーションのデプロイ

vSAN Direct
SNA ストレージ ポリシーを使用する vSAN によってデータをコンピューティング インスタンスにローカルに配置できますが、アプリケーションと物理ストレージ デバイス間の分散 vSAN データ パスにオーバーヘッドが発生します。 vSAN Direct が有効な場合、ステートフル サービス アプリケーションはより直接的なデータ パスを使用して vSAN 以外のほとんどの Raw ローカル ストレージにアクセスできるため、ソリューションのパフォーマンスが最適化されます。
vSphere 管理者は vSAN Direct を使用することで、ホストのローカル デバイスを要求し、これらのデバイスを管理および監視することができます。 vSAN Direct は、デバイスの健全性、パフォーマンス、キャパシティに関するインサイトを提供します。 vSAN Direct は、要求されたすべてのローカル デバイスに独立した VMFS データストアを作成し、アプリケーションの配置先の候補として使用できるようにします。 vSAN Direct によって管理される VMFS データストアは、Kubernetes ではストレージ プールとして公開されます。 vSphere Client では vSAN Direct データストアとして表示されます。
次の図に、 vSAN Direct ディスクにローカルに配置されたパーシステント ボリュームを示します。
vSAN Direct ディスクにローカルに配置されたパーシステント ボリュームが表示されます

SNA を使用する vSANvSAN Direct の使い分け

使用する vSAN のタイプを決定する場合は、次の一般的な推奨事項に従ってください。
  • クラウド ネイティブのステートフル アプリケーションで物理インフラストラクチャを他の通常の仮想マシンまたは Kubernetes ワークロードと共有する場合は、SNA を使用する vSAN を使用します。各ワークロードでは、独自のストレージ ポリシーを定義できます。また、1 つのクラスタで両方の環境のメリットを受け取ることができます。
  • Shared Nothing クラウド ネイティブ サービス用に専用のハードウェア クラスタを作成する場合は、vSAN Direct を使用します。

vSAN データ パーシステンス プラットフォーム オペレータ

vSAN データ パーシステンス プラットフォーム (vDPP) オペレータは、vSphere と統合されたパートナー ステートフル サービスを実行および管理するコンポーネントです。vDPP オペレータは、使用可能なステートフル サービスを vSphere 管理者に公開します。vSphere 管理者が、MinIO などのパーシステント サービスを有効にすると、vDPP オペレータは スーパーバイザー にこのサービスのアプリケーション固有のオペレータをデプロイします。

アプリケーション固有のオペレータはサードパーティから提供され、vDPP に準拠している必要があります。通常、オペレータが提供する CRD によって、Kubernetes ユーザーがインスタンスをインスタンス化するためのセルフサービス インターフェイスを利用できます。vSphere IaaS control plane は、このオペレータと CRD を使用して新しいサービス インスタンスをプロビジョニングし、ステートフル サービス レイヤーを通して管理および監視します。これらのオペレータの多くは、ステートフル セットを使用してインスタンスをデプロイします。

vDPP オペレータは、名前空間にサービスのオペレータをデプロイします

vSphere 管理者がサービスを有効にすると、次の処理が行われます。
  • vDPP オペレータにより、サービス固有のオペレータが有効になります。
  • サービス固有のオペレータにより、ユーザー インターフェイス プラグインが登録されます。
  • ストレージ最適化のストレージ ポリシーが作成されます。

vSAN データ パーシステンス プラットフォームの構成の上限

VMware は、VMware 構成の上限ツールで構成上の制限についての情報を提供しています。

vSAN データ パーシステンス の最大値 制限
vSAN データ パーシステンス プラットフォームあたりのパーシステント ボリュームの最大数 1000
vSAN データ パーシステンス プラットフォームのサービス インスタンスあたりのパーシステント ボリュームの最大数 60~80