Tutorial: Mengelola disk dengan Azure PowerShell
Komputer virtual (VM) Azure menggunakan disk untuk menyimpan sistem operasi (OS), aplikasi, dan data. Ketika Anda membuat komputer virtual, penting untuk memilih ukuran dan konfigurasi disk yang sesuai dengan beban kerja yang diharapkan.
Tutorial ini mencakup penyebaran dan pengelolaan disk VM. Dalam tutorial ini, Anda akan mempelajari cara:
- Membuat, melampirkan, dan menginisialisasi disk data
- Memverifikasi status disk
- Menginisialisasi disk
- Memperluas dan meningkatkan disk
- Melepas dan menghapus disk
Prasyarat
Anda memerlukan akun Azure dengan langganan aktif. Jika Anda tidak memiliki langganan Azure, buat akun gratis sebelum Anda memulai.
Azure Cloud Shell
Azure meng-hosting Azure Cloud Shell, lingkungan shell interaktif yang dapat Anda gunakan melalui browser. Anda dapat menggunakan Bash atau PowerShell dengan Cloud Shell untuk bekerja dengan layanan Azure. Anda dapat menggunakan perintah Cloud Shell yang telah diinstal sebelumnya untuk menjalankan kode dalam artikel ini tanpa harus menginstal apa-apa di lingkungan lokal Anda.
Untuk memulai Azure Cloud Shell:
Opsi | Contoh/Tautan |
---|---|
Pilih Coba di pojok kanan atas blok kode atau perintah. Memilih Coba tidak otomatis menyalin kode atau perintah ke Cloud Shell. | |
Buka https://shell.azure.com, atau pilih tombol Luncurkan Cloud Shell untuk membuka Cloud Shell di browser Anda. | |
Pilih tombol Cloud Shell pada bilah menu di kanan atas di portal Microsoft Azure. |
Untuk menggunakan Azure Cloud Shell:
Mulai Cloud Shell.
Pilih tombol Salin pada blok kode (atau blok perintah) untuk menyalin kode atau perintah.
Tempel kode atau perintah ke dalam sesi Cloud Shell dengan memilih Ctrl+Shift+V di Windows dan Linux, atau dengan memilih Cmd+Shift+V di macOS.
Pilih Masukkan untuk menjalankan kode atau perintah.
Membuat VM
Latihan dalam tutorial ini membutuhkan VM. Ikuti langkah-langkah di bagian ini untuk membuat VM.
Sebelum Anda mulai, temukan variabel $azRegion
yang terletak di baris pertama kode sampel dan perbarui nilainya untuk mencerminkan wilayah yang Anda inginkan. Misalnya, untuk menentukan wilayah US Tengah, gunakan $azRegion = "Central US"
. Selanjutnya, gunakan kode untuk menyebarkan VM dalam grup sumber daya baru. Anda diminta memasukkan nilai nama pengguna dan kata sandi untuk akun administrator lokal VM.
$azRegion = "[Your Region]"
$azResourceGroup = "myDemoResourceGroup"
$azVMName = "myDemoVM"
$azDataDiskName = "myDemoDataDisk"
New-AzVm `
-Location $azRegion `
-ResourceGroupName $azResourceGroup `
-Name $azVMName `
-Size "Standard_D2s_v3" `
-VirtualNetworkName "myDemoVnet" `
-SubnetName "myDemoSubnet" `
-SecurityGroupName "myDemoNetworkSecurityGroup" `
-PublicIpAddressName "myDemoPublicIpAddress"
Output mengonfirmasi bahwa VM berhasil dibuat.
ResourceGroupName : myDemoResourceGroup
Id : /subscriptions/{GUID}/resourceGroups/myDemoResourceGroup/providers/Microsoft.Compute/virtualMachines/myDemoTestVM
VmId : [{GUID}]
Name : myDemoVM
Type : Microsoft.Compute/virtualMachines
Location : centralus
Tags : {}
HardwareProfile : {VmSize}
NetworkProfile : {NetworkInterfaces}
OSProfile : {ComputerName, AdminUsername, WindowsConfiguration, AllowExtensionOperations, RequireGuestProvisionSignal}
ProvisioningState : Succeeded
StorageProfile : {ImageReference, OsDisk, DataDisks}
FullyQualifiedDomainName : mydemovm-abc123.Central US.cloudapp.azure.com
VM disediakan, dan dua disk dibuat dan dilampirkan secara otomatis.
- Disk sistem operasi, yang menghosting sistem operasi komputer virtual.
- Disk sementara, yang terutama digunakan untuk operasi seperti pemrosesan data sementara.
Menambahkan disk data
Kami menyarankan agar Anda memisahkan aplikasi dan data pengguna dari data terkait OS jika memungkinkan. Jika perlu menyimpan data pengguna atau aplikasi di VM, Anda biasanya akan membuat dan melampirkan disk data tambahan.
Ikuti langkah-langkah di bagian ini untuk membuat, melampirkan, dan menginisialisasi disk data di VM.
Menambahkan disk data
Bagian ini memandu Anda membuat disk data.
Sebelum disk data dapat dibuat, Anda harus terlebih dahulu membuat objek disk. Kode sampel berikut menggunakan cmdlet New-AzDiskConfig untuk mengonfigurasi objek disk.
$diskConfig = New-AzDiskConfig ` -Location $azRegion ` -CreateOption Empty ` -DiskSizeGB 128 ` -SkuName "Standard_LRS"
Setelah objek disk dibuat, gunakan cmdlet New-AzDisk untuk menyediakan disk data.
$dataDisk = New-AzDisk ` -ResourceGroupName $azResourceGroup ` -DiskName $azDataDiskName ` -Disk $diskConfig
Anda dapat menggunakan cmdlet Get-AzDisk untuk memverifikasi bahwa disk telah dibuat.
Get-AzDisk ` -ResourceGroupName $azResourceGroup ` -DiskName $azDataDiskName
Dalam contoh ini, output mengonfirmasi bahwa disk telah dibuat. Nilai properti
DiskState
danManagedBy
mengonfirmasi bahwa disk belum dilampirkan.ResourceGroupName : myDemoResourceGroup ManagedBy : ManagedByExtended : {} OsType : DiskSizeGB : 128 DiskSizeBytes : 137438953472 ProvisioningState : Succeeded DiskIOPSReadWrite : 500 DiskMBpsReadWrite : 60 DiskState : Unattached Name : myDemoDataDisk
Melampirkan disk data
Disk data harus dilampirkan ke VM sebelum VM dapat mengaksesnya. Selesaikan langkah-langkah di bagian ini guna membuat referensi untuk VM, menyambungkan disk, dan memperbarui konfigurasi VM.
Dapatkan VM yang akan Anda lampirkan disk datanya. Kode sampel berikut menggunakan cmdlet Get-AzVM untuk membuat referensi ke VM.
$vm = Get-AzVM ` -ResourceGroupName $azResourceGroup ` -Name $azVMName
Selanjutnya, lampirkan disk data ke konfigurasi VM dengan cmdlet Add-AzVMDataDisk.
$vm = Add-AzVMDataDisk ` -VM $vm ` -Name $azDataDiskName ` -CreateOption Attach ` -ManagedDiskId $dataDisk.Id ` -Lun 1
Terakhir, perbarui konfigurasi VM dengan cmdlet Update-AzVM.
Update-AzVM ` -ResourceGroupName $azResourceGroup ` -VM $vm
Setelah jeda singkat, output mengonfirmasi bahwa disk data berhasil dilampirkan.
RequestId IsSuccessStatusCode StatusCode ReasonPhrase --------- ------------------- ---------- ------------ True OK OK
Menginisialisasi disk data
Setelah disk data dilampirkan ke VM, OS perlu dikonfigurasi untuk menggunakan disk. Bagian berikut memberikan panduan tentang cara menyambungkan ke VM jarak jauh dan mengonfigurasi disk pertama yang ditambahkan.
Masuk ke portal Azure.
Temukan VM tempat Anda melampirkan disk data. Buat koneksi Protokol Desktop Jarak Jauh (RDP) dan masuk sebagai administrator lokal.
Setelah Anda membuat koneksi RDP ke VM jarak jauh, pilih menu Start Windows. Masukkan PowerShell di kotak penelusuran dan pilih Windows PowerShell untuk membuka jendela PowerShell.
Di jendela PowerShell yang terbuka, jalankan skrip berikut.
Get-Disk | Where PartitionStyle -eq 'raw' | Initialize-Disk -PartitionStyle MBR -PassThru | New-Partition -AssignDriveLetter -UseMaximumSize | Format-Volume -FileSystem NTFS -NewFileSystemLabel "myDemoDataDisk" -Confirm:$false
Output mengonfirmasi bahwa inisialisasi berhasil.
DriveLetter FileSystemLabel FileSystem DriveType HealthStatus OperationalStatus SizeRemaining Size ----------- --------------- ---------- --------- ------------ ----------------- ------------- ---- F myDemoDataDisk NTFS Fixed Healthy OK 127.89 GB 128 GB
Memperluas disk
Anda dapat memperluas disk Azure untuk menyediakan kapasitas penyimpanan ekstra saat VM Anda kekurangan ruang disk yang tersedia.
Beberapa skenario memerlukan data untuk disimpan pada disk OS. Misalnya, Anda mungkin diminta untuk mendukung aplikasi warisan yang memasang komponen pada drive OS. Anda mungkin juga perlu memigrasikan VM atau PC fisik lokal dengan drive OS yang lebih besar. Dalam kasus semacam ini, Anda mungkin perlu memperluas disk OS VM.
Menyusutkan disk yang ada tidak didukung dan berpotensi mengakibatkan hilangnya data.
Memperbarui ukuran disk
Ikuti langkah-langkah di bawah ini untuk mengubah ukuran disk OS atau disk data.
Pilih VM yang berisi disk yang akan diubah ukurannya dengan cmdlet
Get-AzVM
.$vm = Get-AzVM ` -ResourceGroupName $azResourceGroup ` -Name $azVMName
Sebelum dapat mengubah ukuran disk VM, Anda harus menghentikan VM. Gunakan cmdlet
Stop-AzVM
untuk menghentikan VM. Anda akan diminta untuk melakukan konfirmasi.Penting
Sebelum Anda memulai penghentian VM, selalu konfirmasikan bahwa tidak ada sumber daya atau data penting yang dapat hilang.
Stop-AzVM ` -ResourceGroupName $azResourceGroup ` -Name $azVMName
Setelah jeda singkat, output mengonfirmasi bahwa komputer berhasil dihentikan.
OperationId : abcd1234-ab12-cd34-123456abcdef Status : Succeeded StartTime : 9/13/2021 7:10:23 PM EndTime : 9/13/2021 7:11:12 PM Error :
Setelah VM dihentikan, dapatkan referensi ke OS atau disk data yang dilampirkan ke VM dengan cmdlet
Get-AzDisk
.Contoh berikut memilih disk OS VM.
$disk= Get-AzDisk ` -ResourceGroupName $azResourceGroup ` -DiskName $vm.StorageProfile.OsDisk.Name
Contoh berikut memilih disk data pertama VM.
$disk= Get-AzDisk ` -ResourceGroupName $azResourceGroup ` -DiskName $vm.StorageProfile.DataDisks[0].Name
Sekarang setelah Anda memiliki referensi ke disk, tetapkan ukuran disk ke 250 GiB.
Penting
Ukuran baru harus lebih besar dari ukuran disk yang ada. Ukuran maksimum yang diizinkan adalah 4.095 GiB untuk disk OS.
$disk.DiskSizeGB = 250
Selanjutnya, perbarui gambar disk dengan cmdlet
Update-AzDisk
.Update-AzDisk ` -ResourceGroupName $azResourceGroup ` -Disk $disk -DiskName $disk.Name
Gambar disk diperbarui, dan output mengonfirmasi ukuran baru disk.
ResourceGroupName : myDemoResourceGroup ManagedBy : /subscriptions/{GUID}/resourceGroups/myDemoResourceGroup/providers/Microsoft.Compute/virtualMachines/myDemoVM Sku : Microsoft.Azure.Management.Compute.Models.DiskSku TimeCreated : 9/135/2021 6:41:10 PM CreationData : Microsoft.Azure.Management.Compute.Models.CreationData DiskSizeGB : 250 DiskSizeBytes : 268435456000 UniqueId : {GUID} ProvisioningState : Succeeded DiskIOPSReadWrite : 500 DiskMBpsReadWrite : 60 DiskState : Reserved Encryption : Microsoft.Azure.Management.Compute.Models.Encryption Id : /subscriptions/{GUID}/resourceGroups/myDemoResourceGroup/providers/Microsoft.Compute/disks/myDemoDataDisk Name : myDemoDataDisk Type : Microsoft.Compute/disks Location : centralus
Terakhir, hidupkan ulang VM dengan cmdlet
Start-AzVM
.Start-AzVM ` -ResourceGroupName $azResourceGroup ` -Name $azVMName
Setelah jeda singkat, output mengonfirmasi bahwa komputer berhasil dihidupkan.
OperationId : abcd1234-ab12-cd34-123456abcdef Status : Succeeded StartTime : 9/13/2021 7:44:54 PM EndTime : 9/13/2021 7:45:15 PM Error :
Memperluas volume disk di OS
Sebelum dapat memanfaatkan ukuran disk baru, Anda perlu memperluas volume di dalam OS. Ikuti langkah-langkah di bawah ini untuk memperluas volume disk dan memanfaatkan ukuran disk baru.
Masuk ke portal Azure.
Temukan VM tempat Anda melampirkan disk data. Buat koneksi Protokol Desktop Jarak Jauh (RDP) dan masuk. Jika Anda tidak lagi memiliki akses ke akun administratif, buat objek kredensial untuk nama pengguna dan kata sandi tertentu dengan cmdlet Get-Credential.
Setelah Anda membuat koneksi RDP ke VM jarak jauh, pilih menu Start Windows. Masukkan PowerShell di kotak penelusuran dan pilih Windows PowerShell untuk membuka jendela PowerShell.
Buka PowerShell dan jalankan skrip berikut. Ubah nilai variabel
-DriveLetter
yang sesuai. Misalnya, untuk mengubah ukuran partisi di drive F:, gunakan$driveLetter = "F"
.$driveLetter = "[Drive Letter]" $size = (Get-PartitionSupportedSize -DriveLetter $driveLetter) Resize-Partition ` -DriveLetter $driveLetter ` -Size $size.SizeMax
Kecilkan jendela RDP dan beralihlah kembali ke Azure Cloud Shell. Gunakan cmdlet
Get-AzDisk
untuk memverifikasi bahwa disk berhasil diubah ukurannya.Get-AzDisk ` -ResourceGroupName $azResourceGroup | Out-Host -Paging
Meningkatkan disk
Ada beberapa cara untuk merespons perubahan beban kerja organisasi Anda. Misalnya, Anda dapat memilih untuk meningkatkan HDD standar ke SSD premium untuk menangani peningkatan permintaan.
Ikuti langkah-langkah di bagian ini untuk meningkatkan disk yang dikelola dari standar ke premium.
Pilih VM yang berisi disk yang akan Anda tingkatkan dengan cmdlet
Get-AzVM
.$vm = Get-AzVM ` -ResourceGroupName $azResourceGroup ` -Name $azVMName
Sebelum dapat meningkatkan disk VM, Anda harus menghentikan VM. Gunakan cmdlet
Stop-AzVM
untuk menghentikan VM. Anda akan diminta untuk melakukan konfirmasi.Penting
Sebelum Anda memulai penghentian VM, selalu konfirmasikan bahwa tidak ada sumber daya atau data penting yang dapat hilang.
Stop-AzVM ` -ResourceGroupName $azResourceGroup ` -Name $azVMName
Setelah jeda singkat, output mengonfirmasi bahwa komputer berhasil dihentikan.
OperationId : abcd1234-ab12-cd34-123456abcdef Status : Succeeded StartTime : 9/13/2021 7:10:23 PM EndTime : 9/13/2021 7:11:12 PM Error :
Setelah VM dihentikan, dapatkan referensi ke OS atau disk data yang dilampirkan ke VM dengan cmdlet
Get-AzDisk
.Contoh berikut memilih disk OS VM.
$disk= Get-AzDisk ` -ResourceGroupName $azResourceGroup ` -DiskName $vm.StorageProfile.OsDisk.Name
Contoh berikut memilih disk data pertama VM.
$disk= Get-AzDisk ` -ResourceGroupName $azResourceGroup ` -DiskName $vm.StorageProfile.DataDisks[0].Name
Sekarang setelah Anda memiliki referensi ke disk, tetapkan SKU disk ke Premium_LRS.
$disk.Sku = [Microsoft.Azure.Management.Compute.Models.DiskSku]::new('Premium_LRS')
Selanjutnya, perbarui gambar disk dengan cmdlet
Update-AzDisk
.Update-AzDisk ` -ResourceGroupName $azResourceGroup ` -Disk $disk -DiskName $disk.Name
Gambar disk diperbarui. Gunakan kode contoh berikut untuk memvalidasi bahwa SKU disk telah ditingkatkan.
$disk.Sku.Name
Output mengonfirmasi SKU baru disk.
Premium_LRS
Terakhir, hidupkan ulang VM dengan cmdlet
Start-AzVM
.Start-AzVM ` -ResourceGroupName $azResourceGroup ` -Name $azVMName
Setelah jeda singkat, output mengonfirmasi bahwa komputer berhasil dihidupkan.
OperationId : abcd1234-ab12-cd34-123456abcdef Status : Succeeded StartTime : 9/13/2021 7:44:54 PM EndTime : 9/13/2021 7:45:15 PM Error :
Melepas disk data
Anda dapat melepaskan disk data dari VM ketika Anda ingin melampirkannya ke VM yang berbeda, atau ketika disk data tidak lagi diperlukan. Secara default, disk yang dilepas tidak dihapus untuk mencegah kehilangan data yang tidak disengaja. Disk yang dilepas akan terus dikenai biaya penyimpanan hingga disk tersebut dihapus.
Pertama, pilih VM tempat disk dilampirkan dengan cmdlet
Get-AzVM
.$vm = Get-AzVM ` -ResourceGroupName $azResourceGroup ` -Name $azVMName
Selanjutnya, lepaskan disk dari VM dengan cmdlet
Remove-AzVMDataDisk
.Remove-AzVMDataDisk ` -VM $vm ` -Name $azDataDiskName
Perbarui status VM dengan cmdlet
Update-AzVM
untuk menghapus disk data.Update-AzVM ` -ResourceGroupName $azResourceGroup ` -VM $vm
Setelah jeda singkat, output mengonfirmasi bahwa VM berhasil diperbarui.
RequestId IsSuccessStatusCode StatusCode ReasonPhrase --------- ------------------- ---------- ------------ True OK OK
Menghapus disk data
Saat Anda menghapus VM, disk data yang dilampirkan ke VM akan tetap disediakan dan terus dikenai biaya hingga disk data tersebut dihapus. Perilaku default ini membantu mencegah kehilangan data yang disebabkan oleh penghapusan yang tidak disengaja.
Anda dapat menggunakan skrip PowerShell sampel berikut untuk menghapus disk yang tidak dilampirkan. Pengambilan disk terbatas pada myDemoResourceGroup karena pengalihan -ResourceGroupName
digunakan dengan Get-AzDisk
cmdlet.
# Get all disks in resource group $azResourceGroup
$allDisks = Get-AzDisk -ResourceGroupName $azResourceGroup
# Determine the number of disks in the collection
if($allDisks.Count -ne 0) {
Write-Host "Found $($allDisks.Count) disks."
# Iterate through the collection
foreach ($disk in $allDisks) {
# Use the disk's "ManagedBy" property to determine if it is unattached
if($disk.ManagedBy -eq $null) {
# Confirm that the disk can be deleted
Write-Host "Deleting unattached disk $($disk.Name)."
$confirm = Read-Host "Continue? (Y/N)"
if ($confirm.ToUpper() -ne 'Y') { break }
else {
# Delete the disk
$disk | Remove-AzDisk -Force
Write-Host "Unattached disk $($disk.Name) deleted."
}
}
}
}
Disk data yang tidak dilampirkan dihapus seperti yang ditunjukkan oleh output.
Name : abcd1234-ab12-cd34-ef56-abcdef123456
StartTime : 9/13/2021 10:14:05 AM
EndTime : 9/13/2021 10:14:35 AM
Status : Succeeded
Error :
Membersihkan sumber daya
Jika tidak lagi diperlukan, hapus grup sumber daya, VM, dan semua sumber daya terkait. Anda dapat menggunakan skrip PowerShell sampel berikut untuk menghapus grup sumber daya yang dibuat sebelumnya dalam tutorial ini.
Perhatian
Berhati-hatilah saat menghapus grup sumber daya. Untuk menghindari hilangnya data penting, selalu konfirmasikan bahwa tidak ada sumber daya atau data penting yang terdapat dalam grup sumber daya sebelum grup tersebut dihapus.
Remove-AzResourceGroup -Name $azResourceGroup
Anda diminta untuk melakukan konfirmasi. Setelah jeda singkat, respons True
mengonfirmasikan bahwa myDemoResourceGroup berhasil dihapus.
Confirm
Are you sure you want to remove resource group 'myDemoResourceGroup'
[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): Y
True
Langkah berikutnya
Dalam tutorial ini, Anda mempelajari cara:
- Membuat, melampirkan, dan menginisialisasi disk data
- Memverifikasi status disk
- Menginisialisasi disk
- Memperluas dan meningkatkan disk
- Melepas dan menghapus disk
Lanjutkan ke tutorial berikutnya untuk mempelajari cara mengotomatiskan konfigurasi VM.