使用 VPC 建立虛擬機器 File Storage

虛擬私有雲 4.17 後來 僅限裸機工作節點 僅限 RHCOS

使用 File Storage for VPC 為在 OpenShift Virtualization 上執行的虛擬機器佈建持久性儲存空間。

本主題說明如何驗證環境、建立使用 VPC File Storage 的虛擬機器,以及驗證虛擬機器是否成功啟動。

開始之前

在使用 VPC File Storage 建立虛擬機器之前,請完成下列任務:

  1. 使用 Red Hat CoreOS (RHCOS) 的裸金屬工作節點建立 VPC 群集。 如需詳細資訊,請參閱 建立 VPC 群集
  2. 檢閱 規劃 OpenShift 虛擬化部署 中的規劃指南。
  3. 按照 為 OpenShift 虛擬化設定儲存 中所述,設定 VPC File Storage。
  4. 安裝 OpenShift 虛擬化操作程式 中所述,安裝 OpenShift Virtualization Operator。
  5. 安裝 virtctl CLI。 如需詳細資訊,請參閱 OpenShift 虛擬化 CLI 工具入門

驗證您的環境

在建立虛擬機器之前,請確認您的群集已準備就緒。

  1. 確認已部署 OpenShift Virtualization 元件。

    oc get hyperconverged -n openshift-cnv
    oc get pods -n openshift-cnv
    

    在 HyperConverged 輸出中尋找 PHASEDeployed。 在 pod 輸出中,驗證虛擬化 pod 是否顯示 RunningCompleted 狀態,以及它們是否停留在 PendingCrashLoopBackOffError

  2. 確認已安裝 VPC File CSI 驅動程式附加元件。

    ibmcloud ks cluster addon ls -c CLUSTER_NAME | grep vpc-file-csi-driver
    

    在輸出中尋找 vpc-file-csi-driver 附加元件,並驗證其健康狀態是否為 normal 或狀態指示附加元件已就緒。

  3. 驗證 VPC File Storage 類別是否可用。

    oc get storageclass | grep vpc-file
    

    尋找儲存類別,例如 ibmc-vpc-file-1000-iopsibmc-vpc-file-6000-iops。 請注意您要在後續步驟中使用的儲存類別名稱。

  4. 確認您所選擇的 VPC File Storage 類別的儲存設定檔已設定為 ReadWriteMany 存取模式和 Filesystem 磁碟區模式。

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

    在輸出中,請在 spec 下查找 claimPropertySets。 確認 accessModes 包含 ReadWriteMany,且 volumeMode 設定為 Filesystem

    claimPropertySets:
    - accessModes:
      - ReadWriteMany
      volumeMode: Filesystem
    
  5. 確認選取的儲存類別可以提供持久卷索賠。

    cat <<EOF | oc apply -f -
    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: vpc-file-test-pvc
    spec:
      accessModes:
      - ReadWriteMany
      resources:
        requests:
          storage: 10Gi
      storageClassName: <storage-class-name>
    EOF
    
  6. 確認測試持久卷索賠已綁定。

    oc get pvc vpc-file-test-pvc
    

    在輸出中,尋找 STATUS 欄,並驗證持久卷聲稱顯示 Bound。 如果索賠仍在 Pending 中,則儲存類或儲存設定檔未正確設定。

  7. 如果索賠未綁定,請檢查持久卷索賠詳情。

    oc describe pvc vpc-file-test-pvc
    
  8. 刪除測試永久磁碟區聲稱。

    oc delete pvc vpc-file-test-pvc
    

從網頁主控台建立虛擬機器

使用 OpenShift 網頁主控台建立虛擬機器,將磁碟儲存在 VPC File Storage 上。

  1. 登入群集的 OpenShift 網頁主控台。
  2. 在導覽功能表中,按一下虛擬化 >。VirtualMachines.
  3. 按一下建立,然後選擇範本;如果要手動定義虛擬機器,則選擇從 YAML
  4. 請輸入虛擬機器的名稱。
  5. 請選擇您要建立虛擬機器的專案。
  6. 在儲存部分,選擇 VPC File Storage 類別,例如 ibmc-vpc-file-1000-iopsibmc-vpc-file-6000-iops
  7. 根據您的工作負載需求設定磁碟大小。
  8. 檢視 CPU 和記憶體設定,然後視需要更新。
  9. 按一下建立 VirtualMachine
  10. 在虛擬機器詳細資訊頁面中,檢視磁碟網路介面組態索引標籤,確認虛擬機器是以預期的設定建立。

建立虛擬機器後,主控台會建立相關的持久卷索賠和資料卷資源。

從 CLI 建立虛擬機器

如果要從可重複使用的艙單中建立虛擬機器,請使用 CLI。

  1. 為您的虛擬機器工作負載建立命名空間(如果尚未建立)。

    oc create namespace vm-project
    
  2. 建立引用 VPC File Storage 類的虛擬機器清單。

    cat <<EOF | oc apply -f -
    apiVersion: kubevirt.io/v1
    kind: VirtualMachine
    metadata:
      name: rhel9-vm
      namespace: vm-project
    spec:
      running: false
      template:
        metadata:
          labels:
            kubevirt.io/domain: rhel9-vm
        spec:
          domain:
            cpu:
              cores: 2
            devices:
              disks:
              - disk:
                  bus: virtio
                name: rootdisk
              - disk:
                  bus: virtio
                name: cloudinitdisk
            resources:
              requests:
                memory: 4Gi
          volumes:
          - dataVolume:
              name: rhel9-vm-rootdisk
            name: rootdisk
          - cloudInitNoCloud:
              userData: |
                #cloud-config
                user: cloud-user
                password: changeme
                chpasswd: { expire: false }
            name: cloudinitdisk
      dataVolumeTemplates:
      - metadata:
          name: rhel9-vm-rootdisk
        spec:
          pvc:
            accessModes:
            - ReadWriteMany
            resources:
              requests:
                storage: 40Gi
            storageClassName: <storage-class-name>
            volumeMode: Filesystem
          source:
            blank: {}
    EOF
    
  3. 驗證是否已建立虛擬機器和資料卷資源。

    oc get vm -n vm-project
    oc get dv -n vm-project
    oc get pvc -n vm-project
    

    在輸出中,驗證虛擬機器 rhel9-vm 是否已列出、資料卷 rhel9-vm-rootdisk 是否存在,以及持久卷索賠 rhel9-vm-rootdisk 是否已建立。 如果持久卷索賠尚未 Bound,請等待佈建完成後再繼續。

  4. 如果資料卷尚未就緒,請檢視資料卷詳細資訊。

    oc describe dv rhel9-vm-rootdisk -n vm-project
    oc describe pvc rhel9-vm-rootdisk -n vm-project
    
  5. 啟動虛擬機器。

    virtctl start rhel9-vm -n vm-project
    
  6. 驗證虛擬機器實例是否正在執行。

    oc get vmi -n vm-project
    

    在輸出中,尋找虛擬機器實體名稱,並驗證其階段為 Running。 如果沒有列出虛擬機器實例,請檢視虛擬機器狀態。

    oc get vm rhel9-vm -n vm-project -o yaml
    

驗證虛擬機

建立虛擬機器後,驗證儲存和運算資源是否如預期般運作。

  1. 確認已綁定持久卷索賠。

    oc get pvc -n vm-project
    

    在輸出中,尋找持久卷索賠 rhel9-vm-rootdisk,並驗證 STATUS 列顯示 Bound

  2. 確認資料卷匯入或佈建已成功完成。

    oc get dv -n vm-project
    

    在輸出中,驗證資料卷是否顯示成功階段,如 SucceededReady,視您的環境而定。 如果資料卷尚未就緒,請檢閱資料卷和持久性資料卷索賠事件。

    oc describe dv rhel9-vm-rootdisk -n vm-project
    oc describe pvc rhel9-vm-rootdisk -n vm-project
    
  3. 確認虛擬機器實例正在執行。

    oc get vmi -n vm-project
    
  4. 檢視虛擬機器實體詳細資訊,確認節點位置、介面和連接的磁碟區。

    oc describe vmi rhel9-vm -n vm-project
    
  5. 如果配置了雲啟動憑證,請連接到虛擬機主控台。

    virtctl console rhel9-vm -n vm-project
    
  6. 如果實例無法啟動,請檢視虛擬機器詳細資訊。

    oc describe vm rhel9-vm -n vm-project
    oc describe vmi rhel9-vm -n vm-project
    

瞭解限制與注意事項

為虛擬機器使用 VPC File Storage 時,請檢閱下列注意事項:

VPC File Storage 的效能
VPC File Storage 是一種網路連接儲存選項。 一般而言,它最適合開發、測試和低 I/O 工作負載。
快照與複製
快照和複製支援與 OpenShift Data Foundation 不同。 在將生產工作負載標準化為 VPC File Storage 之前,請先檢閱您的儲存需求。
即時移轉
當儲存設定檔配置正確,且工作負載符合 OpenShift 虛擬化要求時,便可支援即時遷移。
儲存設定檔組態
您必須設定 VPC File CSI 儲存設定檔,以便 CDI 能正確使用儲存類別。

疑難排解

如果虛擬機器無法啟動或磁碟未正確配置,請檢閱下列主題:

下一步

使用 VPC File Storage 建立虛擬機器後:

  1. 管理虛擬化服務叢集中的虛擬機器
  2. 設定虛擬網路介面
  3. 檢閱 Red Hat OpenShift 虛擬化文件