Jika versi Kubernetes kluster Anda lebih lama dari 1.16 atau disk tersebut adalah disk dasar, Anda tidak dapat melakukan ekspansi volume disk online dengan memperbarui klaim volume persisten (PVC) yang digunakan untuk memasang volume disk. Dalam hal ini, Anda harus secara manual mengubah ukuran disk dan memperluas sistem file.
Ruang lingkup aplikasi
Topik ini menjelaskan cara secara manual mengubah ukuran disk tanpa memodifikasi PVC. Jika versi Kubernetes kluster Anda lebih lama dari 1.16 atau Anda tidak dapat melakukan ekspansi volume disk online, Anda dapat menggunakan metode ini.
Dalam mode ini, Anda harus mengubah ukuran disk pada sisi Elastic Compute Service (ECS). Sumber daya dalam kluster tidak terpengaruh, dan kapasitas PVC dan PV di sisi kluster tetap tidak berubah. Untuk memastikan bahwa nilai kapasitas disk yang ditampilkan di PV dan PVC sama dengan kapasitas disk aktual, kami sarankan Anda melakukan langkah-langkah dalam topik Perluas volume disk tanpa gangguan layanan.
Anda dapat memilih antara pengubahan ukuran online atau offline sesuai kebutuhan bisnis Anda.
Pengubahan Ukuran Online: Jika throughput I/O disk tinggi saat Anda memperluas sistem file disk, kesalahan I/O mungkin terjadi di sistem file. Namun, jika Anda memilih metode ini, Anda tidak perlu me-restart aplikasi.
Pengubahan Ukuran Offline: Setelah Anda menjeda aplikasi, disk I/O akan ditangguhkan untuk memastikan keamanan data. Namun, aplikasi akan dijeda selama periode tertentu.
Disk dasar tidak dapat diubah ukurannya tanpa gangguan layanan.
Contoh berikut menjelaskan cara memperluas volume disk menggunakan aplikasi yang dibuat dalam volume disk yang diprovisioning secara dinamis.
Pengubahan ukuran online
Ubah ukuran disk tanpa gangguan layanan.
Langkah 1: Lihat informasi disk
Sambungkan ke kluster. Untuk informasi lebih lanjut, lihat Dapatkan file kubeconfig kluster dan gunakan kubectl untuk menyambung ke kluster atau Kelola kluster Kubernetes melalui kubectl di Cloud Shell.
Lihat informasi tentang pod tempat disk terpasang dan pastikan bahwa pod berada dalam status Running.
kubectl get podKeluaran yang diharapkan:
NAME READY STATUS RESTARTS AGE disk-test-0 1/1 Running 0 38sLihat PVC untuk mendapatkan ID disk.
kubectl get pvcKeluaran perintah berikut menunjukkan bahwa PV yang terikat pada PVC adalah
d-uf628m33r5rsbi******(ID disk cloud) dan kapasitasnya adalah 20 GiB.NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS VOLUMEATTRIBUTESCLASS AGE disk-pvc Bound d-uf628m33r5rsbi****** 20Gi RWO disk <unset> 64s
Langkah 2: Ubah ukuran disk dan sistem file
Masuk ke Konsol ECS.
Di bilah navigasi sisi kiri, pilih Block Storage.
Di bilah navigasi atas, pilih wilayah dan grup sumber daya dari sumber daya yang ingin Anda kelola.

Temukan disk yang terpasang ke aplikasi menggunakan ID disk, pilih disk tersebut, lalu klik Resize di bagian bawah halaman.
Di halaman panduan yang muncul, ikuti petunjuk untuk menyelesaikan operasi pengubahan ukuran.
Di langkah Determine Disk and Read Notes, konfirmasi informasi disk, baca catatan, dan klik I Understand Risk and Have Backed Up Data. Proceed.
Di langkah Configure Resizing Method and New Size, konfigurasikan parameter dan klik OK.
Parameter
Deskripsi
Contoh
New Disk Size
Tentukan kapasitas disk. Nilai tersebut tidak boleh kurang dari ukuran disk saat ini.
30 GiB
Resizing Method
Klik Online Resizing. Ukuran disk baru langsung berlaku tanpa perlu me-restart instance.
Pengubahan ukuran online
Di langkah Confirm Resizing Results, konfirmasi bahwa disk telah diubah ukurannya dan klik Next Step, Extend Partitions and File Systems.
CatatanSetelah disk diubah ukurannya, Anda harus memperluas sistem file untuk memperbarui kapasitas penyimpanan aplikasi.
Di langkah Extend Partitions and File Systems, pilih Use Cloud Assistant, pilih Authorize Cloud Assistant to Perform This Operation, lalu klik Authorize Cloud Assistant.
Setelah Anda melakukan operasi, pastikan bahwa disk dan sistem file telah diubah ukurannya.

Pengubahan ukuran offline
Untuk menjeda aplikasi, Anda dapat mengatur jumlah replika menjadi 0. Setelah disk diubah ukurannya, mulai ulang aplikasi.
Langkah 1: Lihat informasi disk dan jeda aplikasi
Sambungkan ke kluster. Untuk informasi lebih lanjut, lihat Dapatkan file kubeconfig kluster dan gunakan kubectl untuk menyambung ke kluster atau Kelola kluster Kubernetes melalui kubectl di Cloud Shell.
Lihat informasi tentang pod tempat disk terpasang dan pastikan bahwa pod berada dalam status Running.
kubectl get podKeluaran yang diharapkan:
NAME READY STATUS RESTARTS AGE disk-test-0 1/1 Running 0 38sLihat PVC untuk mendapatkan ID disk.
kubectl get pvcKeluaran perintah berikut menunjukkan bahwa PV yang terikat pada PVC adalah
d-uf628m33r5rsbi******(ID disk cloud) dan kapasitasnya adalah 20 GiB.NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS VOLUMEATTRIBUTESCLASS AGE disk-pvc Bound d-uf628m33r5rsbi****** 20Gi RWO disk <unset> 64sKurangi replika aplikasi menjadi 0 dan jeda aplikasi.
kubectl scale sts disk-test --replicas=0Keluaran yang diharapkan:
statefulset.apps/disk-test scaled
Langkah 2: Ubah ukuran disk
Masuk ke Konsol ECS.
Di bilah navigasi sisi kiri, pilih Block Storage.
Di bilah navigasi atas, pilih wilayah dan grup sumber daya dari sumber daya yang ingin Anda kelola.

Temukan disk yang terpasang ke aplikasi menggunakan ID disk, pilih disk tersebut, lalu klik Resize di bagian bawah halaman.
Di halaman panduan yang muncul, ikuti petunjuk untuk menyelesaikan operasi pengubahan ukuran.
Di langkah Determine Disk and Read Notes, konfirmasi informasi disk, baca catatan, dan klik I Understand Risk and Have Backed Up Data. Proceed.
Di langkah Configure Resizing Method and New Size, konfigurasikan parameter dan klik OK.
Parameter
Deskripsi
Contoh
New Disk Size
Tentukan kapasitas disk. Nilai tersebut tidak boleh kurang dari ukuran disk saat ini.
30 GiB
Resizing Method
Setelah aplikasi dijeda, disk berada dalam status Pending. Dalam hal ini, Anda hanya dapat memilih Offline Resizing.
Pengubahan ukuran offline
Di langkah Confirm Resizing Results, konfirmasi bahwa disk telah diubah ukurannya dan klik Next Step, Extend Partitions and File Systems.
Di langkah Extend Partitions and File Systems, pilih Use Documentation dan lihat file di bagian Extend Partitions and File Systems (Linux).
CatatanSetelah disk diubah ukurannya, Anda harus memperluas sistem file untuk memperbarui kapasitas penyimpanan aplikasi.
Opsi Gunakan Cloud Assistant tidak dapat dipilih karena disk berada dalam status Pending. Anda dapat secara manual mengubah ukuran sistem file.
Langkah 3: Perluas sistem file
Operasi berikut dilakukan untuk disk yang tidak dipartisi.
Kami sarankan agar Anda tidak menggunakan disk yang dipartisi di Kubernetes.
Jika disk yang tidak dipartisi dipasang sebagai PV, Anda tidak dapat secara manual membuat partisi untuk disk tersebut. Hal ini dapat merusak sistem file dan menyebabkan hilangnya data.
Jika disk yang dipartisi dipasang sebagai PV, perluas sistem file setelah Anda memperluas disk yang dipartisi. Untuk informasi lebih lanjut, lihat Perluas partisi dan sistem file disk pada instance Linux atau Perluas partisi dan sistem file disk pada instance Windows.
Pasang disk ke instance ECS.
Di halaman Block Storage di Konsol ECS, temukan disk yang ingin Anda pasang dan klik Attach di kolom Aksi.
Di halaman Attach Cloud Disk, pilih instance ECS yang ingin Anda pasang dan klik Next.
PentingJangan pilih perilaku pelepasan terkait disk.
Di halaman Partition Disk and Create and Mount File Systems, klik Configure Later di bagian Metode Inisialisasi.
Pastikan bahwa status disk berubah menjadi In Use.
Sambungkan ke instance ECS. Untuk informasi lebih lanjut, lihat Metode untuk menyambung ke instance ECS.
Dapatkan pengenal perangkat disk.
Perintah sampel berikut digunakan.
<serial>menunjukkan nomor seri disk. Ganti nomor seri berdasarkan kebutuhan bisnis Anda.Anda dapat menggunakan ID disk untuk dengan cepat mengonfirmasi nomor seri disk (ID disk = d - {nomor seri disk}). Untuk informasi lebih lanjut, lihat Kueri nomor seri perangkat penyimpanan blok.
PentingJika disk dibuat sebelum 10 Juni 2020, fitur nomor seri tidak didukung. Anda tidak dapat menjalankan perintah berikut untuk mendapatkan pengenal perangkat disk: Anda dapat menjalankan perintah
ls /dev/vd*sebelum dan sesudah disk dipasang untuk melihat daftar disk. Kemudian, bandingkan perbedaan antara keluaran perintah untuk memeriksa pengenal perangkat disk target.realpath /dev/disk/by-id/virtio-<serial>Keluaran sampel berikut dikembalikan, yang menunjukkan bahwa pengenal perangkat adalah
/dev/vdb./dev/vdbUbah ukuran sistem file.
Perintah sampel berikut digunakan. Ganti nilai dengan pengenal perangkat disk aktual.
resize2fs /dev/vdbJika pesan kesalahan berikut dikembalikan, jalankan perintah
e2fsck -f /dev/vdbseperti yang diminta dan kemudian jalankan perintahresize2fs /dev/vdbuntuk mengubah ukuran sistem file.resize2fs 1.46.0 (29-Jan-2020) Please run 'e2fsck -f /dev/vdb' first.Setelah Anda mengubah ukuran sistem file, keluaran perintah berikut ditampilkan:
resize2fs 1.46.0 (29-Jan-2020) Resizing the filesystem on /dev/vdb to 7864320 (4k) blocks. The filesystem on /dev/vdb is now 7864320 (4k) blocks long.Verifikasi bahwa sistem file telah diubah ukurannya.
Jalankan perintah berikut untuk membuat folder sementara bernama
/mnt/disk/dan pasang disk ke folder tersebut:mkdir /mnt/disk mount /dev/vdb /mnt/disk/Periksa ukuran sistem file.
df /mnt/disk/Keluaran perintah menunjukkan bahwa kapasitas
/dev/vdbdiperluas menjadi 30 GiB.Filesystem 1K-blocks Used Available Use% Mounted on /dev/vdb 30787536 24 30771128 1% /mnt/diskLepaskan disk dari folder sementara.
umount /mnt/disk
Lepaskan disk dari instance ECS. Untuk informasi lebih lanjut, lihat Lepaskan disk data.
Langkah 4: Mulai ulang aplikasi
Ubah ukuran aplikasi menjadi satu replika dan mulai ulang aplikasi.
kubectl scale sts disk-test --replicas=1Keluaran yang diharapkan:
statefulset.apps/disk-test scaledPeriksa apakah pod telah dipulihkan.
kubectl get podKeluaran yang diharapkan:
NAME READY STATUS RESTARTS AGE disk-test-0 1/1 Running 0 5sPeriksa ukuran sistem file.
kubectl exec -it disk-test-0 -- df /dataKeluaran perintah menunjukkan bahwa sistem file yang sesuai dengan jalur pemasangan telah diubah ukurannya.
Filesystem 1K-blocks Used Available Use% Mounted on /dev/vdb 30787536 24 30771128 1% /data