Tutorial: Mengelola disk dengan Azure PowerShell

Komputer virtual (VM) Azure menggunakan disk untuk menyimpan sistem operasi (OS), aplikasi, dan data. Saat Anda membuat VM, penting untuk memilih ukuran dan konfigurasi disk yang sesuai untuk beban kerja yang diharapkan.

Tutorial ini mencakup penyebaran dan manajemen disk VM. Dalam tutorial ini, Anda akan belajar cara:

  • Membuat, melampirkan, dan menginisialisasi disk data
  • Memverifikasi status disk
  • Menginisialisasi disk
  • Memperluas dan memutakhirkan cakram
  • Melepas disk dan menghapusnya

Prerequisites

Anda harus memiliki akun Azure dengan langganan aktif. Jika Anda tidak memiliki langganan Azure, buatlah 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:

Pilihan Example/Link
Pilih Coba di pojok kanan atas blok kode atau perintah. Memilih Coba tidak otomatis menyalin kode atau perintah ke Cloud Shell. Cuplikan layar yang menunjukkan contoh Try It for Azure Cloud Shell.
Pergi ke https://shell.azure.com, atau pilih tombol Luncurkan Cloud Shell untuk membuka Cloud Shell di browser Anda. Tombol untuk meluncurkan Azure Cloud Shell.
Pilih tombol Cloud Shell pada bilah menu di kanan atas di portal Microsoft Azure. Cuplikan layar yang menunjukkan tombol Cloud Shell di portal Azure

Untuk menggunakan Azure Cloud Shell:

  1. Mulai Cloud Shell.

  2. Pilih tombol Salin pada blok kode (atau blok perintah) untuk menyalin kode atau perintah.

  3. 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.

  4. Pilih Masukkan untuk menjalankan kode atau perintah.

Membuat VM

Latihan dalam tutorial ini memerlukan VM. Ikuti langkah-langkah di bagian ini untuk membuatnya.

Sebelum memulai, temukan variabel yang $azRegion terletak di baris pertama kode sampel dan perbarui nilai 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 dimintai 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"

Hasil keluaran mengkonfirmasi keberhasilan pembuatan VM.

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 secara otomatis dibuat dan dilampirkan.

  • Disk sistem operasi , yang menjalankan sistem operasi mesin virtual.
  • Disk sementara, yang terutama digunakan untuk operasi seperti pemrosesan data sementara.

Tambah disk data

Kami menyarankan agar Anda memisahkan data aplikasi dan pengguna dari data terkait OS jika memungkinkan. Jika Anda 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 pada VM.

Membuat disk data

Bagian ini memandu Anda melalui pembuatan disk data.

  1. Sebelum disk data dapat dibuat, Anda harus terlebih dahulu membuat objek disk. Sampel kode berikut menggunakan cmdlet New-AzDiskConfig untuk mengonfigurasi objek disk.

    $diskConfig = New-AzDiskConfig `
        -Location $azRegion `
        -CreateOption Empty `
        -DiskSizeGB 128 `
        -SkuName "Standard_LRS"
    
  2. 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 dibuat.

    Get-AzDisk `
        -ResourceGroupName $azResourceGroup `
        -DiskName $azDataDiskName
    

    Dalam contoh ini, output mengonfirmasi bahwa disk dibuat. Nilai properti DiskState dan ManagedBy mengonfirmasi bahwa disk belum terpasang.

    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 untuk membuat referensi untuk VM, menyambungkan disk, dan memperbarui konfigurasi VM.

  1. Dapatkan VM yang akan Anda pasangkan disk datanya. Kode sampel berikut menggunakan cmdlet Get-AzVM untuk membuat referensi ke VM.

    $vm = Get-AzVM `
        -ResourceGroupName $azResourceGroup `
        -Name $azVMName
    
  2. 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
    
  3. Terakhir, perbarui konfigurasi VM dengan cmdlet Update-AzVM .

    Update-AzVM `
        -ResourceGroupName $azResourceGroup `
        -VM $vm
    

    Setelah jeda singkat, output mengonfirmasi keberhasilan lampiran.

    RequestId IsSuccessStatusCode StatusCode ReasonPhrase
    --------- ------------------- ---------- ------------
                             True         OK OK
    

Menginisialisasi disk data

Setelah disk data dilampirkan ke VM, OS perlu dikonfigurasi untuk menggunakan disk. Bagian berikut ini menyediakan panduan tentang cara menyambungkan ke VM jarak jauh dan mengonfigurasi disk pertama yang ditambahkan.

  1. Masuk ke portal Azure.

  2. Temukan VM tempat Anda melampirkan disk data. Buat koneksi Protokol Desktop Jauh (RDP) dan masuk sebagai administrator lokal.

  3. Setelah Anda membuat koneksi RDP ke komputer virtual jarak jauh, pilih menu Mulai Windows. Masukkan PowerShell di kotak pencarian dan pilih Windows PowerShell untuk membuka jendela PowerShell.

    Gambar jendela koneksi desktop jarak jauh.

  4. Di jendela PowerShell yang terbuka, jalankan skrip berikut ini.

    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 inisialisasi yang berhasil.

    DriveLetter FileSystemLabel FileSystem DriveType HealthStatus OperationalStatus SizeRemaining   Size
    ----------- --------------- ---------- --------- ------------ ----------------- -------------   ----
    F           myDemoDataDisk  NTFS       Fixed     Healthy      OK                    127.89 GB 128 GB
    

Memperluas cakram

Anda dapat memperluas disk Azure untuk menyediakan kapasitas penyimpanan tambahan saat VM Anda kehabisan ruang disk yang tersedia.

Beberapa skenario mengharuskan data disimpan pada disk OS. Misalnya, Anda mungkin diharuskan untuk mendukung aplikasi warisan yang menginstal komponen pada drive OS. Anda mungkin juga perlu memigrasikan PC fisik lokal atau VM dengan drive OS yang lebih besar. Dalam kasus seperti itu, mungkin perlu untuk memperluas disk OS VM.

Menyusutkan disk yang ada tidak didukung, dan berpotensi mengakibatkan kehilangan data.

Memperbarui ukuran disk

Ikuti langkah-langkah di bawah ini untuk mengubah ukuran disk OS atau disk data.

Penting

Jika disk Anda memenuhi persyaratan di Perluas tanpa waktu henti, Anda dapat melewati langkah 2 dan 6.

Menyusutkan disk yang ada tidak didukung dan dapat mengakibatkan kehilangan data.

Setelah memperluas disk, Anda perlu memperluas volume dalam sistem operasi untuk memanfaatkan disk yang lebih besar.

  1. Pilih VM yang berisi disk yang akan Anda mengubah ukurannya dengan Get-AzVM cmdlet.

     $vm = Get-AzVM `
       -ResourceGroupName $azResourceGroup `
       -Name $azVMName
    
  2. Sebelum dapat mengubah ukuran disk VM, Anda harus menghentikan VM. Stop-AzVM Gunakan cmdlet untuk menghentikan VM. Anda akan dimintai konfirmasi.

    Penting

    Sebelum Anda mematikan VM, selalu pastikan 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       :
    
  3. Setelah VM dihentikan, dapatkan referensi ke OS atau disk data yang terpasang pada VM dengan Get-AzDisk cmdlet .

    Contoh berikut memilih disk OS dari 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
    
  4. Sekarang setelah Anda memiliki referensi ke disk, atur ukuran disk ke 250 GiB.

    Penting

    Ukuran baru harus lebih besar dari ukuran disk yang ada. Maksimum yang diizinkan adalah 4.095 GiB untuk disk OS.

    $disk.DiskSizeGB = 250
    
  5. Selanjutnya, perbarui gambar disk dengan Update-AzDisk cmdlet.

    Update-AzDisk `
        -ResourceGroupName $azResourceGroup `
        -Disk $disk -DiskName $disk.Name
    

    Citra disk telah diperbarui, dan output memverifikasi 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
    
    
  6. Terakhir, mulai ulang VM dengan Start-AzVM cmdlet.

    Start-AzVM `
        -ResourceGroupName $azResourceGroup `
        -Name $azVMName
    

    Setelah jeda singkat, output mengonfirmasi bahwa komputer berhasil dimulai.

    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 Anda dapat memanfaatkan ukuran disk baru, Anda perlu memperluas volume dalam OS. Ikuti langkah-langkah di bawah ini untuk memperluas volume disk dan memanfaatkan ukuran disk baru.

  1. Masuk ke portal Azure.

  2. Temukan VM tempat Anda melampirkan disk data. Buat koneksi Protokol Desktop 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 .

  3. Setelah Anda membuat koneksi RDP ke komputer virtual jarak jauh, pilih menu Mulai Windows. Masukkan PowerShell di kotak pencarian dan pilih Windows PowerShell untuk membuka jendela PowerShell.

    Gambar jendela koneksi desktop jarak jauh.

  4. Buka PowerShell dan jalankan skrip berikut. Ubah nilai variabel -DriveLetter sesuai kebutuhan. Misalnya, untuk mengubah ukuran partisi pada drive F: , gunakan $driveLetter = "F".

    $driveLetter = "[Drive Letter]" 
    $size = (Get-PartitionSupportedSize -DriveLetter $driveLetter) 
    Resize-Partition `
        -DriveLetter $driveLetter `
        -Size $size.SizeMax
    
  5. Minimalkan jendela RDP dan beralih kembali ke Azure Cloud Shell. Gunakan cmdlet Get-AzDisk untuk memverifikasi bahwa disk berhasil di-resize.

    Get-AzDisk `
        -ResourceGroupName $azResourceGroup | Out-Host -Paging
    

Memutakhirkan 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 terkelola dari standar ke premium.

  1. Pilih VM yang berisi disk yang akan Anda upgrade dengan Get-AzVM cmdlet.

     $vm = Get-AzVM `
       -ResourceGroupName $azResourceGroup `
       -Name $azVMName
    
  2. Sebelum dapat meningkatkan disk VM, Anda harus mematikan VM. Stop-AzVM Gunakan cmdlet untuk menghentikan VM. Anda akan dimintai konfirmasi.

    Penting

    Sebelum Anda mematikan VM, selalu pastikan 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       :
    
  3. Setelah VM dihentikan, dapatkan referensi ke OS atau disk data yang terpasang pada VM dengan Get-AzDisk cmdlet .

    Contoh berikut memilih disk OS dari 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
    
  4. Sekarang setelah Anda memiliki referensi ke disk, atur SKU disk ke Premium_LRS.

    $disk.Sku = [Microsoft.Azure.Management.Compute.Models.DiskSku]::new('Premium_LRS')
    
  5. Selanjutnya, perbarui gambar disk dengan Update-AzDisk cmdlet.

    Update-AzDisk `
        -ResourceGroupName $azResourceGroup `
        -Disk $disk -DiskName $disk.Name
    

    Citra disk diperbarui. Gunakan contoh kode berikut untuk memvalidasi bahwa SKU disk telah ditingkatkan.

    $disk.Sku.Name
    

    Output mengonfirmasi SKU baru untuk disk tersebut.

    Premium_LRS
    
  6. Terakhir, mulai ulang VM dengan Start-AzVM cmdlet.

    Start-AzVM `
        -ResourceGroupName $azResourceGroup `
        -Name $azVMName
    

    Setelah jeda singkat, output mengonfirmasi bahwa komputer berhasil dimulai.

    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 penyimpanan data

Anda dapat melepaskan disk data dari VM saat Anda ingin melampirkannya ke VM yang berbeda, atau ketika tidak lagi diperlukan. Secara default, disk yang dilepas tidak dihapus untuk mencegah kehilangan data yang tidak disengaja. Disk yang dilepaskan akan terus dikenakan biaya penyimpanan hingga dihapus.

  1. Pertama, pilih VM yang terpasang diska dengan Get-AzVM cmdlet.

    $vm = Get-AzVM `
       -ResourceGroupName $azResourceGroup `
       -Name $azVMName
    
  2. Selanjutnya, lepaskan disk dari VM dengan Remove-AzVMDataDisk cmdlet.

    Remove-AzVMDataDisk `
        -VM $vm `
        -Name $azDataDiskName
    
  3. Perbarui status VM dengan Update-AzVM cmdlet 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
    

Hapus sebuah disk data

Saat Anda menghapus VM, disk data yang terpasang pada VM tetap disediakan dan terus dikenakan biaya hingga dihapus. Perilaku default ini membantu mencegah kehilangan data yang disebabkan oleh penghapusan yang tidak disengaja.

Anda dapat menggunakan contoh skrip PowerShell berikut untuk menghapus disk yang tidak terpasang. Pengambilan disk dibatasi pada myDemoResourceGroup karena sakelar -ResourceGroupName digunakan dengan cmdlet Get-AzDisk.

# 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 dipasang dihapus sebagaimana ditunjukkan oleh keluaran.

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 contoh skrip PowerShell 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 terkandung dalam grup sumber daya sebelum dihapus.

    Remove-AzResourceGroup -Name $azResourceGroup

Anda dimintai konfirmasi. Setelah jeda singkat, True respons mengonfirmasi 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 selanjutnya

Dalam tutorial ini, Anda belajar cara:

  • Membuat, melampirkan, dan menginisialisasi disk data
  • Memverifikasi status disk
  • Menginisialisasi disk
  • Memperluas dan memutakhirkan cakram
  • Melepas disk dan menghapusnya

Lanjutkan ke tutorial berikutnya untuk mempelajari cara mengotomatiskan konfigurasi VM.