Halaman ini berisi langkah-langkah pemecahan masalah untuk masalah dan error umum saat menggunakan driver CSI Google Cloud Managed Lustre di Google Kubernetes Engine.
Sebelum mengikuti langkah-langkah pemecahan masalah di bagian ini, lihat batasan saat terhubung ke Managed Lustre dari GKE.
Kapasitas instance minimum yang diperbarui
Kapasitas minimum untuk instance Managed Lustre telah diperbarui menjadi 9000 GiB. Untuk membuat instance 9000 GiB menggunakan driver CSI Managed Lustre, upgrade versi cluster Anda ke 1.34.0-gke.2285000 atau yang lebih baru.
Tingkat performa yang salah untuk instance Lustre yang disediakan secara dinamis
Saat menyediakan instance Lustre secara dinamis, pembuatan instance akan gagal dengan error InvalidArgument untuk PerUnitStorageThroughput, terlepas dari nilai perUnitStorageThroughput yang ditentukan dalam permintaan API.
Hal ini memengaruhi versi GKE 1.33 sebelum 1.33.4-gke.1036000.
Solusi:
Upgrade cluster GKE ke versi 1.33.4-gke.1036000 atau yang lebih baru. Jika menggunakan saluran Stabil, versi yang lebih baru mungkin belum tersedia. Dalam hal ini, Anda dapat memilih versi secara manual dari saluran Reguler atau Cepat yang menyertakan perbaikan.
Port komunikasi Managed Lustre
Driver CSI Managed Lustre menggunakan port yang berbeda untuk komunikasi dengan instance Managed Lustre, bergantung pada versi cluster GKE dan konfigurasi Managed Lustre yang ada.
Port default (
988): Untuk cluster GKE baru yang menjalankan versi1.33.2-gke.4780000atau yang lebih baru, driver menggunakan port988untuk komunikasi Lustre secara default.Port lama (
6988): Driver menggunakan port6988dalam skenario berikut:- Versi GKE sebelumnya: Jika cluster GKE Anda menjalankan versi yang lebih lama dari
1.33.2-gke.4780000, flag--enable-legacy-lustre-portdiperlukan saat mengaktifkan driver CSI. Mengaktifkan flag ini mengatasi konflik port dengangke-metadata-serverdi node GKE. - Instance Managed Lustre yang ada dengan dukungan GKE: Jika Anda terhubung ke instance Managed Lustre yang ada yang dibuat dengan flag
--gke-support-enabled, Anda harus menyertakan--enable-legacy-lustre-portsaat mengaktifkan driver CSI, terlepas dari versi cluster Anda. Tanpa flag ini, cluster GKE Anda akan gagal memasang instance Lustre yang ada.
Untuk mengetahui informasi selengkapnya tentang cara mengaktifkan driver CSI dengan port lama, lihat Port komunikasi Lustre.
- Versi GKE sebelumnya: Jika cluster GKE Anda menjalankan versi yang lebih lama dari
Kueri log
Untuk memeriksa log, jalankan kueri berikut di Logs Explorer.
Untuk menampilkan log server node driver CSI Managed Lustre:
resource.type="k8s_container"
resource.labels.pod_name=~"lustre-csi-node*"
Memecahkan masalah penyediaan volume
Jika PersistentVolumeClaim (PVC) tetap dalam status Pending dan tidak ada PersistentVolume (PV) yang dibuat setelah 20-30 menit, mungkin telah terjadi error.
Periksa peristiwa PVC:
kubectl describe pvc PVC_NAMEJika error menunjukkan masalah konfigurasi atau argumen yang tidak valid, verifikasi parameter StorageClass Anda.
Buat ulang PVC.
Jika masalah berlanjut, hubungi Cloud Customer Care.
Memecahkan masalah pemasangan volume
Setelah Pod dijadwalkan ke node, volume akan dipasang. Jika gagal, periksa peristiwa Pod dan log kubelet.
kubectl describe pod POD_NAME
Masalah pengaktifan driver CSI
Gejala:
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
atau
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
Penyebab: Driver CSI tidak diaktifkan atau belum berjalan.
Penyelesaian:
- Pastikan driver CSI diaktifkan .
- Jika cluster baru-baru ini diskalakan atau diupgrade, tunggu beberapa menit hingga driver berfungsi.
- Jika error berlanjut, periksa log
lustre-csi-nodeuntuk "Operation not permitted". Hal ini menunjukkan bahwa versi node terlalu lama untuk mendukung Managed Lustre. Untuk mengatasi masalah ini, upgrade node pool Anda ke versi1.33.2-gke.1111000atau yang lebih baru. - Jika log menampilkan "LNET_PORT mismatch", upgrade node pool Anda untuk memastikan modul kernel Lustre yang kompatibel diinstal.
Titik pemasangan sudah ada
Gejala:
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
Penyebab: Pemasangan beberapa volume dari instance Managed Lustre yang berbeda dengan nama sistem file yang sama pada satu node tidak didukung.
Penyelesaian: Gunakan nama sistem file yang unik untuk setiap instance Managed Lustre.
Pemasangan gagal: Tidak ada file atau direktori tersebut
Gejala:
MountVolume.MountDevice failed for volume "yyy" : rpc error: code = Internal desc = Could not mount ... failed: No such file or directory
Penyebab: Nama sistem file yang ditentukan salah atau tidak ada.
Penyelesaian: Pastikan fs_name dalam konfigurasi StorageClass atau PV Anda cocok dengan instance Managed Lustre.
Pemasangan gagal: Error input/output
Gejala:
MountVolume.MountDevice failed for volume "yyy" : rpc error: code = Internal desc = Could not mount ... failed: Input/output error
Penyebab: Cluster tidak dapat terhubung ke instance Managed Lustre.
Penyelesaian:
- Verifikasi alamat IP instance Managed Lustre.
- Pastikan cluster GKE dan instance Managed Lustre berada di jaringan VPC yang sama atau di-peering dengan benar.
Error internal
Gejala: rpc error: code = Internal desc = ...
Penyelesaian: Jika error berlanjut, hubungi Cloud Customer Care.
Memecahkan masalah pelepasan volume
Gejala:
UnmountVolume.TearDown failed for volume "yyy" : rpc error: code = Internal desc = ...
Penyelesaian:
Hapus Pod secara paksa:
kubectl delete pod POD_NAME --forceJika masalah berlanjut, hubungi Cloud Customer Care.
Memecahkan masalah penghapusan volume
Jika PV tetap dalam status "Dirilis" untuk jangka waktu yang lama (misalnya, lebih dari satu jam) setelah menghapus PVC, hubungi Cloud Customer Care.
Memecahkan masalah ekspansi volume
PVC stuck di ExternalExpanding
Gejala: Status PVC tidak berubah menjadi Resizing, dan peristiwa menampilkan ExternalExpanding.
Penyebab: Kolom allowVolumeExpansion mungkin tidak ada atau ditetapkan ke false.
Penyelesaian: Pastikan StorageClass memiliki allowVolumeExpansion: true.
kubectl get storageclass STORAGE_CLASS_NAME -o yaml
Ekspansi gagal: Argumen tidak valid
Gejala: VolumeResizeFailed: rpc error: code = InvalidArgument ...
Penyebab: Ukuran yang diminta tidak valid (misalnya, bukan kelipatan ukuran langkah atau di luar batas).
Penyelesaian: Periksa rentang kapasitas yang valid dan perbarui PVC dengan ukuran yang valid.
Ekspansi gagal: Error internal
Gejala: VolumeResizeFailed ... rpc error: code = Internal
Penyelesaian: Coba lagi ekspansi dengan menerapkan kembali PVC. Jika berulang kali gagal, hubungi Cloud Customer Care.
Batas waktu terlampaui
Gejala: VolumeResizeFailed dengan DEADLINE_EXCEEDED.
Penyebab: Operasi memerlukan waktu lebih lama dari yang diperkirakan, tetapi mungkin masih berlangsung.
Penyelesaian: Tunggu hingga operasi selesai. Pengubah ukuran akan otomatis mencoba lagi. Jika tetap stuck dalam waktu yang lama (misalnya, > 90 menit), hubungi dukungan.
Kuota melampaui batas
Gejala: Ekspansi gagal karena batas kuota.
Penyelesaian: Minta penambahan kuota atau minta penambahan kapasitas yang lebih kecil.