Pemecahan masalah dan masalah umum

Halaman ini mencakup langkah-langkah pemecahan masalah untuk beberapa masalah dan error umum.

Masalah umum

  • Jika tidak ada I/O yang terjadi pada sistem file, grafik performa akan menampilkan pesan "Tidak ada data yang tersedia untuk rentang waktu yang dipilih". Hal ini karena metrik performa hanya dibuat saat ada I/O. Untuk mengetahui informasi selengkapnya tentang metrik, lihat Memantau instance dan operasi.
  • Fitur Lustre berikut tidak didukung:
    • Kompresi data sisi klien
    • Caching klien persisten
  • Beberapa perintah Lustre tidak didukung.
  • Ada beberapa pengecualian terhadap kepatuhan POSIX.

Masalah operasi instance

Bagian berikut menjelaskan masalah terkait operasi instance.

Tidak dapat mengantrekan operasi

Jika Anda melihat error yang mirip dengan salah satu error berikut saat mencoba memulai operasi:

ERROR: (gcloud.lustre.instances.import-data) ABORTED: unable to queue the operation
ERROR: (gcloud.lustre.instances.export-data) ABORTED: unable to queue the operation
ERROR: (gcloud.lustre.instances.update) ABORTED: unable to queue the operation

Error ini terjadi saat Anda mencoba memulai operasi sementara operasi lain dengan jenis yang sama sudah berlangsung di instance yang sama.

  • Impor/ekspor: Managed Lustre hanya mendukung satu operasi transfer aktif per instance dalam satu waktu. Pengantrean tidak didukung untuk operasi transfer.
  • Update Instance: Lustre Terkelola memungkinkan satu update aktif per instance dalam satu waktu, dan memungkinkan operasi update tambahan diantrekan.

Untuk mengatasi masalah ini, tunggu hingga operasi saat ini selesai sebelum memulai operasi baru.

Masalah Compute Engine

Saat mengalami masalah dalam memasang sistem file Managed Lustre pada instance Compute Engine, ikuti langkah-langkah berikut untuk mendiagnosis masalah.

Pastikan instance Managed Lustre dapat dijangkau

Pertama, pastikan instance Managed Lustre Anda dapat dijangkau dari instance Compute Engine Anda:

sudo lctl ping IP_ADDRESS@tcp

Untuk mendapatkan nilai IP_ADDRESS, lihat Mendapatkan instance.

Ping yang berhasil akan menampilkan respons yang mirip dengan berikut ini:

12345-0@lo
12345-10.115.0.3@tcp

Ping yang gagal akan menampilkan hal berikut:

failed to ping 10.115.0.3@tcp: Input/output error

Jika ping Anda gagal:

  • Pastikan instance Managed Lustre dan instance Compute Engine Anda berada di jaringan VPC yang sama. Bandingkan output dari perintah berikut:

    gcloud compute instances describe VM_NAME \
      --zone=VM_ZONE \
      --format='get(networkInterfaces[0].network)'
    
    gcloud lustre instances describe INSTANCE_NAME \
      --location=ZONE --format='get(network)'
    

    Outputnya akan terlihat seperti:

    https://www.googleapis.com/compute/v1/projects/my-project/global/networks/my-network
    projects/my-project/global/networks/my-network
    

    Output perintah gcloud compute instances describe diawali dengan https://www.googleapis.com/compute/v1/; semua yang mengikuti string tersebut harus cocok dengan output perintah gcloud lustre instances describe.

  • Tinjau aturan firewall dan konfigurasi perutean jaringan VPC Anda untuk memastikan bahwa aturan dan konfigurasi tersebut mengizinkan traffic antara instance Compute Engine dan instance Managed Lustre.

Memeriksa port penerimaan LNet

Instance Lustre terkelola dapat dikonfigurasi untuk mendukung klien GKE dengan menentukan flag --gke-support-enabled pada waktu pembuatan.

Jika dukungan GKE telah diaktifkan, Anda harus mengonfigurasi LNet di semua instance Compute Engine untuk menggunakan accept_port 6988. Lihat Mengonfigurasi LNet untuk instance gke-support-enabled.

Untuk menentukan apakah instance telah dikonfigurasi untuk mendukung klien GKE, jalankan perintah berikut:

gcloud lustre instances describe INSTANCE_NAME \
  --location=LOCATION | grep gkeSupportEnabled

Jika perintah menampilkan gkeSupportEnabled: true, Anda harus mengonfigurasi LNet.

Versi kernel Ubuntu tidak cocok dengan klien Lustre

Untuk instance Compute Engine yang menjalankan Ubuntu, versi kernel Ubuntu harus cocok dengan versi tertentu paket klien Lustre. Jika alat klien Lustre Anda gagal, periksa apakah instance Compute Engine Anda telah diupgrade otomatis ke kernel yang lebih baru.

Untuk memeriksa versi kernel Anda:

uname -r

Respons akan terlihat seperti ini:

6.8.0-1029-gcp

Untuk memeriksa versi paket klien Lustre Anda:

dpkg -l | grep -i lustre

Respons akan terlihat seperti ini:

ii  lustre-client-modules-6.8.0-1029-gcp 2.14.0-ddn198-1  amd64  Lustre Linux kernel module (kernel 6.8.0-1029-gcp)
ii  lustre-client-utils                  2.14.0-ddn198-1  amd64  Userspace utilities for the Lustre filesystem (client)

Jika ada ketidakcocokan antara versi kernel yang tercantum dari kedua perintah, Anda harus menginstal ulang paket klien Lustre.

Periksa dmesg untuk mengetahui error Lustre

Banyak peringatan dan error Lustre dicatat ke buffer dering kernel Linux. Perintah dmesg mencetak buffer ring kernel.

Untuk menelusuri pesan khusus Lustre, gunakan grep bersama dengan dmesg:

dmesg | grep -i lustre

Atau, untuk mencari error yang lebih umum yang mungkin terkait:

dmesg | grep -i error

Informasi yang harus disertakan dalam permintaan dukungan

Jika Anda tidak dapat menyelesaikan kegagalan pemasangan, kumpulkan informasi diagnostik sebelum membuat kasus dukungan.

Jalankan sosreport: Utilitas ini mengumpulkan log sistem dan informasi konfigurasi serta menghasilkan tarball terkompresi:

sudo sosreport

Lampirkan arsip sosreport dan output yang relevan dari dmesg ke kasus dukungan Anda.

Masalah GKE

Sebelum mengikuti langkah-langkah pemecahan masalah di bagian ini, lihat batasan saat menghubungkan 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 melalui driver CSI Lustre Terkelola, 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. Masalah 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 channel 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 berkomunikasi dengan instance Managed Lustre, bergantung pada versi cluster GKE dan konfigurasi Managed Lustre yang ada.

  • Port default (988): Untuk cluster GKE baru yang menjalankan versi 1.33.2-gke.4780000 atau yang lebih baru, driver menggunakan port 988 untuk komunikasi Lustre secara default.

  • Port Lama (6988): Driver menggunakan port 6988 dalam skenario berikut:

    • Versi GKE sebelumnya: Jika cluster GKE Anda menjalankan versi yang lebih lama dari 1.33.2-gke.4780000, tanda --enable-legacy-lustre-port diperlukan saat mengaktifkan driver CSI. Mengaktifkan flag ini akan mengatasi konflik port dengan gke-metadata-server di node GKE.
    • Instance Managed Lustre yang sudah ada dengan dukungan GKE: Jika Anda terhubung ke instance Managed Lustre yang sudah ada dan dibuat dengan tanda --gke-support-enabled, Anda harus menyertakan --enable-legacy-lustre-port saat mengaktifkan driver CSI, terlepas dari versi cluster Anda. Tanpa tanda ini, cluster GKE Anda tidak akan dapat memasang instance Lustre yang ada.

    Untuk mengetahui detail selengkapnya tentang cara mengaktifkan driver CSI dengan port lama, lihat Port komunikasi Lustre.

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 terjadi error.

  1. Periksa peristiwa PVC:

    kubectl describe pvc PVC_NAME
    
  2. Jika error menunjukkan masalah konfigurasi atau argumen tidak valid, verifikasi parameter StorageClass Anda.

  3. Buat ulang PVC.

  4. Jika masalah berlanjut, hubungi Cloud Customer Care.

Memecahkan masalah pemasangan volume

Setelah Pod dijadwalkan ke node, volume akan di-mount. 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:

  1. Pastikan driver CSI diaktifkan.
  2. Jika cluster baru saja diubah skalanya atau diupgrade, tunggu beberapa menit hingga driver berfungsi.
  3. Jika error berlanjut, periksa log lustre-csi-node untuk mengetahui apakah ada pesan "Operation not permitted". Hal ini menunjukkan bahwa versi node terlalu lama untuk mendukung Managed Lustre. Untuk mengatasi hal ini, upgrade node pool Anda ke versi 1.33.2-gke.1111000 atau yang lebih baru.
  4. Jika log menampilkan "LNET_PORT mismatch", upgrade node pool Anda untuk memastikan modul kernel Lustre yang kompatibel terinstal.

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:

  1. Verifikasi alamat IP instance Managed Lustre.
  2. 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:

  1. Hapus Pod secara paksa:

    kubectl delete pod POD_NAME --force
    
  2. Jika 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 macet 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

Perluasan 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).

Resolusi: Periksa rentang kapasitas yang valid dan perbarui PVC dengan ukuran yang valid.

Perluasan gagal: Error Internal

Gejala: VolumeResizeFailed ... rpc error: code = Internal

Penyelesaian: Coba lagi perluasan dengan menerapkan kembali PVC. Jika gagal berulang kali, hubungi Cloud Customer Care.

Batas Waktu Terlampaui

Gejala: VolumeResizeFailed dengan DEADLINE_EXCEEDED.

Penyebab: Operasi memerlukan waktu lebih lama dari yang diperkirakan, tetapi mungkin masih dalam proses.

Resolusi: Tunggu hingga operasi selesai. Pengubah ukuran akan otomatis mencoba lagi. Jika terus terhenti dalam waktu yang lama (misalnya, > 90 menit), hubungi dukungan.

Melebihi Kuota

Gejala: Ekspansi gagal karena batas kuota.

Penyelesaian: Minta penambahan kuota atau minta penambahan kapasitas yang lebih kecil.

Masalah jaringan VPC

Bagian berikut menjelaskan masalah umum jaringan VPC.

Tidak dapat mengakses Managed Lustre dari project yang di-peering

Untuk mengakses instance Managed Lustre dari VM di jaringan VPC yang di-peering, Anda harus menggunakan Network Connectivity Center (NCC). NCC memungkinkan Anda menghubungkan beberapa jaringan VPC dan jaringan lokal ke hub pusat, sehingga menyediakan konektivitas di antara keduanya.

Untuk mengetahui petunjuk cara menyiapkan NCC, lihat dokumentasi Network Connectivity Center.

Pemasangan Lustre di VM multi-NIC gagal

Jika VM memiliki beberapa pengontrol antarmuka jaringan (NIC), dan instance Managed Lustre berada di VPC yang terhubung ke NIC sekunder (misalnya, eth1), pemasangan instance dapat gagal. Untuk mengatasi masalah ini, ikuti petunjuk untuk melakukan pemasangan menggunakan NIC sekunder.

Tidak dapat terhubung dari rentang subnet 172.17.0.0/16

Klien Compute Engine dan GKE dengan alamat IP dalam rentang subnet 172.17.0.0/16 tidak dapat memasang instance Managed Lustre.

Izin ditolak untuk menambahkan peering untuk layanan servicenetworking.googleapis.com

ERROR: (gcloud.services.vpc-peerings.connect) User [$(USER)] does not have
permission to access services instance [servicenetworking.googleapis.com]
(or it may not exist): Permission denied to add peering for service
'servicenetworking.googleapis.com'.

Error ini berarti Anda tidak memiliki izin IAM servicenetworking.services.addPeering di akun pengguna Anda.

Lihat Kontrol akses dengan IAM untuk mengetahui petunjuk tentang cara menambahkan salah satu peran berikut ke akun Anda:

  • roles/compute.networkAdmin atau
  • roles/servicenetworking.networksAdmin

Tidak dapat memodifikasi rentang yang dialokasikan di CreateConnection

ERROR: (gcloud.services.vpc-peerings.connect) The operation
"operations/[operation_id]" resulted in a failure "Cannot modify allocated
ranges in CreateConnection. Please use UpdateConnection."

Error ini ditampilkan saat Anda telah membuat peering VPC di jaringan ini dengan rentang IP yang berbeda. Ada dua solusi yang memungkinkan:

Ganti rentang IP yang ada:

gcloud services vpc-peerings update \
  --network=NETWORK_NAME \
  --ranges=IP_RANGE_NAME \
  --service=servicenetworking.googleapis.com \
  --force

Atau, tambahkan rentang IP baru ke koneksi yang ada:

  1. Ambil daftar rentang IP yang ada untuk peering:

    EXISTING_RANGES="$(
      gcloud services vpc-peerings list \
        --network=NETWORK_NAME \
        --service=servicenetworking.googleapis.com \
        --format="value(reservedPeeringRanges.list())" \
        --flatten=reservedPeeringRanges
    )
    
  2. Kemudian, tambahkan rentang baru ke peering:

    gcloud services vpc-peerings update \
      --network=NETWORK_NAME \
      --ranges="${EXISTING_RANGES}",IP_RANGE_NAME \
      --service=servicenetworking.googleapis.com
    

Rentang alamat IP habis

Jika pembuatan instance gagal karena error rentang habis:

ERROR: (gcloud.alpha.Google Cloud Managed Lustre.instances.create) FAILED_PRECONDITION: Invalid
resource state for "NETWORK_RANGES_NOT_AVAILABLE": IP address range exhausted

Ikuti panduan VPC untuk mengubah koneksi pribadi yang ada guna menambahkan rentang alamat IP.

Sebaiknya gunakan panjang awalan minimal /20 (1024 alamat).