排解 Managed Lustre 磁碟區問題

本頁面提供疑難排解步驟,協助解決在 Google Kubernetes Engine 上使用 Google Cloud Managed Lustre CSI 驅動程式時的常見問題和錯誤。

在按照本節的疑難排解步驟操作之前,請先參閱從 GKE 連線至 Managed Lustre 時的限制

更新執行個體容量下限

Managed Lustre 執行個體的容量下限已更新為 9000 GiB。如要使用 Managed Lustre CSI 驅動程式建立 9000 GiB 的執行個體,請將叢集版本升級至 1.34.0-gke.2285000 以上版本。

動態佈建的 Lustre 執行個體效能層級不正確

動態佈建 Lustre 執行個體時,無論 API 要求中指定的 perUnitStorageThroughput 值為何,執行個體建立作業都會失敗,並顯示 InvalidArgument 錯誤訊息,指出 PerUnitStorageThroughput。這會影響 1.33.4-gke.1036000 之前的 GKE 1.33 版本。

解決方法:

將 GKE 叢集升級至 1.33.4-gke.1036000 以上版本。 如果使用穩定版,可能還無法取得較新版本。在這種情況下,您可以從「一般」或「快速」管道手動選取包含修正程式的版本。

Managed Lustre 通訊埠

Managed Lustre CSI 驅動程式會使用不同的通訊埠與 Managed Lustre 執行個體通訊,具體取決於 GKE 叢集版本和現有的 Managed Lustre 設定。

  • 預設連接埠 (988):對於執行 1.33.2-gke.4780000 版或更新版本的新 GKE 叢集,驅動程式預設會使用連接埠 988 進行 Lustre 通訊。

  • 舊版通訊埠 (6988):在下列情況中,驅動程式會使用通訊埠 6988

    • 較舊的 GKE 版本:如果 GKE 叢集執行的版本早於 1.33.2-gke.4780000,啟用 CSI 驅動程式時必須使用 --enable-legacy-lustre-port 旗標。啟用這個旗標可解決 GKE 節點上 gke-metadata-server 的通訊埠衝突問題。
    • 支援 GKE 的現有 Managed Lustre 執行個體:如果您要連線至使用 --gke-support-enabled 旗標建立的現有 Managed Lustre 執行個體,則無論叢集版本為何,啟用 CSI 驅動程式時都必須加入 --enable-legacy-lustre-port。如果沒有這個標記,GKE 叢集就無法掛接現有的 Lustre 執行個體。

    如要進一步瞭解如何透過舊版通訊埠啟用 CSI 驅動程式,請參閱「Lustre 通訊埠」。

記錄查詢

如要檢查記錄,請在 Logs Explorer 中執行下列查詢。

如要傳回 Managed Lustre CSI 驅動程式節點伺服器記錄,請執行下列操作:

resource.type="k8s_container"
resource.labels.pod_name=~"lustre-csi-node*"

排解磁碟區佈建問題

如果 PersistentVolumeClaim (PVC) 仍處於 Pending 狀態,且 20 到 30 分鐘後仍未建立 PersistentVolume (PV),可能發生錯誤。

  1. 檢查 PVC 事件:

    kubectl describe pvc PVC_NAME
    
  2. 如果錯誤指出設定問題或引數無效,請檢查 StorageClass 參數

  3. 重新建立 PVC。

  4. 如果問題仍未解決,請與 Cloud Customer Care 聯絡。

排解磁碟區掛接問題

Pod 排定至節點後,系統會掛接磁碟區。如果失敗,請檢查 Pod 事件和 kubelet 記錄。

kubectl describe pod POD_NAME

啟用 CSI 驅動程式時發生問題

症狀:

MountVolume.MountDevice failed for volume "yyy" : kubernetes.io/csi: attacher.MountDevice failed to create newCsiDriverClient: driver name lustre.csi.storage.gke.io not found in the list of registered CSI drivers

MountVolume.SetUp failed for volume "yyy" : kubernetes.io/csi: mounter.SetUpAt failed to get CSI client: driver name lustre.csi.storage.gke.io not found in the list of registered CSI drivers

原因:CSI 驅動程式未啟用或尚未執行。

解決方法:

  1. 確認 CSI 驅動程式已啟用
  2. 如果叢集最近才完成擴充或升級,請稍候幾分鐘,等待驅動程式恢復運作。
  3. 如果錯誤持續發生,請檢查 lustre-csi-node 記錄檔中是否有「Operation not permitted」(不允許執行作業) 訊息。這表示節點版本過舊,無法支援 Managed Lustre。如要解決這個問題,請將節點集區升級至 1.33.2-gke.1111000 以上版本。
  4. 如果記錄顯示「LNET_PORT mismatch」,請升級節點集區,確保安裝相容的 Lustre 核心模組。

掛接點已存在

症狀:

MountVolume.MountDevice failed for volume "yyy" : rpc error: code = AlreadyExists
desc = A mountpoint with the same lustre filesystem name "yyy" already exists on
node "yyy". Please mount different lustre filesystems

原因:系統不支援在單一節點上,從不同 Managed Lustre 執行個體掛接多個檔案系統名稱相同的磁碟區。

解決方法:為每個 Managed Lustre 執行個體使用專屬檔案系統名稱。

掛接失敗:找不到你所指定的檔案或目錄

症狀:

MountVolume.MountDevice failed for volume "yyy" : rpc error: code = Internal desc = Could not mount ... failed: No such file or directory

原因:指定檔案系統名稱有誤或不存在。

解決方法:確認 StorageClass 或 PV 設定中的 fs_name 與 Managed Lustre 執行個體相符。

掛接失敗:輸入/輸出錯誤

症狀:

MountVolume.MountDevice failed for volume "yyy" : rpc error: code = Internal desc = Could not mount ... failed: Input/output error

原因:叢集無法連線至 Managed Lustre 執行個體。

解決方法:

  1. 確認 Managed Lustre 執行個體的 IP 位址。
  2. 確認 GKE 叢集和 Managed Lustre 執行個體位於同一個虛擬私有雲網路,或已正確對等互連。

內部錯誤

症狀: rpc error: code = Internal desc = ...

解決方法:如果錯誤持續發生,請與 Cloud Customer Care 團隊聯絡。

排解磁碟區卸載問題

症狀:

UnmountVolume.TearDown failed for volume "yyy" : rpc error: code = Internal desc = ...

解決方法:

  1. 強制刪除 Pod:

    kubectl delete pod POD_NAME --force
    
  2. 如果問題仍未解決,請與 Cloud Customer Care 聯絡。

排解磁碟區刪除問題

如果刪除 PVC 後,PV 仍長時間處於「已發布」狀態 (例如超過一小時),請與 Cloud Customer Care 聯絡。

排解磁碟區擴充問題

PVC 卡在 ExternalExpanding 狀態

症狀:PVC 狀態不會變更為 Resizing,且事件會顯示 ExternalExpanding

原因:allowVolumeExpansion 欄位可能遺失或設為 false

解決方法: 確認 StorageClass 具有 allowVolumeExpansion: true

kubectl get storageclass STORAGE_CLASS_NAME -o yaml

擴充失敗:引數無效

症狀: VolumeResizeFailed: rpc error: code = InvalidArgument ...

原因:要求的尺寸無效 (例如不是步距的倍數,或超出限制)。

解決方式: 檢查有效容量範圍, 然後更新 PVC,使其大小符合有效範圍。

擴展失敗:內部錯誤

症狀: VolumeResizeFailed ... rpc error: code = Internal

解決方法: 重新套用 PVC,然後重試擴充作業。如果多次失敗,請與 Cloud Customer Care 聯絡。

已超過期限

症狀:VolumeResizeFailed DEADLINE_EXCEEDED

原因:作業處理時間超出預期,但可能仍在進行中。

解決方法: 請等待作業完成。縮放器會自動重試。如果長時間卡住 (例如超過 90 分鐘),請與支援團隊聯絡。

超過配額

症狀:擴充作業因配額限制而失敗。

解決方法: 申請提高配額,或申請較小的容量增幅。