OpenShift 仮想化用ストレージのセットアップ
仮想プライベートクラウド 4.17 その後 ベアメタルワーカーノードのみ RHCOSのみ
OpenShift 仮想化には、 VM ディスク、ライブマイグレーション、スナップショット用の ReadWriteMany (RWX) アクセスモードをサポートするストレージが必要です。 ストレージ・ソリューションとして、 OpenShift Data Foundation(ODF)または File Storage for VPC。
OpenShift 仮想化サービスには、あらかじめ設定済みのストレージが含まれており、手動での設定は不要です。
開始前に
- ベアメタルワーカーノードで Red Hat OpenShift on IBM Cloud クラスタを作成する。 詳細については、 VPCクラスタの作成を 参照してください。
- クラスタが OpenShift Virtualizationの前提条件を満たして いることを確認します。
- ワークロード要件に基づいて、使用するストレージ・ソリューションを決定する。 ガイダンスについては、 ストレージ・ソリューションの計画を 参照してください。
OpenShift Virtualizationをインストールする前に、クラスタには正しく構成されたストレージ・ソリューションが1つ必要です。
OpenShift Data Foundation のセットアップ
OpenShift Data Foundation(ODF)は、高いパフォーマンス、スナップショット、クローン作成機能を必要とする本番ワークロードに推奨される。
このセクションは、手動による OpenShift 仮想化環境の導入にのみ適用されます。 OpenShift Virtualization Service をご利用の場合は、ODF が事前に設定済みのため、これらの手順を実行する必要はありません。
ODFの前提条件
- ローカルNVMEストレージを備えたベアメタルワーカーノード
- ローカルのNVMEディスクを含む、
dのサフィックスを持つフレーバーを使用する。 - ワーカー・ノードの要件
- ODFは、高可用性とデータの冗長性のために、少なくとも3つのワーカーノードを必要とします。
- ゾーン構成
-
- OpenShift 仮想化の導入 : VM ワークロードのストレージレイテンシーを最小化するために、シングルゾー ンクラスターを推奨します。 マルチゾーン展開により高可用性は向上するが、クロスゾーンストレージレプリケーションは VM のパフォーマンスに影響を与える可能性がある。
- 一般的なODFの展開 :高可用性とディザスタリカバリのために、少なくとも3つのゾーンを推奨します。
コンソールからのODFのインストール
-
IBM Cloud アカウントログインし、クラスタに移動します。
-
クラスターナビゲーションでアドオンをクリックします。
-
「 OpenShift Data Foundation 」カードで、「 インストール 」をクリックします。
-
Local Storage オプションを選択する。
リモートブロックボリュームアタッチメントは、VPCベアメタルノードではサポートされていません。
-
以下の調査方法の中から1つを選んでください:
- 自動検出(推奨)
- ベアメタルワーカーノードで利用可能なディスクを自動的に検出し使用するには、 自動検出を選択します。
- マニュアルディスク仕様
- ディスクを手動で指定したい場合は、以下の手順に従ってください:
- 各ワーカーノードにログインして、利用可能なディスクを特定する。
oc debug node/<node-name> - ホスト・バイナリーを許可します。
chroot /host - 使用可能なデバイスをリストアップします。
lsblk - 各ディスクのby-idを見つける。
ls -l /dev/disk/by-id/ - OSD pod disk IDs パラメータにディスクIDを追加する。
-
必要に応じて追加のパラメータを設定する:
- リソースプロファイル :ワークロードに応じて、
balancedまたはperformanceを選択してください - 暗号化 :必要に応じて Hyper Protect Crypto Services で暗号化を有効にする
- OSDディスクの数 :ワーカーノードあたりのディスク数を指定します
- リソースプロファイル :ワークロードに応じて、
-
インストールをクリックしてODFを配置します。
ODFパラメータの詳細については、 OpenShift Data Foundationパラメータリファレンスを 参照してください。
CLI からの ODF のインストール
- 利用可能なアドオンオプションを確認してください。
ibmcloud oc cluster addon options --addon openshift-data-foundation --version 4.20.0 - ディスクの自動検出と仮想化をサポートする OpenShift Data Foundation アドオンを有効にする。
ibmcloud oc cluster addon enable openshift-data-foundation \ -c <cluster-name> \ --version 4.20.0 \ --param "odfDeploy=true" \ --param "osdStorageClassName=localblock" \ --param "autoDiscoverDevices=true" \ --param "resourceProfile=performance" \ --param "setDefaultStorageClassForVirtualization=true" - アドオンが「Ready」状態になっていることを確認してください。
出力例:oc get storagecluster -n openshift-storageNAME AGE PHASE EXTERNAL CREATED AT VERSION ocs-storagecluster 53m Ready 2025-03-10T12:20:52Z 4.20.0
ODFのインストールを確認する
- ストレージクラスタのステータスを確認する。
oc get storagecluster -n openshift-storage - ストレージクラスが利用可能であることを確認する。
oc get storageclass | grep ocs - ODFポッドが起動していることを確認する。
oc get pods -n openshift-storage
ODFのデプロイの詳細については、 OpenShift Data FoundationをVPCクラスタにデプロイするを 参照してください。
オプション 2: VPC の設定 File Storage
File Storage for VPC I/O要件が低い非本番ワークロードや環境において、コスト効率に優れた選択肢となります。
このセクションは、手動による OpenShift 仮想化環境の導入にのみ適用されます。 OpenShift Virtualization Service をご利用の場合は、ストレージはあらかじめ設定済みのため、これらの手順を実行する必要はありません。
VPCの前提条件 File Storage
- サポートされているあらゆるベアメタル環境
- VPC インフラストラクチャー
手順 1: VPC のデフォルトの Block Storage を無効にする
- VPC Block CSI ドライバーの ConfigMap を編集します。
oc edit cm addon-vpc-block-csi-driver-configmap -n kube-system IsStorageClassDefaultをfalseに設定します。data: IsStorageClassDefault: "false"- エディターを保存して終了します。
ステップ 2: VPC ファイル CSI ドライバーをインストールする
コンソールから
-
クラスタのダッシュボードで、「 アドオン 」をクリックします。
-
[アドオン] File Storage for VPC アドオンを探します。
-
**「インストール」**をクリックします。
-
アドオンが「 通常 」状態になるまでお待ちください。
CLI から
- VPC File CSI ドライバー・アドオンを有効にします。
ibmcloud ks cluster addon enable vpc-file-csi-driver -c <cluster-name> - アドオンが有効になっていることを確認してください。
ibmcloud ks cluster addon ls -c <cluster-name>
ステップ3:デフォルトのストレージクラスを設定する
-
使用可能なストレージ・クラスをリストします。
oc get storageclass | grep vpc-file -
ワークロードに応じて、適切なストレージクラスを選択してください:
ibmc-vpc-file-1000-iops: 中程度のワークロード向け(40 GB ~ 2000 IOPS)ibmc-vpc-file-6000-iops: より高い負荷(100 GB ~ 6000 IOPS)の場合ibmc-vpc-file-metro-1000-iops: マルチゾーン展開の場合
-
VPCファイルのCSIドライバー構成マップを編集します。
oc edit cm addon-vpc-file-csi-driver-configmap -n kube-system -
「
SET_DEFAULT_STORAGE_CLASS」フィールドに、選択したストレージクラスを設定してください。data: SET_DEFAULT_STORAGE_CLASS: "ibmc-vpc-file-metro-1000-iops" -
エディターを保存して終了します。
-
変更が反映されるまで、数分お待ちください。
-
デフォルトのストレージクラスを確認してください。
oc get storageclass | grep "(default)"
ステップ 4: VPC のストレージプロファイルを設定する File Storage
OpenShift Virtualization Operator をインストールした後、Container Disk Importer (CDI) は VPC File Storage のプロパティを自動的に認識しないため、VPC File Storage 用のストレージプロファイルを設定する必要があります。
この手順は、 OpenShift Virtualization Operator のインストール後に実行する必要があります。
オプション 1: すべての VPC ファイルストレージプロファイルにパッチを適用する(推奨)
このユーティリティコマンドを使用して、VPC File CSI プロビジョナーのすべてのストレージプロファイルにパッチを適用します
for sp in $(oc get storageprofile.cdi.kubevirt.io -o json | jq -r '.items[] | select(.status.provisioner == "vpc.file.csi.ibm.io") | .metadata.name'); do
oc patch storageprofile.cdi.kubevirt.io "$sp" --type=merge -p '{
"spec": {
"claimPropertySets": [
{
"accessModes": ["ReadWriteMany"],
"volumeMode": "Filesystem"
}
]
}
}'
done
オプション 2: 特定のストレージプロファイルを手動で編集する
-
利用可能なストレージプロファイルを一覧表示します。
oc get storageprofile -
デフォルトのストレージクラスのストレージプロファイルを編集します。
oc edit storageprofile <storage-profile-name> -
specの下に、以下の設定を追加してください:spec: claimPropertySets: - accessModes: - ReadWriteMany volumeMode: Filesystem -
エディターを保存して終了します。
-
ストレージプロファイルが更新されていることを確認してください。
oc get storageprofile <storage-profile-name> -o yaml
ストレージプロファイルの詳細については、「 ストレージプロファイルのカスタマイズ 」を参照してください。
VPC上の File Storage のインストールを確認する
- VPC File CSI ドライバーのポッドが実行中であることを確認してください。
oc get pods -n kube-system | grep vpc-file - デフォルトのストレージクラスが正しく設定されていることを確認してください。
oc get storageclass | grep "(default)" - テスト用のPVCを作成して、ストレージのプロビジョニングをテストします。
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: test-pvc spec: accessModes: - ReadWriteMany resources: requests: storage: 10Gi - PVCが結合していることを確認してください。
oc get pvc test-pvc - テスト用PVCを削除してください。
oc delete pvc test-pvc
ストレージの比較
| 特長 | OpenShift Data Foundation | VPC File Storage |
|---|---|---|
| パフォーマンス | 高(ローカルディスク) | 中程度(ネットワークストレージ) |
| スナップショット | サポート対象 | サポートされていません |
| 複製中 | サポート対象 | サポートされていません |
| ライブ・マイグレーション | サポート対象 | サポート対象 |
| マルチゾーンHA | 対応(3ゾーン以上) | 対応(スループットが低い) |
| コスト | 上限 | 下限 |
| 以下に最適 | 実動ワークロード | 非生産環境のワークロード |
ストレージ設定のトラブルシューティング
ODFのインストールに失敗
ODFのインストールに失敗した場合は、以下を確認してください:
- ベアメタルノードにローカルNVMEストレージがあることを確認する
- 少なくとも3つのワーカーノードがあることを確認してください
- ディスクがアンマウントされ、フォーマットされていないことを確認する
- ODFオペレーターのログを確認する:
oc logs -n openshift-storage -l app=ocs-operator
VPC( File Storage )のPVCは保留中のままです
PVCが保留状態のままの場合:
- VPC File CSI ドライバー・アドオンがインストールされており、正常に動作していることを確認してください
- デフォルトのストレージクラスが正しく設定されているか確認してください
- ストレージプロファイルがRWXアクセスモードで設定されていることを確認してください
- CSIドライバーのログを確認する:
oc logs -n kube-system -l app=ibm-vpc-file-csi-controller
ストレージプロファイルが更新されていません
ストレージプロファイルに正しい設定が表示されていない場合は:
- 「 OpenShift Virtualization Operator」がインストールされていることを確認してください
- ストレージプロファイルが自動的に作成されるまでお待ちください
- 提供されているコマンドを使用して、ストレージプロファイルを手動で修正する
- プロビジョナー名が一致していることを確認してください
vpc.file.csi.ibm.io
次のステップ
ストレージの設定後: