為 OpenShift 虛擬化設定儲存設備
虛擬私有雲 4.17 及後 僅裸金屬工作節點 僅 RHCOS
OpenShift 虛擬化需要支援 ReadWriteMany (RWX) 存取模式的儲存設備,用於 VM 磁碟、即時遷移和快照。 您可以使用 OpenShift Data Foundation (ODF) 或 File Storage for VPC 作為您的儲存解決方案。
OpenShift 虛擬化服務 包含預先設定好的儲存空間,無需手動設定。
開始之前
- 使用裸金屬工作節點建立 Red Hat OpenShift on IBM Cloud 集群。 如需詳細資訊,請參閱 建立 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
-
登入 IBM Cloud 帳戶並導覽至您的群集。
-
按一下群集導覽中的附加元件。
-
在 OpenShift Data Foundation 卡上,按一下安裝。
-
選擇本機儲存選項。
VPC 裸機節點不支援遠端區塊磁碟區附加。
-
請從以下探索方法中選擇一種:
- 自動發現(推薦)
- 選擇「自動發現」,以自動偵測並使用裸金屬工作節點上的可用磁碟。
- 手動磁碟規格
- 如果您希望手動指定磁碟,請遵循這些步驟:
- 登入每個工作站節點,找出可用的磁碟。
oc debug node/<node-name> - 允許主機二進位檔案。
chroot /host - 列出可用的裝置。
lsblk - 找出每個磁碟的 by-id。
ls -l /dev/disk/by-id/ - 在 OSD pod 磁碟 ID 參數中加入磁碟 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" - 確認附加元件處於就緒狀態。
輸出範例: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 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 設為停用
- 編輯 VPC Block CSI 驅動程式配置映射。
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 後,您必須為 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:手動編輯特定的儲存設定檔
-
列出可用的儲存設定檔。
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 驅動程式 Pod 是否正在執行。
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 |
|---|---|---|
| 效能 | 高 (本機磁碟) | 中等(網路儲存) |
| 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
下一步
設定儲存後: