Memperluas hard disk virtual di VM Linux
Berlaku untuk: ✔️ Mesin Virtual Linux ✔️ Set skala fleksibel
Artikel ini membahas perluasan disk OS dan disk data 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.
sudo ls -alF /dev/disk/azure/scsi1/
total 0
drwxr-xr-x. 2 root root 140 Sep 9 21:54 ./
drwxr-xr-x. 4 root root 80 Sep 9 21:48 ../
lrwxrwxrwx. 1 root root 12 Sep 9 21:48 lun0 -> ../../../sdc
lrwxrwxrwx. 1 root root 12 Sep 9 21:48 lun1 -> ../../../sdd
lrwxrwxrwx. 1 root root 13 Sep 9 21:48 lun1-part1 -> ../../../sdd1
lrwxrwxrwx. 1 root root 12 Sep 9 21:54 lun2 -> ../../../sde
lrwxrwxrwx. 1 root root 13 Sep 9 21:54 lun2-part1 -> ../../../sde1
Memperluas Disk yang Dikelola Azure
Memperluas tanpa waktu henti
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 HDD Standar, SSD Standar, atau SSD Premium adalah 4 TiB atau kurang, batalkan alokasi VM Anda dan lepaskan disk sebelum memperluasnya di luar 4 TiB. Jika salah satu jenis disk tersebut sudah lebih besar dari 4 TiB, Anda dapat memperluasnya tanpa membatalkan alokasi VM dan melepaskan disk. Ini tidak berlaku untuk Premium SSD v2 atau Ultra Disks.
- Tidak didukung untuk disk bersama.
- Instal dan gunakan:
- CLI Azure terbaru
- Modul Azure PowerShell terbaru
- Portal Microsoft Azure
- 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 dengan Ultra Disk dan Premium SSD v2
Memperluas Disk Ultra dan disk Premium SSD v2 memiliki batasan tambahan berikut:
- Anda tidak dapat memperluas disk saat salinan data latar belakang juga terjadi pada disk tersebut, seperti ketika disk sedang diisi ulang dari rekam jepret.
- Anda tidak dapat memperluas VM yang menggunakan pengontrol NVMe untuk Disk Ultra atau disk Premium SSD v2 tanpa waktu henti.
Penting
Izinkan hingga 10 menit agar ukuran yang benar tercermin dalam VM Windows dan VM Linux. Untuk VM Linux, Anda harus melakukan fungsi pemulaian ulang Linux. Untuk VM Windows yang tidak memiliki beban kerja, Anda harus melakukan fungsi pemulaian ulang Windows. Anda dapat segera me-rescan, tetapi jika dalam waktu 10 menit, Anda mungkin perlu me-rescan lagi untuk menampilkan ukuran yang benar.
Ketersediaan regional
Mengubah ukuran Disk Ultra dan disk Premium SSD v2 saat ini tersedia di semua wilayah yang didukung Premium SSD v2 dan Ultra.
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.
Penting
Jika disk Anda memenuhi persyaratan dalam Memperluas tanpa waktu henti, Anda dapat melewati langkah 1 dan 3.
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, gunakanaz 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,size:diskSizeGB,Tier:sku.tier}' \ --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 Memahami penagihan Azure Disk Storage.
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.
df -Th
Filesystem Type Size Used Avail Use% Mounted on
udev devtmpfs 314M 0 314M 0% /dev
tmpfs tmpfs 65M 2.3M 63M 4% /run
/dev/sda1 ext4 97G 1.8G 95G 2% /
tmpfs tmpfs 324M 0 324M 0% /dev/shm
tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs tmpfs 324M 0 324M 0% /sys/fs/cgroup
/dev/sda15 vfat 105M 3.6M 101M 4% /boot/efi
/dev/sdb1 ext4 20G 44M 19G 1% /mnt
tmpfs tmpfs 65M 0 65M 0% /run/user/1000
user@ubuntu:~#
Memperluas tanpa dukungan SKU VM klasik downtime
Jika Anda menggunakan SKU VM klasik, mungkin tidak mendukung perluasan disk tanpa waktu henti.
Gunakan skrip PowerShell berikut untuk menentukan SKU VM mana yang tersedia dengannya:
Connect-AzAccount
$subscriptionId="yourSubID"
$location="desiredRegion"
Set-AzContext -Subscription $subscriptionId
$vmSizes=Get-AzComputeResourceSku -Location $location | where{$_.ResourceType -eq 'virtualMachines'}
foreach($vmSize in $vmSizes){
foreach($capability in $vmSize.Capabilities)
{
if(($capability.Name -eq "EphemeralOSDiskSupported" -and $capability.Value -eq "True") -or ($capability.Name -eq "PremiumIO" -and $capability.Value -eq "True") -or ($capability.Name -eq "HyperVGenerations" -and $capability.Value -match "V2"))
{
$vmSize.Name
}
}
}