OpenShift 仮想化用ストレージのセットアップ

仮想プライベートクラウド 4.17 その後 ベアメタルワーカーノードのみ RHCOSのみ

OpenShift 仮想化には、 VM ディスク、ライブマイグレーション、スナップショット用の ReadWriteMany (RWX) アクセスモードをサポートするストレージが必要です。 ストレージ・ソリューションとして、 OpenShift Data Foundation(ODF)または File Storage for VPC。

OpenShift 仮想化サービスには、あらかじめ設定済みのストレージが含まれており、手動での設定は不要です。

開始前に

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のインストール

  1. IBM Cloud アカウントログインし、クラスタに移動します。

  2. クラスターナビゲーションでアドオンをクリックします。

  3. OpenShift Data Foundation 」カードで、「 インストール 」をクリックします。

  4. Local Storage オプションを選択する。

    リモートブロックボリュームアタッチメントは、VPCベアメタルノードではサポートされていません。

  5. 以下の調査方法の中から1つを選んでください:

    自動検出(推奨)
    ベアメタルワーカーノードで利用可能なディスクを自動的に検出し使用するには、 自動検出を選択します。
    マニュアルディスク仕様
    ディスクを手動で指定したい場合は、以下の手順に従ってください:
    1. 各ワーカーノードにログインして、利用可能なディスクを特定する。
      oc debug node/<node-name>
      
    2. ホスト・バイナリーを許可します。
      chroot /host
      
    3. 使用可能なデバイスをリストアップします。
      lsblk
      
    4. 各ディスクのby-idを見つける。
      ls -l /dev/disk/by-id/
      
    5. OSD pod disk IDs パラメータにディスクIDを追加する。
  6. 必要に応じて追加のパラメータを設定する:

    • リソースプロファイル :ワークロードに応じて、 balanced または performance を選択してください
    • 暗号化 :必要に応じて Hyper Protect Crypto Services で暗号化を有効にする
    • OSDディスクの数 :ワーカーノードあたりのディスク数を指定します
  7. インストールをクリックしてODFを配置します。

ODFパラメータの詳細については、 OpenShift Data Foundationパラメータリファレンスを 参照してください。

CLI からの ODF のインストール

  1. 利用可能なアドオンオプションを確認してください。
    ibmcloud oc cluster addon options --addon openshift-data-foundation --version 4.20.0
    
  2. ディスクの自動検出と仮想化をサポートする 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"
    
  3. アドオンが「Ready」状態になっていることを確認してください。
    oc get storagecluster -n openshift-storage
    
    出力例:
    NAME                 AGE   PHASE   EXTERNAL   CREATED AT             VERSION
    ocs-storagecluster   53m   Ready              2025-03-10T12:20:52Z   4.20.0
    

ODFのインストールを確認する

  1. ストレージクラスタのステータスを確認する。
    oc get storagecluster -n openshift-storage
    
  2. ストレージクラスが利用可能であることを確認する。
    oc get storageclass | grep ocs
    
  3. 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 を無効にする

  1. VPC Block CSI ドライバーの ConfigMap を編集します。
    oc edit cm addon-vpc-block-csi-driver-configmap -n kube-system
    
  2. IsStorageClassDefaultfalseに設定します。
    data:
      IsStorageClassDefault: "false"
    
  3. エディターを保存して終了します。

ステップ 2: VPC ファイル CSI ドライバーをインストールする

コンソールから

  1. クラスタのダッシュボードで、「 アドオン 」をクリックします。

  2. [アドオン] File Storage for VPC アドオンを探します。

  3. **「インストール」**をクリックします。

  4. アドオンが「 通常 」状態になるまでお待ちください。

CLI から

  1. VPC File CSI ドライバー・アドオンを有効にします。
    ibmcloud ks cluster addon enable vpc-file-csi-driver -c <cluster-name>
    
  2. アドオンが有効になっていることを確認してください。
    ibmcloud ks cluster addon ls -c <cluster-name>
    

ステップ3:デフォルトのストレージクラスを設定する

  1. 使用可能なストレージ・クラスをリストします。

    oc get storageclass | grep vpc-file
    
  2. ワークロードに応じて、適切なストレージクラスを選択してください:

    • ibmc-vpc-file-1000-iops: 中程度のワークロード向け(40 GB ~ 2000 IOPS)
    • ibmc-vpc-file-6000-iops: より高い負荷(100 GB ~ 6000 IOPS)の場合
    • ibmc-vpc-file-metro-1000-iops: マルチゾーン展開の場合
  3. VPCファイルのCSIドライバー構成マップを編集します。

    oc edit cm addon-vpc-file-csi-driver-configmap -n kube-system
    
  4. SET_DEFAULT_STORAGE_CLASS 」フィールドに、選択したストレージクラスを設定してください。

    data:
      SET_DEFAULT_STORAGE_CLASS: "ibmc-vpc-file-metro-1000-iops"
    
  5. エディターを保存して終了します。

  6. 変更が反映されるまで、数分お待ちください。

  7. デフォルトのストレージクラスを確認してください。

    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: 特定のストレージプロファイルを手動で編集する

  1. 利用可能なストレージプロファイルを一覧表示します。

    oc get storageprofile
    
  2. デフォルトのストレージクラスのストレージプロファイルを編集します。

    oc edit storageprofile <storage-profile-name>
    
  3. spec の下に、以下の設定を追加してください:

    spec:
      claimPropertySets:
      - accessModes:
        - ReadWriteMany
        volumeMode: Filesystem
    
  4. エディターを保存して終了します。

  5. ストレージプロファイルが更新されていることを確認してください。

    oc get storageprofile <storage-profile-name> -o yaml
    

ストレージプロファイルの詳細については、「 ストレージプロファイルのカスタマイズ 」を参照してください。

VPC上の File Storage のインストールを確認する

  1. VPC File CSI ドライバーのポッドが実行中であることを確認してください。
    oc get pods -n kube-system | grep vpc-file
    
  2. デフォルトのストレージクラスが正しく設定されていることを確認してください。
    oc get storageclass | grep "(default)"
    
  3. テスト用のPVCを作成して、ストレージのプロビジョニングをテストします。
    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: test-pvc
    spec:
      accessModes:
      - ReadWriteMany
      resources:
        requests:
          storage: 10Gi
    
  4. PVCが結合していることを確認してください。
    oc get pvc test-pvc
    
  5. テスト用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

次のステップ

ストレージの設定後:

  1. OpenShift 仮想化オペレータのインストール
  2. 仮想マシンの作成と管理
  3. 仮想ネットワークインターフェースの設定(オプション)