為 OpenShift 虛擬化設定儲存設備

虛擬私有雲 4.17 及後 僅裸金屬工作節點 僅 RHCOS

OpenShift 虛擬化需要支援 ReadWriteMany (RWX) 存取模式的儲存設備,用於 VM 磁碟、即時遷移和快照。 您可以使用 OpenShift Data Foundation (ODF) 或 File Storage for VPC 作為您的儲存解決方案。

OpenShift 虛擬化服務 包含預先設定好的儲存空間,無需手動設定。

開始之前

在安裝 OpenShift Virtualization 之前,您的群集必須有一個正確設定的儲存解決方案。

設定 OpenShift Data Foundation

OpenShift 建議需要高效能、快照和複製功能的生產工作負載使用 Data Foundation (ODF)。

本節僅適用於手動部署的 OpenShift 虛擬化環境。 如果您使用的是 OpenShift 虛擬化服務, ODF 已預先設定好,您無需執行以下步驟。

使用 ODF 的先決條件

使用本機 NVME 儲存設備的裸金屬工作節點
使用後綴為 d 且包含本機 NVME 磁碟的版本。
工作節點需求
ODF 至少需要 3 個工作節點,以提供高可用性和資料備援。
區域配置
  • OpenShift 虛擬化部署:建議使用單區群集,以盡量減少 VM 工作負載的儲存延遲。 雖然多區部署可提供更好的高可用性,但跨區儲存複製會影響 VM 的效能。
  • 一般 ODF 部署:建議至少使用 3 個區域,以達到高可用性和災難復原。

透過終端機安裝 ODF

  1. 登入 IBM Cloud 帳戶並導覽至您的群集。

  2. 按一下群集導覽中的附加元件

  3. OpenShift Data Foundation 卡上,按一下安裝

  4. 選擇本機儲存選項。

    VPC 裸機節點不支援遠端區塊磁碟區附加。

  5. 請從以下探索方法中選擇一種:

    自動發現(推薦)
    選擇「自動發現」,以自動偵測並使用裸金屬工作節點上的可用磁碟。
    手動磁碟規格
    如果您希望手動指定磁碟,請遵循這些步驟:
    1. 登入每個工作站節點,找出可用的磁碟。
      oc debug node/<node-name>
      
    2. 允許主機二進位檔案。
      chroot /host
      
    3. 列出可用的裝置。
      lsblk
      
    4. 找出每個磁碟的 by-id。
      ls -l /dev/disk/by-id/
      
    5. OSD pod 磁碟 ID 參數中加入磁碟 ID。
  6. 根據需要設定其他參數:

    • 資源簡介:根據您的工作量選擇 balancedperformance
    • 加密:如果需要,使用 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. 確認附加元件處於就緒狀態。
    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 pod 正在執行。
    oc get pods -n openshift-storage
    

如需部署 ODF 的詳細資訊,請參閱 在 VPC 群集中部署 OpenShift Data Foundation

選項 2:設定 VPC File Storage

File Storage for VPC 對於非生產工作負載或 I/O 需求較低的環境而言,這是一個性價比高的選擇。

本節僅適用於手動部署的 OpenShift 虛擬化環境。 如果您使用的是 OpenShift 虛擬化服務, 儲存空間已預先設定,因此無需執行以下步驟。

VPC 的先決條件 File Storage

  • 任何受支援的裸機版本
  • VPC 基礎架構

步驟 1:將 VPC 的預設 Block Storage 設為停用

  1. 編輯 VPC Block CSI 驅動程式配置映射。
    oc edit cm addon-vpc-block-csi-driver-configmap -n kube-system
    
  2. IsStorageClassDefault 設定為 false
    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 後,您必須為 VPC File Storage 設定儲存配置檔,因為 Container Disk Importer (CDI) 不會自動識別 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 驅動程式 Pod 是否正在執行。
    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
效能 高 (本機磁碟) 中等(網路儲存)
Snapshot 受支援 不支援
複製 受支援 不支援
即時移轉 受支援 受支援
多區域 HA 支援 (3+ 區域) 支援(吞吐量較低)
成本 高於 小寫
最適用於 生產工作量 非生產環境的工作負載

疑難排解儲存設定

ODF 安裝失敗

如果 ODF 安裝失敗,請檢查下列內容:

  • 驗證您的裸機節點具本地 NVME 儲存空間
  • 確保您至少有 3 個工作站節點
  • 檢查磁碟是否已解除掛載及格式化
  • 檢閱 ODF 操作員日誌:oc logs -n openshift-storage -l app=ocs-operator

VPC File Storage PVCs 仍處於待處理狀態

如果 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. 設定虛擬網路介面(選用)