Red Hat OpenShift 仮想化のためのストレージ設計
NVMe対応の Red Hat OpenShift Data Foundation、 File Storage for VPC、および IBM Cloud Object Storage を永続ボリュームとして使用し、 OpenShift 仮想化ストレージを展開します。
主要なストレージ・アーキテクチャの要素を以下の図に示す。
ストレージ・オプション
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 仮想化のストレージ設計オプションについて理解したところで、関連するトピックを探っ てみましょう:
- セキュリティストレージの 暗号化とデータ保護を 見直す
- 回復力 ODFの バックアップと災害復旧戦略について 学ぶ
- コンピュート コンピュート設計オプションと ストレージ要件の検討
- リファレンス・アーキテクチャ Red Hat OpenShift 仮想化リファレンス・アーキテクチャの 全容を確認する