Berlaku untuk: ✔️ Mesin Virtual Linux ✔️ Set skala fleksibel
Artikel ini menjelaskan cara memperluas disk terkelola untuk komputer virtual (VM) Linux. Anda dapat menambahkan disk data untuk menyediakan lebih banyak ruang penyimpanan, dan Anda juga dapat memperluas disk data yang ada. Ukuran hard disk virtual default untuk sistem operasi (OS) biasanya 30 GB pada VM Linux di Azure. Artikel ini membahas perluasan disk OS atau disk data. Anda tidak dapat memperluas ukuran volume bergaris.
Disk OS memiliki kapasitas maksimum 4.095 GiB. Namun, banyak sistem operasi dipartisi dengan catatan boot master (MBR) secara default. MBR membatasi ukuran yang dapat digunakan hingga 2 TiB. Jika Anda memerlukan lebih dari 2 TiB, pertimbangkan untuk melampirkan disk data untuk penyimpanan data. Jika Anda perlu menyimpan data pada disk OS dan memerlukan ruang ekstra, konversikan ke GuID Partition Table (GPT).
Peringatan
Selalu pastikan bahwa sistem file Anda dalam keadaan sehat, jenis tabel partisi disk Anda (GPT atau MBR) akan mendukung ukuran baru, dan memastikan data Anda dicadangkan sebelum Anda melakukan operasi ekspansi disk. Untuk informasi selengkapnya, lihat Mulai cepat Azure Backup.
Mengidentifikasi objek disk data Azure dalam sistem operasi
Saat memperluas disk data, ketika ada beberapa disk data yang ada di VM, mungkin sulit untuk menghubungkan Azure LUN ke perangkat Linux. Jika disk OS membutuhkan ekspansi, disk tersebut dilabeli dengan jelas dalam portal Azure sebagai disk OS.
Mulailah dengan mengidentifikasi hubungan antara pemanfaatan disk, titik pemasangan, dan perangkat, dengan df perintah .
df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda1 xfs 97G 1.8G 95G 2% /
<truncated>
/dev/sdd1 ext4 32G 30G 727M 98% /opt/db/data
/dev/sde1 ext4 32G 49M 30G 1% /opt/db/log
Di sini kita dapat melihat, misalnya, /opt/db/data sistem file hampir penuh, dan terletak di /dev/sdd1 partisi. Output menunjukkan df jalur perangkat apakah disk dipasang menggunakan jalur perangkat atau UUID (lebih disukai) dalam fstab. Perhatikan juga kolom Jenis, yang menunjukkan format sistem file. Formatnya penting nanti.
Sekarang temukan LUN yang berkorelasi /dev/sdd dengan dengan memeriksa konten /dev/disk/azure/scsi1. Output perintah berikut ls menunjukkan bahwa perangkat yang dikenal sebagai /dev/sdd dalam OS Linux terletak di LUN1 saat melihat di portal Azure.
Anda dapat memperluas disk terkelola tanpa membatalkan alokasi VM Anda. Pengaturan cache host disk Anda tidak berubah apakah Anda dapat memperluas disk data atau tidak tanpa membatalkan alokasi VM Anda.
Fitur ini memiliki batasan berikut ini:
Hanya didukung untuk disk data.
Jika disk berukuran 4 TiB atau kurang, Anda harus membatalkan alokasi mesin virtual Anda dan melepaskan disk sebelum melebihi 4 TiB. Jika disk sudah berukuran lebih besar dari 4 TiB, Anda dapat memperluasnya tanpa membatalkan alokasi mesin virtual.
Tidak didukung untuk disk Ultra atau disk Premium SSD v2.
Atau templat Azure Resource Manager dengan versi API yang 2021-04-01 lebih baru.
Tidak tersedia di beberapa VM klasik. Gunakan skrip ini untuk mendapatkan daftar SKU VM klasik yang mendukung perluasan tanpa waktu henti.
Perluas Disk Terkelola Azure
Pastikan Anda telah memasang Azure CLI versi dan masuk ke akun Azure menggunakan az login.
Artikel ini memerlukan VM yang sudah ada di Azure dengan setidaknya satu disk data terpasang dan disiapkan. Jika Anda belum memiliki VM yang dapat Anda gunakan, lihat Membuat dan menyiapkan VM dengan disk data.
Dalam contoh berikut, ganti contoh nama parameter seperti myResourceGroup dan myVM dengan nilai Anda sendiri.
Menyusutkan disk yang ada tidak didukung dan berpotensi mengakibatkan hilangnya data.
Setelah memperluas disk, Anda perlu memperluas volume dalam sistem operasi untuk memanfaatkan disk yang lebih besar.
Operasi pada hard disk virtual tidak dapat dilakukan dengan VM yang berjalan. Batalkan alokasi VM Anda dengan az vm deallocate. Contoh berikut membatalkan alokasi VM bernama myVM dalam grup sumber daya bernama myResourceGroup:
az vm deallocate --resource-group myResourceGroup --name myVM
Catatan
VM harus dibatalkan alokasinya untuk memperluas hard disk virtual. Menghentikan VM dengan az vm stop tidak merilis sumber daya komputasi. Untuk melepaskan sumber daya komputasi, gunakan az vm deallocate.
Lihat daftar diska terkelola dalam grup sumber daya dengan az disk list. Contoh berikut menampilkan daftar disk terkelola dalam grup sumber daya bernama myResourceGroup:
az disk list \
--resource-group myResourceGroup \
--query '[*].{Name:name,Gb:diskSizeGb,Tier:accountType}' \
--output table
Perluas disk yang diperlukan dengan az disk update. Contoh berikut memperluas disk terkelola bernama myDataDisk menjadi 200 GB:
az disk update \
--resource-group myResourceGroup \
--name myDataDisk \
--size-gb 200
Catatan
Jika Anda memperluas disk terkelola, ukuran yang diperbarui dibulatkan ke atas ke ukuran disk terkelola terdekat. Untuk tabel ukuran dan tingkat disk terkelola yang tersedia, lihat Ringkasan Disk yang Dikelola Azure - Harga dan Tagihan.
Mulai VM Anda dengan az vm start. Contoh berikut ini memulai VM bernama myVM dalam grup sumber daya bernama myResourceGroup:
az vm start --resource-group myResourceGroup --name myVM
Memperluas partisi disk dan filesystem
Catatan
Meskipun ada banyak alat yang dapat digunakan untuk melakukan pengubahan ukuran partisi, alat yang dirinci dalam sisa dokumen ini adalah alat yang sama yang digunakan oleh proses otomatis tertentu seperti cloud-init. Seperti yang dijelaskan di sini, growpart alat dengan gdisk paket menyediakan kompatibilitas universal dengan disk GUID Partition Table (GPT), karena versi lama dari beberapa alat seperti fdisk tidak mendukung GPT.
Mendeteksi ukuran disk yang diubah
Jika disk data diperluas tanpa waktu henti menggunakan prosedur yang disebutkan sebelumnya, ukuran disk yang dilaporkan tidak berubah sampai perangkat dipindai kembali, yang biasanya hanya terjadi selama proses boot. Rescan ini dapat dipanggil sesuai permintaan dengan prosedur berikut. Dalam contoh ini, kami menemukan menggunakan metode dalam dokumen ini bahwa disk data saat /dev/sda ini dan diubah ukurannya dari 256 GiB menjadi 512 GiB.
Identifikasi ukuran yang saat ini dikenali pada baris pertama output dari fdisk -l /dev/sda
sudo fdisk -l /dev/sda
Disk /dev/sda: 256 GiB, 274877906944 bytes, 536870912 sectors
Disk model: Virtual Disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x43d10aad
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 536870878 536868831 256G 83 Linux
1 Sisipkan karakter ke dalam file piranti ulang untuk perangkat ini. Perhatikan referensi ke sda dalam contoh. Pengidentifikasi disk akan berubah jika perangkat disk yang berbeda diubah ukurannya.
echo 1 | sudo tee /sys/class/block/sda/device/rescan
Verifikasi bahwa ukuran disk baru sekarang dikenali
sudo fdisk -l /dev/sda
Disk /dev/sda: 512 GiB, 549755813888 bytes, 1073741824 sectors
Disk model: Virtual Disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x43d10aad
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 536870878 536868831 256G 83 Linux
Sisa artikel ini menggunakan disk OS untuk contoh prosedur untuk meningkatkan ukuran volume di tingkat OS. Jika disk yang diperluas adalah disk data, gunakan panduan sebelumnya untuk mengidentifikasi perangkat disk data, dan ikuti instruksi ini sebagai pedoman, mengganti perangkat disk data (misalnya /dev/sda), nomor partisi, nama volume, titik pemasangan, dan format sistem file, seperlunya.
Semua panduan OS Linux harus dilihat sebagai generik dan dapat berlaku pada distribusi apa pun, tetapi umumnya cocok dengan konvensi penerbit marketplace bernama. Referensi dokumen Red Hat untuk persyaratan paket pada distribusi apa pun berdasarkan Red Hat atau mengklaim kompatibilitas Red Hat.
Memperbesar ukuran disk OS
Instruksi berikut berlaku untuk distribusi Linux yang didukung.
Catatan
Sebelum melanjutkan, buat salinan cadangan lengkap VM Anda, atau minimal ambil rekam jepret disk OS Anda.
Pada Ubuntu 16.x dan yang lebih baru, partisi akar disk OS dan sistem file secara otomatis diperluas untuk menggunakan semua ruang bersebelahan bebas pada disk akar oleh cloud-init, asalkan ada sedikit ruang kosong untuk operasi pengubahan ukuran. Dalam hal ini, urutannya sederhana
Tingkatkan ukuran disk OS seperti yang dirinci sebelumnya
Mulai ulang VM, lalu akses VM menggunakan akun pengguna root .
Verifikasi bahwa disk OS sekarang menampilkan ukuran sistem file yang ditingkatkan.
Seperti yang ditunjukkan dalam contoh berikut, disk OS diubah ukurannya dari portal menjadi 100 GB. Sistem file /dev/sda1 yang dipasang di / sekarang menampilkan 97 GB.
Untuk meningkatkan ukuran disk OS di SUSE 12 SP4, SUSE SLES 12 untuk SAP, SUSE SLES 15, dan SUSE SLES 15 untuk SAP:
Ikuti prosedur yang dijelaskan sebelumnya untuk memperluas disk di infrastruktur Azure.
Akses VM Anda sebagai pengguna root dengan menggunakan sudo perintah setelah masuk sebagai pengguna lain:
sudo -i
Gunakan perintah berikut untuk menginstal paket growpart , yang digunakan untuk mengubah ukuran partisi, jika belum ada:
zypper install growpart
Gunakan perintah lsblk untuk menemukan partisi yang dipasang pada root sistem file (/). Dalam hal ini, kita melihat bahwa partisi 4 dari sda perangkat dipasang pada /:
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 48G 0 disk
├─sda1 8:1 0 2M 0 part
├─sda2 8:2 0 512M 0 part /boot/efi
├─sda3 8:3 0 1G 0 part /boot
└─sda4 8:4 0 28.5G 0 part /
sdb 8:16 0 4G 0 disk
└─sdb1 8:17 0 4G 0 part /mnt/resource
Ubah ukuran partisi yang diperlukan dengan menggunakan perintah growpart dan nomor partisi yang ditentukan pada langkah sebelumnya:
Dalam contoh sebelumnya, kita dapat melihat bahwa ukuran sistem file untuk disk OS ditingkatkan.
Ikuti prosedur yang dijelaskan sebelumnya untuk memperluas disk di infrastruktur Azure.
Akses VM Anda sebagai pengguna root dengan menggunakan sudo perintah setelah masuk sebagai pengguna lain:
sudo -i
Gunakan perintah lsblk untuk menentukan volume logis (LV) mana yang dipasang pada akar sistem file (/). Dalam hal ini, kita melihat bahwa rootvg-rootlv dipasang pada /. Jika sistem file yang berbeda membutuhkan pengubahan ukuran, ganti LV dan titik pemasangan di seluruh bagian ini.
Periksa apakah ada ruang kosong di grup volume LVM (VG) yang berisi partisi akar. Jika ada ruang kosong, lewati ke langkah 12.
vgdisplay rootvg
--- Volume group ---
VG Name rootvg
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 7
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 6
Open LV 6
Max PV 0
Cur PV 1
Act PV 1
VG Size <63.02 GiB
PE Size 4.00 MiB
Total PE 16132
Alloc PE / Size 6400 / 25.00 GiB
Free PE / Size 9732 / <38.02 GiB
VG UUID lPUfnV-3aYT-zDJJ-JaPX-L2d7-n8sL-A9AgJb
Dalam contoh ini, baris Pe / Ukuran Gratis menunjukkan bahwa ada 38,02 GB gratis dalam grup volume, karena disk telah diubah ukurannya.
Instal paket cloud-utils-growpart untuk menyediakan perintah growpart, yang diperlukan untuk meningkatkan ukuran disk OS dan handler gdisk untuk tata letak disk GPT Paket ini telah diinstal sebelumnya pada sebagian besar gambar marketplace
dnf install cloud-utils-growpart gdisk
Di Red Hat versi 7 dan di bawahnya, Anda dapat menggunakan yum perintah alih-alih dnf.
Tentukan disk dan partisi mana yang menyimpan volume fisik LVM (PV) atau volume dalam grup volume bernama rootvg dengan menggunakan perintah pvscan . Perhatikan ukuran dan ruang kosong yang tercantum di antara tanda kurung ([ dan ]).
Perluas partisi yang berisi PV ini menggunakan growpart, nama perangkat, dan nomor partisi. Melakukannya memperluas partisi yang ditentukan untuk menggunakan semua ruang yang bersebelah pada perangkat.
Verifikasi bahwa partisi telah diubah ukurannya ke ukuran yang diharapkan dengan menggunakan perintah lsblk lagi. Perhatikan bahwa dalam contoh sda4 berubah dari 63G menjadi 95G.
Perluas LV dengan jumlah yang diperlukan, yang tidak perlu menjadi semua ruang kosong dalam grup volume. Dalam contoh berikut, /dev/mapper/rootvg-rootlv diubah ukurannya dari 2 GB menjadi 12 GB (peningkatan 10 GB) melalui perintah berikut. Perintah ini juga mengubah ukuran sistem file pada LV.
Perintah lvresize secara otomatis memanggil perintah ubah ukuran yang sesuai untuk sistem file di LV. Verifikasi apakah /dev/mapper/rootvg-rootlv, yang dipasang pada /, memiliki ukuran sistem file yang ditingkatkan dengan menggunakan df -Th perintah :
Contoh output:
df -Th /
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/rootvg-rootlv xfs 12G 71M 12G 1% /
Catatan
Untuk menggunakan prosedur yang sama untuk mengubah ukuran volume logis lainnya, ubah nama lv di langkah 12.
Ikuti prosedur yang dijelaskan sebelumnya untuk memperluas disk di infrastruktur Azure.
Akses VM Anda sebagai pengguna root dengan menggunakan sudo perintah setelah masuk sebagai pengguna lain:
sudo -i
Ketika VM dimulai ulang sepenuhnya, lakukan langkah-langkah berikut:
Pasang paket cloud-utils-growpart untuk memberikan perintah growpart, yang diperlukan untuk meningkatkan ukuran disk OS dan penangan gdisk untuk tata letak disk GPT. Paket ini telah diinstal sebelumnya pada sebagian besar gambar marketplace
dnf install cloud-utils-growpart gdisk
Di Red Hat versi 7 dan di bawahnya, Anda dapat menggunakan yum perintah alih-alih dnf.
Gunakan perintah lsblk -f untuk memverifikasi jenis partisi dan sistem file yang memegang partisi root (/)
Untuk verifikasi, mulailah dengan mencantumkan tabel partisi disk sda dengan gdisk. Dalam contoh ini, kita melihat disk 48,0 GiB dengan partisi #2 berukuran 29,0 GiB. Disk diperluas dari 30 GB ke 48 GB di portal Azure.
gdisk -l /dev/sda
GPT fdisk (gdisk) version 0.8.10
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Disk /dev/sda: 100663296 sectors, 48.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 78CDF84D-9C8E-4B9F-8978-8C496A1BEC83
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 62914526
Partitions will be aligned on 2048-sector boundaries
Total free space is 6076 sectors (3.0 MiB)
Number Start (sector) End (sector) Size Code Name
1 1026048 2050047 500.0 MiB 0700
2 2050048 62912511 29.0 GiB 0700
14 2048 10239 4.0 MiB EF02
15 10240 1024000 495.0 MiB EF00 EFI System Partition
Perluas partisi untuk root, dalam hal ini sda2 dengan menggunakan perintah growpart. Menggunakan perintah ini memperluas partisi untuk menggunakan semua ruang yang berdekatan pada disk.
Sekarang cetak tabel partisi yang baru dengan gdisk lagi. Perhatikan bahwa partisi 2 sekarang berukuran 47,0 GiB
gdisk -l /dev/sda
GPT fdisk (gdisk) version 0.8.10
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Disk /dev/sda: 100663296 sectors, 48.0 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 78CDF84D-9C8E-4B9F-8978-8C496A1BEC83
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 100663262
Partitions will be aligned on 2048-sector boundaries
Total free space is 4062 sectors (2.0 MiB)
Number Start (sector) End (sector) Size Code Name
1 1026048 2050047 500.0 MiB 0700
2 2050048 100663261 47.0 GiB 0700
14 2048 10239 4.0 MiB EF02
15 10240 1024000 495.0 MiB EF00 EFI System Partition
Perluas sistem file pada partisi dengan xfs_growfs, yang sesuai untuk sistem RedHat standar yang dihasilkan marketplace: