Halaman ini mencakup langkah-langkah pemecahan masalah untuk beberapa masalah dan error umum.
Instance FAILED
Status FAILED
berarti data instance telah hilang dan instance
harus dihapus.
Instance Parallelstore dalam status FAILED
akan terus ditagih hingga dihapus.
Untuk mengambil status instance, ikuti petunjuk di Mengelola instance: Mengambil instance.
Untuk menghapus instance, baca Mengelola instance: Menghapus instance.
Waktu tunggu habis selama pengujian jaringan atau pemasangan dfuse
Jika, saat memasang instance Parallelstore, waktu tunggu perintah dfuse -m
habis;
atau jika waktu tunggu perintah pengujian jaringan seperti self_test
atau daos health net-test
habis, hal ini mungkin disebabkan oleh masalah konektivitas jaringan.
Untuk memverifikasi konektivitas ke server Parallelstore, jalankan
self_test --use-daos-agent-env -r 1
Jika pengujian melaporkan masalah koneksi, ada dua kemungkinan alasannya:
Agen DAOS mungkin telah memilih antarmuka jaringan yang salah selama penyiapan
Anda mungkin perlu mengecualikan antarmuka jaringan yang tidak dapat menjangkau IP
dalam daftar access_points
.
Jalankan
ifconfig
untuk mencantumkan antarmuka jaringan yang tersedia. Contoh output dapat menampilkan beberapa antarmuka jaringan sepertieth0
,docker0
,ens8
,lo
, dll.Hentikan daos_agent.
Edit
/etc/daos/daos_agent.yml
untuk mengecualikan antarmuka jaringan yang tidak diinginkan. Hapus tanda komentar pada barisexclude_fabric_ifaces
dan perbarui nilainya. Entri yang Anda sertakan khusus untuk situasi Anda. Contoh:exclude_fabric_ifaces: ["docker0", "ens8", "lo"]
Mulai ulang daos_agent.
Alamat IP instance atau klien bertentangan dengan alamat IP internal
Instance dan klien Parallelstore tidak dapat menggunakan alamat IP dari rentang subnet 172.17.0.0/16. Lihat Masalah umum untuk mengetahui informasi selengkapnya.
ENOSPC
jika ada kapasitas yang tidak digunakan di instance
Jika instance Anda menggunakan striping seimbang minimum atau (default), Anda mungkin mengalami
error ENOSPC
meskipun file yang ada tidak menggunakan semua kapasitas
instance. Hal ini mungkin terjadi saat menulis file besar yang umumnya lebih besar dari 8 GiB, atau saat mengimpor file tersebut dari Cloud Storage.
Gunakan striping file maksimum untuk mengurangi kemungkinan error ini.
Pemecahan masalah Google Kubernetes Engine
Bagian berikut mencantumkan beberapa masalah umum dan langkah-langkah untuk mengatasinya.
Transport endpoint is not connected
di Pod workload
Error ini disebabkan oleh penghentian dfuse. Pada umumnya, dfuse dihentikan
karena kehabisan memori. Gunakan anotasi Pod
gke-parallelstore/[cpu-limit|memory-limit]
untuk mengalokasikan lebih banyak resource ke
penampung sidecar Parallelstore. Anda dapat menetapkan
gke-parallelstore/memory-limit: "0"
untuk menghapus batasan memori sidecar
jika tidak tahu jumlah memori yang ingin dialokasikan untuknya. Perhatikan bahwa hal ini
hanya berfungsi dengan cluster Standard; dengan cluster Autopilot, Anda tidak dapat
menggunakan nilai 0
untuk membatalkan penetapan batas dan permintaan resource penampung sidecar. Anda
harus menetapkan batas resource yang lebih besar secara eksplisit untuk penampung sidecar.
Setelah mengubah anotasi, Anda harus memulai ulang Pod workload. Menambahkan anotasi ke workload yang sedang berjalan tidak mengubah alokasi resource secara dinamis.
Peringatan peristiwa pod
Jika Pod beban kerja Anda tidak dapat dimulai, periksa peristiwa Pod:
kubectl describe pod POD_NAME -n NAMESPACE
Solusi berikut adalah untuk error umum.
Masalah pengaktifan driver CSI
Error pengaktifan driver CSI yang umum adalah sebagai berikut:
MountVolume.MountDevice failed for volume "volume" : kubernetes.io/csi:
attacher.MountDevice failed to create newCsiDriverClient:
driver name parallelstore.csi.storage.gke.io not found in the list of registered CSI drivers
MountVolume.SetUp failed for volume "volume" : kubernetes.io/csi:
mounter.SetUpAt failed to get CSI client:
driver name parallelstore.csi.storage.gke.io not found in the list of registered CSI drivers
Peringatan ini menunjukkan bahwa driver CSI tidak diaktifkan, atau tidak berjalan.
Jika cluster Anda baru saja diskalakan, diupdate, atau diupgrade, peringatan ini normal dan bersifat sementara. Perlu waktu beberapa menit agar Pod driver CSI dapat berfungsi setelah operasi cluster.
Jika tidak, pastikan driver CSI diaktifkan di cluster Anda. Lihat
Mengaktifkan driver CSI untuk mengetahui detailnya. Jika CSI diaktifkan,
setiap node akan menampilkan Pod bernama parallelstore-csi-node-id
yang aktif dan
berjalan.
Kegagalan AttachVolume.Attach
Setelah Pod dijadwalkan ke node, volume akan dilampirkan ke node dan Pod penginstal akan dibuat jika menggunakan pemasangan node.
Hal ini terjadi di pengontrol dan melibatkan langkah AttachVolume dari attachdetach-controller.
Kode error | Peringatan peristiwa pod | Solusi |
InvalidArgument |
|
Flag pemasangan yang tidak valid diteruskan ke PersistentVolume atau StorageClass. Periksa opsi pemasangan dfuse yang didukung untuk mengetahui detail selengkapnya. |
NotFound |
|
Instance Parallelstore tidak ada. Pastikan volumeHandle PersistentVolume memiliki format yang benar. |
Kegagalan MountVolume.MountDevice
Setelah volume dilampirkan ke node, volume akan di-staging ke node.
Hal ini terjadi di node dan melibatkan langkah MountVolume.MountDevice dari kubelet.
Kode error | Peringatan peristiwa pod | Solusi |
FailedPrecondition |
|
Error ini biasanya disebabkan oleh pod mounter yang dihapus secara manual. Hapus semua workload yang menggunakan PVC dan deploy ulang. Tindakan ini akan membuat Pod mounter baru. |
DeadlineExceeded |
|
Terjadi masalah saat menghubungkan ke instance Parallelstore. Pastikan jaringan VPC dan titik akses Anda dikonfigurasi dengan benar. |
Kegagalan MountVolume.SetUp
Setelah volume di-staging ke node, volume akan dipasang dan disediakan ke penampung di Pod. Hal ini terjadi di node dan melibatkan langkah MountVolume.SetUp di kubelet.
Pemasangan pod
Kode error | Peringatan peristiwa pod | Solusi |
ResourceExhausted |
|
Proses dfuse berakhir, yang biasanya disebabkan oleh
kondisi kehabisan memori (OOM). Pertimbangkan untuk meningkatkan batas memori penampung sidecar menggunakan anotasi gke-parallelstore/memory-limit .
Jika Anda tidak yakin dengan jumlah memori yang ingin dialokasikan ke
sidecar parallelstore, sebaiknya tetapkan
|
Dibatalkan |
|
Operasi pemasangan volume dibatalkan karena pembatasan kapasitas atau operasi yang ada. Peringatan ini normal dan seharusnya bersifat sementara. |
InvalidArgument |
MountVolume.SetUp failed for volume "volume" : rpc
error: code = InvalidArgument desc =
|
Jika Anda memberikan argumen yang tidak valid di StorageClass atau PersistentVolume, log error akan menunjukkan kolom dengan argumen yang tidak valid. Untuk penyediaan dinamis, periksa Kelas Penyimpanan. Untuk penyediaan statis, periksa Volume Persisten. |
FailedPrecondition |
MountVolume.SetUp failed for volume "volume" : rpc
error: code = FailedPrecondition desc = can not find the sidecar
container in Pod spec
|
Penampung sidecar Parallelstore tidak dimasukkan. Pastikan
anotasi Pod gke-parallelstore/volumes: "true" disetel dengan benar.
|
Pemasangan node
Kode error | Peringatan peristiwa pod | Solusi |
Dibatalkan |
|
Operasi pemasangan volume dibatalkan karena batas kapasitas atau operasi yang ada. Peringatan ini normal dan seharusnya bersifat sementara. |
InvalidArgument |
MountVolume.SetUp failed for volume "volume" : rpc
error: code = InvalidArgument desc =
|
Jika Anda telah memberikan argumen yang tidak valid di StorageClass atau Volume Persisten, log error akan menunjukkan kolom dengan argumen yang tidak valid. Untuk penyediaan dinamis, periksa Kelas Penyimpanan. Untuk penyediaan statis, periksa Volume Persisten. |
FailedPrecondition |
MountVolume.SetUp failed for volume "volume" : rpc
error: code = FailedPrecondition desc = mounter pod expected to exist but was not found
|
Pod Parallelstore mounter tidak ada. Jika Pod penginstal tidak sengaja dihapus, buat ulang semua workload untuk meminta pembuatan ulang. |
DeadlineExceeded |
MountVolume.SetUp failed for volume "volume" : rpc
error: code = DeadlineExceeded desc = timeout waiting for mounter pod gRPC server to become available
|
Server gRPC Pod penginstal tidak dimulai. Periksa log pod mounter untuk mengetahui adanya error. |
Memecahkan masalah jaringan VPC
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.
Lihat Kontrol akses dengan IAM untuk mengetahui petunjuk cara menambahkan salah satu peran berikut ke akun Anda:
roles/compute.networkAdmin
atauroles/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:
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())" )
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
Masalah: Pembuatan instance gagal dengan error rentang habis:
ERROR: (gcloud.alpha.Parallelstore.instances.create) FAILED_PRECONDITION: Invalid
resource state for "NETWORK_RANGES_NOT_AVAILABLE": IP address range exhausted
Solusi: Ikuti panduan VPC untuk membuat ulang rentang IP atau memperluas rentang IP yang ada.
Jika membuat ulang instance Parallelstore, Anda harus membuat ulang rentang IP, bukan memperluasnya.