Öğretici: Azure PowerShell ile diskleri yönetme

Azure sanal makineleri (VM'ler), işletim sistemlerini (işletim sistemi), uygulamaları ve verileri depolamak için diskleri kullanır. Vm oluşturduğunuzda, beklenen iş yükü için uygun bir disk boyutu ve yapılandırması seçmeniz önemlidir.

Bu öğretici, VM disklerinin dağıtımını ve yönetimini kapsar. Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:

  • Veri diski oluşturma, ekleme ve başlatma
  • Diskin durumunu doğrulama
  • Disk başlatma
  • Diski genişletme ve yükseltme
  • Diski ayırma ve silme

Önkoşullar

Etkin aboneliği olan bir Azure hesabınız olmalıdır. Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

Azure Cloud Shell

Azure, tarayıcınız aracılığıyla kullanabileceğiniz etkileşimli bir kabuk ortamı olan Azure Cloud Shell'i barındırıyor. Azure hizmetleriyle çalışmak için Cloud Shell ile Bash veya PowerShell kullanabilirsiniz. Yerel ortamınıza herhangi bir şey yüklemek zorunda kalmadan bu makaledeki kodu çalıştırmak için Cloud Shell önceden yüklenmiş komutlarını kullanabilirsiniz.

Azure Cloud Shell'i başlatmak için:

Seçenek Örnek/Bağlantı
Kodun veya komut bloğunun sağ üst köşesindeki Deneyin'i seçin. Deneyin seçildiğinde kod veya komut otomatik olarak Cloud Shell'e kopyalanmaz. Screenshot that shows an example of Try It for Azure Cloud Shell.
https://shell.azure.comadresine gidin veya Cloud Shell'i tarayıcınızda açmak için Cloud Shell'i Başlat düğmesini seçin. Button to launch Azure Cloud Shell.
Azure portalının sağ üst kısmındaki menü çubuğunda Cloud Shell düğmesini seçin. Screenshot that shows the Cloud Shell button in the Azure portal

Azure Cloud Shell'i kullanmak için:

  1. Cloud Shell'i başlatın.

  2. Kodu veya komutu kopyalamak için kod bloğundaki (veya komut bloğundaki) Kopyala düğmesini seçin.

  3. Windows ve Linux'ta Ctrl+Shift V'yi seçerek veya macOS üzerinde Cmd+Shift++V'yi seçerek kodu veya komutu Cloud Shell oturumuna yapıştırın.

  4. Kodu veya komutu çalıştırmak için Enter'ı seçin.

VM oluşturma

Bu öğreticideki alıştırmalar bir VM gerektirir. Oluşturmak için bu bölümdeki adımları izleyin.

Başlamadan önce, örnek kodun $azRegion ilk satırında bulunan değişkeni bulun ve değeri istediğiniz bölgeyi yansıtacak şekilde güncelleştirin. Örneğin, Orta ABD bölgesini belirtmek için kullanın$azRegion = "Central US". Ardından, yeni bir kaynak grubu içinde vm dağıtmak için kodu kullanın. VM'nin yerel yönetici hesabı için kullanıcı adı ve parola değerleri istenir.

$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"

Çıkış, VM'nin başarılı bir şekilde oluşturulduğuna onay verir.

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 sağlanır ve iki disk otomatik olarak oluşturulur ve eklenir.

  • Sanal makinenin işletim sistemini barındıran bir işletim sistemi diski.
  • Öncelikli olarak geçici veri işleme gibi işlemler için kullanılan geçici disk.

Veri diski ekleme

Mümkün olduğunda uygulama ve kullanıcı verilerini işletim sistemiyle ilgili verilerden ayırmanızı öneririz. Vm'nizde kullanıcı veya uygulama verilerini depolamanız gerekiyorsa genellikle ek veri diskleri oluşturup eklersiniz.

VM'de veri diski oluşturmak, eklemek ve başlatmak için bu bölümdeki adımları izleyin.

Veri diskini oluşturma

Bu bölüm, veri diski oluşturma işleminde size yol gösterir.

  1. Bir veri diski oluşturulabilmesi için önce bir disk nesnesi oluşturmanız gerekir. Aşağıdaki kod örneği, bir disk nesnesi yapılandırmak için New-AzDiskConfig cmdlet'ini kullanır.

    $diskConfig = New-AzDiskConfig `
        -Location $azRegion `
        -CreateOption Empty `
        -DiskSizeGB 128 `
        -SkuName "Standard_LRS"
    
  2. Disk nesnesi oluşturulduktan sonra New-AzDisk cmdlet'ini kullanarak bir veri diski sağlayın.

    $dataDisk = New-AzDisk `
        -ResourceGroupName $azResourceGroup `
        -DiskName $azDataDiskName `
        -Disk $diskConfig
    

    Diskin oluşturulduğunu doğrulamak için Get-AzDisk cmdlet'ini kullanabilirsiniz.

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

    Bu örnekte çıkış, diskin oluşturulduğunu onaylar. DiskState ve ManagedBy özellik değerleri, diskin henüz bağlı olmadığını onaylar.

    ResourceGroupName            : myDemoResourceGroup
    ManagedBy                    :
    ManagedByExtended            : {}
    OsType                       :
    DiskSizeGB                   : 128
    DiskSizeBytes                : 137438953472
    ProvisioningState            : Succeeded
    DiskIOPSReadWrite            : 500
    DiskMBpsReadWrite            : 60
    DiskState                    : Unattached
    Name                         : myDemoDataDisk
    

Veri diskini ekleme

VM'nin erişebilmesi için bir veri diski VM'ye eklenmelidir. VM için bir başvuru oluşturmak, diski bağlamak ve VM'nin yapılandırmasını güncelleştirmek için bu bölümdeki adımları tamamlayın.

  1. Veri diskini ekleyebileceğiniz VM'yi alın. Aşağıdaki örnek kod, VM'ye başvuru oluşturmak için Get-AzVM cmdlet'ini kullanır.

    $vm = Get-AzVM `
        -ResourceGroupName $azResourceGroup `
        -Name $azVMName
    
  2. Ardından Add-AzVMDataDisk cmdlet'iyle veri diskini VM'nin yapılandırmasına ekleyin.

    $vm = Add-AzVMDataDisk `
        -VM $vm `
        -Name $azDataDiskName `
        -CreateOption Attach `
        -ManagedDiskId $dataDisk.Id `
        -Lun 1
    
  3. Son olarak, VM'nin yapılandırmasını Update-AzVM cmdlet'iyle güncelleştirin.

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

    Kısa bir duraklamadan sonra çıkış başarılı bir eki onaylar.

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

Veri diskini başlatma

Vm'ye bir veri diski eklendikten sonra işletim sisteminin diski kullanacak şekilde yapılandırılması gerekir. Aşağıdaki bölümde, uzak VM'ye bağlanma ve eklenen ilk diski yapılandırma hakkında yönergeler sağlanmaktadır.

  1. Azure Portal’ında oturum açın.

  2. Veri diskini eklediğiniz VM'yi bulun. Uzak Masaüstü Protokolü (RDP) bağlantısı oluşturun ve yerel yönetici olarak oturum açın.

  3. Uzak VM'ye rdp bağlantısı kurduktan sonra Windows Başlat menüsünü seçin. Arama kutusuna PowerShell yazın ve Bir PowerShell penceresi açmak için Windows PowerShell'i seçin.

    Image of a remote desktop connection window.

  4. PowerShell'i aç penceresinde aşağıdaki betiği çalıştırın.

    Get-Disk | Where PartitionStyle -eq 'raw' |
        Initialize-Disk -PartitionStyle MBR -PassThru |
        New-Partition -AssignDriveLetter -UseMaximumSize |
        Format-Volume -FileSystem NTFS -NewFileSystemLabel "myDemoDataDisk" -Confirm:$false
    

    Çıkış, başarılı bir başlatmayı onaylar.

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

Diski genişletme

Vm'nizde kullanılabilir disk alanı az olduğunda ek depolama kapasitesi sağlamak için Azure disklerini genişletebilirsiniz.

Bazı senaryolarda verilerin işletim sistemi diskinde depolanması gerekir. Örneğin, işletim sistemi sürücüsüne bileşen yükleyen eski uygulamaları desteklemeniz gerekebilir. Daha büyük bir işletim sistemi sürücüsüne sahip şirket içi fiziksel bilgisayarı veya VM'yi de geçirmeniz gerekebilir. Bu gibi durumlarda, vm'nin işletim sistemi disklerinin genişletilmesi gerekebilir.

Mevcut diski küçültme desteklenmez ve veri kaybına neden olabilir.

Diskin boyutunu güncelleştirme

İşletim sistemi diskini veya veri diskini yeniden boyutlandırmak için aşağıdaki adımları izleyin.

  1. Cmdlet'iyle yeniden boyutlandırabileceğiniz diski içeren VM'yi Get-AzVM seçin.

     $vm = Get-AzVM `
       -ResourceGroupName $azResourceGroup `
       -Name $azVMName
    
  2. Bir VM'nin diskini yeniden boyutlandırabilmeniz için önce VM'yi durdurmanız gerekir. VM'yi Stop-AzVM durdurmak için cmdlet'ini kullanın. Sizden onay istenir.

    Önemli

    VM kapatma işlemini başlatmadan önce, kaybolabilecek önemli kaynak veya veri olmadığını her zaman onaylayın.

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

    Kısa bir duraklatma sonrasında çıkış, makinenin başarıyla durdurulduğunu onaylar.

    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. VM durdurulduktan sonra, cmdlet'iyle VM'ye bağlı işletim sistemine veya veri diskine Get-AzDisk başvuru alın.

    Aşağıdaki örnek VM'nin işletim sistemi diskini seçer.

    $disk= Get-AzDisk `
        -ResourceGroupName $azResourceGroup `
        -DiskName $vm.StorageProfile.OsDisk.Name
    

    Aşağıdaki örnek VM'nin ilk veri diskini seçer.

        $disk= Get-AzDisk `
            -ResourceGroupName $azResourceGroup `
            -DiskName $vm.StorageProfile.DataDisks[0].Name
    
  4. Artık diske bir başvurunuz olduğuna göre, diskin boyutunu 250 GiB olarak ayarlayın.

    Önemli

    Yeni boyut mevcut disk boyutundan büyük olmalıdır. İzin verilen maksimum işletim sistemi diskleri için 4.095 GiB'dir.

    $disk.DiskSizeGB = 250
    
  5. Ardından, disk görüntüsünü cmdlet'iyle güncelleştirin Update-AzDisk .

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

    Disk görüntüsü güncelleştirilir ve çıkış diskin yeni boyutunu onaylar.

    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. Son olarak, cmdlet'iyle VM'yi Start-AzVM yeniden başlatın.

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

    Kısa bir duraklatma sonrasında çıkış, makinenin başarıyla başlatıldığını onaylar.

    OperationId : abcd1234-ab12-cd34-123456abcdef
    Status      : Succeeded
    StartTime   : 9/13/2021 7:44:54 PM
    EndTime     : 9/13/2021 7:45:15 PM
    Error       :
    

İşletim sistemindeki disk birimini genişletme

Yeni disk boyutundan yararlanabilmeniz için önce işletim sistemi içindeki birimi genişletmeniz gerekir. Disk birimini genişletmek ve yeni disk boyutundan yararlanmak için aşağıdaki adımları izleyin.

  1. Azure Portal’ında oturum açın.

  2. Veri diskini eklediğiniz VM'yi bulun. Uzak Masaüstü Protokolü (RDP) bağlantısı oluşturun ve oturum açın. Artık bir yönetim hesabına erişiminiz yoksa, Get-Credential cmdlet'iyle belirtilen kullanıcı adı ve parola için bir kimlik bilgisi nesnesi oluşturun.

  3. Uzak VM'ye rdp bağlantısı kurduktan sonra Windows Başlat menüsünü seçin. Arama kutusuna PowerShell yazın ve Bir PowerShell penceresi açmak için Windows PowerShell'i seçin.

    Image of a remote desktop connection window.

  4. PowerShell'i açın ve aşağıdaki betiği çalıştırın. Değişkenin -DriveLetter değerini uygun şekilde değiştirin. Örneğin, F: sürücüsündeki bölümü yeniden boyutlandırmak için kullanın$driveLetter = "F".

    $driveLetter = "[Drive Letter]" 
    $size = (Get-PartitionSupportedSize -DriveLetter $driveLetter) 
    Resize-Partition `
        -DriveLetter $driveLetter `
        -Size $size.SizeMax
    
  5. RDP penceresini simge durumuna küçültün ve Azure Cloud Shell'e geri dönün. Diskin Get-AzDisk başarıyla yeniden boyutlandırıldığını doğrulamak için cmdlet'ini kullanın.

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

Diski yükseltme

Kuruluşunuzun iş yüklerindeki değişikliklere yanıt vermenin çeşitli yolları vardır. Örneğin, artan talebi işlemek için standart bir HDD'yi premium SSD'ye yükseltmeyi seçebilirsiniz.

Yönetilen diski standarttan premium diske yükseltmek için bu bölümdeki adımları izleyin.

  1. Cmdlet'iyle yükselteceğimiz diski içeren VM'yi Get-AzVM seçin.

     $vm = Get-AzVM `
       -ResourceGroupName $azResourceGroup `
       -Name $azVMName
    
  2. Bir VM'nin diskini yükseltebilmeniz için önce VM'yi durdurmanız gerekir. VM'yi Stop-AzVM durdurmak için cmdlet'ini kullanın. Sizden onay istenir.

    Önemli

    VM kapatma işlemini başlatmadan önce, kaybolabilecek önemli kaynak veya veri olmadığını her zaman onaylayın.

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

    Kısa bir duraklatma sonrasında çıkış, makinenin başarıyla durdurulduğunu onaylar.

    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. VM durdurulduktan sonra, cmdlet'iyle VM'ye bağlı işletim sistemine veya veri diskine Get-AzDisk başvuru alın.

    Aşağıdaki örnek VM'nin işletim sistemi diskini seçer.

    $disk= Get-AzDisk `
        -ResourceGroupName $azResourceGroup `
        -DiskName $vm.StorageProfile.OsDisk.Name
    

    Aşağıdaki örnek VM'nin ilk veri diskini seçer.

        $disk= Get-AzDisk `
            -ResourceGroupName $azResourceGroup `
            -DiskName $vm.StorageProfile.DataDisks[0].Name
    
  4. Artık diske bir başvurunuz olduğuna göre, diskin SKU'sunu Premium_LRS olarak ayarlayın.

    $disk.Sku = [Microsoft.Azure.Management.Compute.Models.DiskSku]::new('Premium_LRS')
    
  5. Ardından, disk görüntüsünü cmdlet'iyle güncelleştirin Update-AzDisk .

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

    Disk görüntüsü güncelleştirilir. Diskin SKU'sunun yükseltildiğini doğrulamak için aşağıdaki örnek kodu kullanın.

    $disk.Sku.Name
    

    Çıkış, diskin yeni SKU'sunu onaylar.

    Premium_LRS
    
  6. Son olarak, cmdlet'iyle VM'yi Start-AzVM yeniden başlatın.

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

    Kısa bir duraklatma sonrasında çıkış, makinenin başarıyla başlatıldığını onaylar.

    OperationId : abcd1234-ab12-cd34-123456abcdef
    Status      : Succeeded
    StartTime   : 9/13/2021 7:44:54 PM
    EndTime     : 9/13/2021 7:45:15 PM
    Error       :
    

Veri diski çıkarma

Veri disklerini farklı bir VM'ye eklemek istediğinizde veya artık gerekli olmadığında VM'den ayırabilirsiniz. Varsayılan olarak, ayrılmamış diskler yanlışlıkla veri kaybını önlemek için silinmez. Ayrılmış bir disk silinene kadar depolama ücreti ödemeye devam eder.

  1. İlk olarak, diskin cmdlet'iyle eklendiği VM'yi Get-AzVM seçin.

    $vm = Get-AzVM `
       -ResourceGroupName $azResourceGroup `
       -Name $azVMName
    
  2. Ardından, diski cmdlet'iyle VM'den ayırın Remove-AzVMDataDisk .

    Remove-AzVMDataDisk `
        -VM $vm `
        -Name $azDataDiskName
    
  3. Veri diskini kaldırmak için cmdlet ile Update-AzVM VM'nin durumunu güncelleştirin.

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

    Kısa bir duraklatma sonrasında çıkış, VM'nin başarıyla güncelleştirildiğini onaylar.

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

Veri disklerini silme

Bir VM'yi sildiğinizde, VM'ye bağlı veri diskleri sağlanmış olarak kalır ve silinene kadar ücret uygulanmaya devam eder. Bu varsayılan davranış, yanlışlıkla silme işleminden kaynaklanan veri kaybını önlemeye yardımcı olur.

Eklenmemiş diskleri silmek için aşağıdaki örnek PowerShell betiğini kullanabilirsiniz. Anahtar cmdlet'iyle kullanıldığından disklerin alınması myDemoResourceGroup -ResourceGroupName ile Get-AzDisk sınırlıdır.

# 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."
            }
        }
    }
}

Eklenmemiş veri diski çıkışta gösterildiği gibi silinir.

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     :

Kaynakları temizleme

Artık gerekli olmadığında kaynak grubunu, VM'yi ve tüm ilgili kaynakları silin. Bu öğreticinin önceki bölümlerinde oluşturulan kaynak grubunu silmek için aşağıdaki örnek PowerShell betiğini kullanabilirsiniz.

Dikkat

Kaynak grubunu silerken dikkatli olun. Önemli verilerin kaybını önlemek için, silinmeden önce kaynak grubunda önemli kaynak veya veri bulunmadığını her zaman onaylayın.

    Remove-AzResourceGroup -Name $azResourceGroup

Sizden onay istenir. Kısa bir duraklatma sonrasında True yanıt, myDemoResourceGroup'un başarıyla silindiğini onaylar.

Confirm
Are you sure you want to remove resource group 'myDemoResourceGroup'
[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): Y
True

Sonraki adımlar

Bu öğreticide, şunların nasıl yapıldığını öğrendiniz:

  • Veri diski oluşturma, ekleme ve başlatma
  • Diskin durumunu doğrulama
  • Disk başlatma
  • Diski genişletme ve yükseltme
  • Diski ayırma ve silme

VM yapılandırmasını otomatikleştirmeyi öğrenmek için sonraki öğreticiye geçin.