為何將現有區塊儲存體裝載至 Pod 失敗,且檔案系統錯誤?

當區塊儲存卷以錯誤的檔案系統掛載時,請進行問題排除。

虛擬私有雲 經典基礎架構

執行 oc describe pod <pod_name> 時,會看到以下錯誤訊息:

failed to mount the volume as "ext4", it already contains xfs. Mount error: mount failed: exit status 32

您的現有區塊儲存裝置已設定 XFS 檔案系統。 若要將此裝置裝載至您的 Pod,您已建立 PV,其將 ext4 指定為檔案系統或 spec/flexVolume/fsType 區段中未指定檔案系統。 如果未定義任何檔案系統,則 PV 預設為 ext4

PV 已順利建立並鏈結至現有區塊儲存空間實例。 不過,當您嘗試使用相符的 PVC 將 PV 裝載到叢集時,會無法裝載磁區。 您無法將採用 ext4 檔案系統的 XFS 區塊儲存實例掛載至 Pod。

將現有 PV 中的檔案系統從 ext4 更新至 XFS

  1. 列出叢集裡的現有 PV,並記下用於現有區塊儲存空間實例的 PV 名稱。

    oc get pv
    
  2. 將 PV YAML 儲存在您的本端機器上。

    oc get pv <pv_name> -o yaml > <filepath/xfs_pv.yaml>
    
  3. 開啟 YAML 檔案,並將 fsTypeext4 變更為 xfs

  4. 取代叢集裡的 PV。

    oc replace --force -f <filepath/xfs_pv.yaml>
    
  5. 登入已裝載 PV 的 Pod。

    oc exec -it <pod_name> sh
    
  6. 驗證檔案系統已變更為 XFS

    df -Th
    

    輸出範例

    Filesystem Type Size Used Avail Use% Mounted on /dev/mapper/3600a098031234546d5d4c9876654e35 xfs 20G 33M 20G 1% /myvolumepath