Gejala
Proses penginstalan Apigee hybrid Anda gagal karena ruang disk tidak cukup untuk database Cassandra. Proses penginstalan gagal dengan pesan error berikut:
Error: UPGRADE FAILED: cannot patch "default" with kind ApigeeDatastore: Internal error occurred
Selain itu, log Cassandra berisi peringatan yang mirip dengan berikut ini:
WARN [main] 2024-06-18 12:34:55,583 DatabaseDescriptor.java:579 - Only 62.440GiB free across all data volumes. Consider adding more capacity to your cluster or removing obsolete snapshots
Langkah-langkah diagnosis umum
Gunakan skrip Apigee hybrid must-gather untuk mengumpulkan log dari pod Cassandra untuk ditinjau.
Kemungkinan penyebab
Penyebab | Deskripsi |
---|---|
Kehabisan ruang penyimpanan disk | Ruang disk yang tersedia untuk Cassandra kurang dari 50%. |
Penyebab 1: Ruang disk habis
Saat mengupgrade Apigee hybrid, pastikan Anda memiliki ruang disk lebih dari 50% yang tersedia untuk semua pod Cassandra.
Diagnosis
-
Dari skrip Apigee hybrid must-gather, periksa output perintah berikut untuk memeriksa total ukuran volume yang terkait dengan Cassandra:
kubectl get pv -n APIGEE_NAMESPACE
Contoh Output
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS VOLUMEATTRIBUTESCLASS REASON AGE pvc-0b6b2daa-d512-4780-9021-fc97293a8154 10Gi RWO Delete Bound apigee/cassandra-data-apigee-cassandra-default-1 standard-rwo <unset> - 20d pvc-2263fc7c-e057-406a-ad60-38573733c92d 10Gi RWO Delete Bound apigee/cassandra-data-apigee-cassandra-default-2 standard-rwo <unset> - 20d pvc-8c854fe9-adaa-440f-90d9-d15497e7f530 10Gi RWO Delete Bound apigee/cassandra-data-apigee-cassandra-default-0 standard-rwo <unset> - 20d
-
Periksa output status
nodetool
untuk melihat disk yang digunakan oleh setiap pod Cassandra. Penggunaan ruang disk untuk Klaim Volume Persisten (PVC) yang ditetapkan ke pod Cassandra tidak boleh melebihi 50% dari kapasitas penyimpanan yang tersedia. Lihat perintah berikut:kubectl -n APIGEE_NAMESPACE -c apigee-cassandra exec apigee-cassandra-default-1 -- bash -c 'nodetool -u cassandra -pw $CASS_PASSWORD status'
Dengan CASS_PASSWORD adalah
cassandra.auth.default.password
seperti yang disebutkan dalam Referensi properti konfigurasi.Contoh Output
Datacenter: us-west3 ======================== Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Tokens Owns (effective) Host ID Rack UN 10.10.10.1 6.69 GiB 256 100.0% 2a184030-444-4155-8375-156e87539711 a UN 10.10.10.2 7.42 GiB 256 53.1% f22b66c7-4444-4000-b9c0-5a71ee6315a8 c UJ 10.10.10.3 7.39 GiB 256 ? 78fb2737-4444-4468-a786-e473ead115b5 b UN 10.10.10.4 7.81 GiB 256 47.0% 779fcdf1-4444-4186-bcbb-2844e59629c2 b UN 10.10.10.5 6.91 GiB 256 53.0% 55ca07b2-4444-4967-b321-6477d50f9846 b UN 10.10.10.6 7.41 GiB 256 46.9% 0cf33585-444-46ce-811f-9c6376ed58ac c
(Opsional) Gunakan
kubectl
untuk menjalankan perintah di dalam container Cassandra guna memeriksa persentase penggunaan disk.kubectl exec -it apigee-cassandra-default-0 -n apigee – df -h /opt/apigee/data
kubectl exec -it apigee-cassandra-default-1 -n apigee – df -h /opt/apigee/data
kubectl exec -it apigee-cassandra-default-2 -n apigee – df -h /opt/apigee/data
Contoh
Contoh berikut menunjukkan penggunaan ruang disk lebih dari 50%. Hal ini akan menyebabkan masalah pada upgrade Apigee Hybrid.
kubectl exec -it apigee-cassandra-default-0 -n apigee -- df -h /opt/apigee/data
Defaulted container "apigee-cassandra" out of: apigee-cassandra, apigee-cassandra-ulimit-init (init) Filesystem Size Used Avail Use% Mounted on /dev/sdb 10G 6G 4G 60% /opt/apigee/data
kubectl exec -it apigee-cassandra-default-1 -n apigee -- df -h /opt/apigee/data
Defaulted container "apigee-cassandra" out of: apigee-cassandra, apigee-cassandra-ulimit-init (init) Filesystem Size Used Avail Use% Mounted on /dev/sdb 10G 5.9G 4.1G 59% /opt/apigee/data
kubectl exec -it apigee-cassandra-default-2 -n apigee -- df -h /opt/apigee/data
Defaulted container "apigee-cassandra" out of: apigee-cassandra, apigee-cassandra-ulimit-init (init) Filesystem Size Used Avail Use% Mounted on /dev/sdb 10G 5.6G 4.4G 56% /opt/apigee/data
Resolusi
Jika Anda menemukan pemanfaatan disk di atas 50%, skalakan kapasitas disk Cassandra untuk memastikan kapasitasnya di bawah 50% sebelum melakukan upgrade hybrid Apigee.
Untuk memperluas kapasitas disk, lihat Mengelola ukuran penyimpanan persisten Cassandra.
Harus mengumpulkan informasi diagnostik
Jika masalah berlanjut bahkan setelah mengikuti petunjuk di atas, kumpulkan informasi diagnostik berikut, lalu hubungi Layanan Pelanggan Google Cloud:- ID Project Google Cloud Anda.
- Organisasi Apigee Hybrid Anda.
- File
overrides.yaml
dari wilayah sumber dan wilayah baru (ingatlah untuk menyamarkan informasi sensitif). - Output dari perintah di Pengumpulan data penting Apigee Hybrid.