Red Hat OpenShift 仮想化のためのストレージ設計

NVMe対応の Red Hat OpenShift Data Foundation、 File Storage for VPC、および IBM Cloud Object Storage を永続ボリュームとして使用し、 OpenShift 仮想化ストレージを展開します。

主要なストレージ・アーキテクチャの要素を以下の図に示す。

Red Hat OpenShift IBM Cloud ストレージ上の仮想化 ストレージ上の仮想化 ストレージ上の仮想化 ストレージ上の仮想化 ストレージ上の仮想化
Red Hat OpenShift IBM Cloud

ストレージ・オプション

Red Hat® OpenShift® 仮想化は Kubernetes PersistentVolumes (PV)と PersistentVolumeClaims (PVC)を使ってストレージを管理する。 ブロックストレージ(ベアメタルサーバーでは利用不可)、ファイルストレージ、ローカルストレージ(ベアメタルサーバーでのみ利用可能)など、複数のストレージバックエンドをサポートしている。

Red Hat OpenShift on IBM Cloud IBM Cloud リソースを使用して、 Data Foundation (ODF)、ブロック・ストレージ、ファイル・ストレージ用の統合アドオンを提供します。 Red Hat OpenShift

Red Hat OpenShift データファウンデーション(ODF)

Red Hat OpenShift Data Foundation(ODF)は、コンテナ化されたアプリケーションに永続的なソフトウェア定義ストレージを提供する。 オブジェクト・ストレージ、ブロック・ストレージ、ファイル・ストレージを統合プラットフォームで組み合わせることで、可用性と拡張性の高いストレージを提供する。 ODFはスナップショット、レプリケーション、スケーラブルなストレージ管理などの機能を提供し、 Red Hat OpenShift コンソールやAPIと統合されている。 この統合は、多様なワークロードにまたがるストレージの管理を支援する。

Red Hat OpenShift Virtualizationの主要なストレージオプションは、 Red Hat OpenShift Data Foundationである。 この高可用性ストレージソリューションは、Ceph、 NooBaa,、 Rook などの、いくつかのオープンソースオペレーターおよび技術で構成されています。 これらのオペレータは、ストレージ・クラスを使用して、クラスタのファイル、ブロック、オブジェクト・ストレージのプロビジョニングと管理に使用されます。

ODFは基盤となるストレージを抽象化しており、ODFを使用することで、同じ基盤となる生ブロックストレージから、ファイル、ブロック、またはオブジェクトストレージのクレームを作成することができます。 仮想化では、ODFはベアメタルサーバー上でローカルのNVMeディスクを使用し、パフォーマンスの高い仮想化ストレージレイヤーを作成します。デフォルトでは、アプリケーションデータは3の倍数(通常)でレプリケートされ、高可用性を実現します。 VM のワークロードにディザスタリカバリ(DR)機能を使用したい場合、 Red Hat OpenShift 仮想化を使用した ODF は特に重要です。

ODFについての詳細は、 Understanding OpenShift Data Foundationを 参照してください。

ODFは以下の暗号化レイヤーをサポートしている:

  • クラスタ暗号化 - ストレージクラスタ全体で静止状態のデータを暗号化します。
  • イントランジット暗号化 - ノード、ポッド、クライアント間を移動するデータを保護します。
  • ストレージ・ボリュームの暗号化 - 個々の PersistentVolumes またはストレージ・ボリュームの暗号化を提供します。

Red Hat OpenShift Kubernetes Service におけるストレージ・ボリュームの暗号化の設定については、 暗号化の設定 Hyper Protect Crypto Services を参照してください。

IBM Cloud Object Storage

IBM Cloud Object Storage、バックアップ・ソリューションやその他のオブジェクト・ストレージのニーズと一緒に使用することができます。 IBM Cloud Object Storage、災害が発生した場合に備えて、バックアップ・データをODFクラスタの外部に保存することができます。

IBM Cloud Object Storage は IBM Cloud によって管理されるが、ODFクラスタに構築されたオブジェクト・ストレージは Red Hat OpenShift ワーカー・ノード上で自己管理される。 ユースケースに応じて、 IBM Cloud Object Storage と Red Hat OpenShift の両方を使うことができる。

File Storage for VPC

「 File Storage for VPC 」をご利用いただけます。これは、 NFS に対応したネットワーク接続型ストレージ(NAS)です。

IBM Cloud File Storage for VPC は、永続的で高速かつ柔軟なネットワーク接続型 NFS ベースのストレージオプションです。 パーシステント・ボリューム・クレーム(PVC)を使用することで、アプリケーションに IBM Cloud File Storage。 GB単位の必要な容量とIOPSを提供する、あらかじめ定義されたストレージクラスから選択できます。

  • すべてのファイル共有は、ゾーン可用性でプロビジョニングされる。
  • すべてのクラスがクロスゾーン・マウントをサポートしている。

ファイル共有上のデータは、デフォルトでは IBM-管理された暗号化で静止時に暗号化される。 オプションで、独自のルート鍵を使用して、 お客様鍵でファイル共有を保護することもできる。 詳しくは 、 File Storage for VPC および File Storage for VPC について > データの保護 をご覧ください。

NFS ベースのファイル共有が必要な場合は、ODFクラスタに組み込まれている NFS ストレージを使用することもできます。 ここでの主な違いは、 File Storage for VPC が IBM Cloud によって管理されているのに対し、 NFS ストレージはODFクラスタに構築され、 Red Hat OpenShift 管理されたワーカーノード上で自己管理されていることである。 IOPS および GB の設定は、クラスタとは独立しています。 ユースケースによっては、これらのオプションの両方を使うことができる。

VPC Fileストレージを使用する Red Hat OpenShift 仮想化ワークロードについては、以下の点に留意してください:

  • スナップショットはサポートされていません。
  • このプロビジョナを使用して作成された各パーシステント・ボリューム・クレーム(PVC)は、VPC内の NFS 共有とマウント・ターゲットをプロビジョニングします。
  • PVCは、複数のポッドまたは仮想サーバーにボリュームとしてマウントできる。 ただし、複数の仮想サーバーで共有することはできない。
  • 仮想サーバーの場合、1つの仮想サーバーディスクは1つのPVCに等しく、これは1つの仮想サーバーディスクにつき1つの NFS 共有があることを意味する。

VPC 用ファイルストレージ共有アドオンを Red Hat OpenShift クラスターに導入するには、 IBM Cloud File Storage for VPC クラスター アドオンの有効化を 参照してください。

このアドオンは、 PersistentVolume プロビジョナー vpc.file.csi.ibm.io を自動的にインストールし、 ibmc-vpc-file-* という名前の StorageClasses のセットを作成します。 各オプションでは、異なるIOPSレベルと、さまざまなリクレイムおよびバインディングポリシーが用意されています。 利用可能な StorageClasses の全リストと、そのパラメータの詳細な説明については、 ストレージ・クラス・リファレンスを 参照のこと。

Block Storage for VPC

VPCのブロックストレージは、仮想サーバーのワーカーノードでのみ使用できます。

このアドオンは、 Kubernetes の永続ボリュームクレーム(PVC)を使用して、仮想サーバーのワーカーノード向けに、ハイパーバイザー上にマウントされた高性能なブロックレベルのデータストレージを提供します。 PVCは、仮想サーバー・ディスクを IBM Cloud Block Storage ボリュームに格納するために使用される。

ブロック・ボリューム上のデータは、デフォルトでは IBM-管理された暗号化で静止時に暗号化される。 オプションで、独自のルート鍵を使用して、 お客様鍵でファイル共有を保護することもできる。 詳しくは 、 Block Storage for VPC および Block Storage for VPC について > データの保護 をご覧ください。

ストレージソリューションの選び方

以下の表を参照し、ワークロードの要件に応じて適切なストレージオプションを選択してください。 同じクラスター内で複数のオプションを組み合わせることができます。

ユースケース別のストレージオプションの選択
ユース・ケース おすすめのオプション 主な制約条件
仮想マシンのブートディスクおよびデータディスク、ライブマイグレーション、スナップショット、災害復旧(DR) ベアメタル上のODF(ローカルNVMe) ベアメタルのワーカーノードが必要です。ODFストレージプールには最低3ノードが必要です(シングルゾーンおよびフレキシブルスケーリングの展開では、きめ細かく拡張可能です。マルチゾーンの展開では、3の倍数が必要です)。ROKSではレプリケーションプールのみがサポートされています(ROKSベアメタルではイレイジャーコーディングは利用できません)
ポッド間またはVM間で共有されるファイルシステムへのアクセス ODF NFS ( CephFS-backed ) または File Storage for VPC ODF NFS を利用するには、 NFS ゲートウェイを有効にする必要があります(CPU 約 3 コア + RAM 8 Gi が必要)。 File Storage for VPC はスナップショットに対応しておらず、複数の仮想サーバー間で共有することはできません
ODFクラスタ外のデータまたはオブジェクトのワークロードをバックアップする IBM Cloud Object Storage フルマネージド型。課金は個別に発生します。ブロックまたはファイル型の VM ディスクワークロードには適していません
仮想サーバー(VSI)のワーカーノード上のブロックストレージ Block Storage for VPC VSIワーカーノードでのみ利用可能。ベアメタルでは利用できません
共有の読み取り専用コンテンツまたはインポート元 File Storage for VPC PVC 1つにつき NFS を1台;ゾーンをまたぐマウントに対応;PVCあたり最大32 TB

ODFは、 IBM Cloud 上の Red Hat OpenShift 仮想化において、主要かつ推奨されるストレージソリューションです。 クラスタのプロビジョニングを行う前に、以下の要件を確認してください。

  • ODF では、 Red Hat CoreOS を実行するベアメタルのワーカーノードが必要です。 Red Hat OpenShift 上のODFストレージクラスタ( Kubernetes Service )は、仮想化(VSI)されたワーカーノードをサポートしていません。
  • ODF ストレージノードプールには、最低 3 つのノードが必要です。 シングルゾーンおよび柔軟なスケーリングが可能な導入環境では、初期の3を超えてきめ細かく拡張することができます。 マルチゾーン展開では、3の倍数(3、6、9、…)を使用する必要があります ゾーンの配分バランスを維持するため。 マルチゾーントポロジーにおいて、3の倍数でないゾーンが存在すると、ゾーン間の不均衡が生じ、その結果、OSDの重み付けが不均一になり、データの配置が最適でなくなる。
  • ROKSベアメタル上の本番用ブロックストレージでは、レプリケーションプール( replica-3 および replica-2 )のみがサポートされています。 RBD用のイレイジャー符号化プールは、開発者向けプレビュー機能(ODF 4.20 以上)であり、本番環境での使用はできません。
  • 最適なパフォーマンスと安定性を確保するため、ODF用に専用のストレージ・ワーカー・プールを用意し、 VM のワークロード用に別のコンピュート・ワーカー・プールを用意してください。 ODFデーモンと VM のワークロードを同じノードに配置すると、リソースの競合が発生します。

クラスタのプロビジョニング完了後の ODF の設定手順については、「 仮想マシンワークロード向けの Red Hat OpenShift Data Foundation(ODF) 」を参照してください。

次のステップ

Red Hat OpenShift 仮想化のストレージ設計オプションについて理解したところで、関連するトピックを探っ てみましょう: