Kurz: Správa disků pomocí Azure PowerShellu

Virtuální počítače Azure používají disky k ukládání operačních systémů, aplikací a dat. Při vytváření virtuálního počítače je důležité zvolit odpovídající velikost a konfiguraci disku pro očekávanou úlohu.

Tento kurz se zabývá nasazením a správou disků virtuálních počítačů. V tomto kurzu se naučíte:

  • Vytvoření, připojení a inicializace datového disku
  • Ověření stavu disku
  • Inicializace disku
  • Rozšíření a upgrade disku
  • Odpojení a odstranění disku

Požadavky

Musíte mít účet Azure s aktivním předplatným. Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.

Azure Cloud Shell

Azure hostí interaktivní prostředí Azure Cloud Shell, které můžete používat v prohlížeči. Pro práci se službami Azure můžete v prostředí Cloud Shell použít buď Bash, nebo PowerShell. Předinstalované příkazy Cloud Shellu můžete použít ke spuštění kódu v tomto článku, aniž byste museli instalovat cokoli do místního prostředí.

Spuštění služby Azure Cloud Shell:

Možnost Příklad nebo odkaz
Vyberte Vyzkoušet v pravém horním rohu bloku kódu nebo příkazu. Výběrem možnosti Vyzkoušet se kód ani příkaz automaticky nekopíruje do Cloud Shellu. Screenshot that shows an example of Try It for Azure Cloud Shell.
Přejděte na adresu https://shell.azure.com nebo výběrem tlačítka Spustit Cloud Shell otevřete Cloud Shell v prohlížeči. Button to launch Azure Cloud Shell.
Zvolte tlačítko Cloud Shell v pruhu nabídky v pravém horním rohu webu Azure Portal. Screenshot that shows the Cloud Shell button in the Azure portal

Použití Azure Cloud Shellu:

  1. Spusťte Cloud Shell.

  2. Výběrem tlačítka Kopírovat v bloku kódu (nebo bloku příkazů) zkopírujte kód nebo příkaz.

  3. Vložte kód nebo příkaz do relace Cloud Shellu tak, že ve Windows a Linuxu vyberete ctrl+Shift+V nebo vyberete Cmd+Shift+V v macOS.

  4. Stisknutím klávesy Enter spusťte kód nebo příkaz.

Vytvoření virtuálního počítače

Cvičení v tomto kurzu vyžadují virtuální počítač. Postupujte podle kroků v této části a vytvořte ho.

Než začnete, najděte $azRegion proměnnou umístěnou v prvním řádku vzorového kódu a aktualizujte hodnotu tak, aby odrážela požadovanou oblast. Pokud chcete například zadat oblast USA – střed, použijte $azRegion = "Central US". Dále pomocí kódu nasaďte virtuální počítač v rámci nové skupiny prostředků. Zobrazí se výzva k zadání hodnot uživatelského jména a hesla pro účet místního správce virtuálního počítače.

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

Výstup potvrzuje úspěšné vytvoření virtuálního počítače.

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

Virtuální počítač se zřídí a automaticky se vytvoří a připojí dva disky.

  • Disk operačního systému, který je hostitelem operačního systému virtuálního počítače.
  • Dočasný disk, který se primárně používá pro operace, jako je dočasné zpracování dat.

Přidání datového disku

Pokud je to možné, doporučujeme oddělit data aplikací a uživatelů od dat souvisejících s operačním systémem. Pokud potřebujete na virtuálním počítači ukládat data uživatelů nebo aplikací, obvykle vytvoříte a připojíte další datové disky.

Postupujte podle kroků v této části a vytvořte, připojte a inicializujete datový disk na virtuálním počítači.

Vytvoření datového disku

Tato část vás provede vytvořením datového disku.

  1. Před vytvořením datového disku je nutné nejprve vytvořit objekt disku. Následující ukázka kódu používá rutinu New-AzDiskConfig ke konfiguraci objektu disku.

    $diskConfig = New-AzDiskConfig `
        -Location $azRegion `
        -CreateOption Empty `
        -DiskSizeGB 128 `
        -SkuName "Standard_LRS"
    
  2. Po vytvoření objektu disku pomocí rutiny New-AzDisk zřiďte datový disk.

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

    K ověření vytvoření disku můžete použít rutinu Get-AzDisk .

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

    V tomto příkladu výstup potvrdí, že byl disk vytvořen. Hodnoty DiskState vlastností ManagedBy potvrdí, že disk ještě není připojený.

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

Připojení datového disku

Datový disk musí být připojený k virtuálnímu počítači, aby k němu mohl získat přístup. Dokončete kroky v této části a vytvořte odkaz na virtuální počítač, připojte disk a aktualizujte konfiguraci virtuálního počítače.

  1. Získejte virtuální počítač, ke kterému připojíte datový disk. Následující ukázkový kód používá rutinu Get-AzVM k vytvoření odkazu na virtuální počítač.

    $vm = Get-AzVM `
        -ResourceGroupName $azResourceGroup `
        -Name $azVMName
    
  2. Dále připojte datový disk ke konfiguraci virtuálního počítače pomocí rutiny Add-AzVMDataDisk .

    $vm = Add-AzVMDataDisk `
        -VM $vm `
        -Name $azDataDiskName `
        -CreateOption Attach `
        -ManagedDiskId $dataDisk.Id `
        -Lun 1
    
  3. Nakonec aktualizujte konfiguraci virtuálního počítače pomocí rutiny Update-AzVM .

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

    Po krátkém pozastavení výstup potvrdí úspěšnou přílohu.

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

Inicializace datového disku

Po připojení datového disku k virtuálnímu počítači musí být operační systém nakonfigurovaný tak, aby disk používal. Následující část obsahuje pokyny, jak se připojit ke vzdálenému virtuálnímu počítači a nakonfigurovat první přidaný disk.

  1. Přihlaste se k portálu Azure.

  2. Vyhledejte virtuální počítač, ke kterému jste připojili datový disk. Vytvořte připojení RDP (Remote Desktop Protocol) a přihlaste se jako místní správce.

  3. Po navázání připojení RDP ke vzdálenému virtuálnímu počítači vyberte nabídku Start systému Windows. Do vyhledávacího pole zadejte PowerShell a výběrem Windows PowerShellu otevřete okno PowerShellu.

    Image of a remote desktop connection window.

  4. V otevřeném okně PowerShellu spusťte následující skript.

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

    Výstup potvrdí úspěšnou inicializaci.

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

Rozbalení disku

Disky Azure můžete rozšířit tak, aby poskytovaly dodatečnou kapacitu úložiště, když je virtuální počítač málo volného místa na disku.

Některé scénáře vyžadují uložení dat na disk s operačním systémem. Může se například vyžadovat podpora starších aplikací, které instalují komponenty na jednotku operačního systému. Možná budete muset migrovat místní fyzický počítač nebo virtuální počítač s větší jednotkou operačního systému. V takových případech může být nutné rozšířit disk s operačním systémem virtuálního počítače.

Zmenšení existujícího disku se nepodporuje a může způsobit ztrátu dat.

Aktualizace velikosti disku

Pokud chcete změnit velikost disku s operačním systémem nebo datový disk, postupujte podle následujících kroků.

  1. Vyberte virtuální počítač, který obsahuje disk, který pomocí rutiny Get-AzVM změníte.

     $vm = Get-AzVM `
       -ResourceGroupName $azResourceGroup `
       -Name $azVMName
    
  2. Než budete moct změnit velikost disku virtuálního počítače, musíte virtuální počítač zastavit. Stop-AzVM K zastavení virtuálního počítače použijte rutinu. Zobrazí se výzva k potvrzení.

    Důležité

    Než zahájíte vypnutí virtuálního počítače, vždy ověřte, že neexistují žádné důležité prostředky nebo data, která by mohla dojít ke ztrátě.

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

    Po krátkém pozastavení výstup potvrdí, že se počítač úspěšně zastavil.

    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. Po zastavení virtuálního počítače získejte pomocí rutiny odkaz na datový disk nebo operační systém připojený k virtuálnímu Get-AzDisk počítači.

    Následující příklad vybere disk s operačním systémem virtuálního počítače.

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

    Následující příklad vybere první datový disk virtuálního počítače.

        $disk= Get-AzDisk `
            -ResourceGroupName $azResourceGroup `
            -DiskName $vm.StorageProfile.DataDisks[0].Name
    
  4. Teď, když máte odkaz na disk, nastavte velikost disku na 250 GiB.

    Důležité

    Nová velikost musí být větší než stávající velikost disku. Maximální povoleno je 4 095 GiB pro disky s operačním systémem.

    $disk.DiskSizeGB = 250
    
  5. V dalším kroku aktualizujte image disku pomocí rutiny Update-AzDisk .

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

    Image disku se aktualizuje a výstup potvrdí novou velikost disku.

    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. Nakonec restartujte virtuální počítač pomocí rutiny Start-AzVM .

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

    Po krátkém pozastavení výstup potvrdí, že se počítač úspěšně spustil.

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

Rozbalení svazku disku v operačním systému

Než budete moct využít novou velikost disku, musíte rozšířit svazek v rámci operačního systému. Pomocí následujícího postupu rozbalte svazek disku a využijte výhod nové velikosti disku.

  1. Přihlaste se k portálu Azure.

  2. Vyhledejte virtuální počítač, ke kterému jste připojili datový disk. Vytvořte připojení RDP (Remote Desktop Protocol) a přihlaste se. Pokud už nemáte přístup k účtu pro správu, vytvořte objekt přihlašovacích údajů pro zadané uživatelské jméno a heslo pomocí rutiny Get-Credential .

  3. Po vytvoření připojení RDP ke vzdálenému virtuálnímu počítači vyberte nabídku Start systému Windows. Do vyhledávacího pole zadejte PowerShell a výběrem Windows PowerShellu otevřete okno PowerShellu.

    Image of a remote desktop connection window.

  4. Otevřete PowerShell a spusťte následující skript. Podle potřeby změňte hodnotu -DriveLetter proměnné. Pokud například chcete změnit velikost oddílu na jednotce F: , použijte $driveLetter = "F".

    $driveLetter = "[Drive Letter]" 
    $size = (Get-PartitionSupportedSize -DriveLetter $driveLetter) 
    Resize-Partition `
        -DriveLetter $driveLetter `
        -Size $size.SizeMax
    
  5. Minimalizujte okno protokolu RDP a přepněte zpět do Azure Cloud Shellu. Pomocí rutiny Get-AzDisk ověřte, že se disk úspěšně změnil.

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

Upgrade disku

Existuje několik způsobů, jak reagovat na změny v úlohách vaší organizace. Můžete se například rozhodnout upgradovat disk HDD úrovně Standard na disk SSD úrovně Premium, který bude zpracovávat zvýšenou poptávku.

Postupujte podle kroků v této části a upgradujte spravovaný disk ze standardu na premium.

  1. Vyberte virtuální počítač, který obsahuje disk, který pomocí rutiny Get-AzVM upgradujete.

     $vm = Get-AzVM `
       -ResourceGroupName $azResourceGroup `
       -Name $azVMName
    
  2. Než budete moct upgradovat disk virtuálního počítače, musíte virtuální počítač zastavit. Stop-AzVM K zastavení virtuálního počítače použijte rutinu. Zobrazí se výzva k potvrzení.

    Důležité

    Než zahájíte vypnutí virtuálního počítače, vždy ověřte, že neexistují žádné důležité prostředky nebo data, která by mohla dojít ke ztrátě.

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

    Po krátkém pozastavení výstup potvrdí, že se počítač úspěšně zastavil.

    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. Po zastavení virtuálního počítače získejte pomocí rutiny odkaz na datový disk nebo operační systém připojený k virtuálnímu Get-AzDisk počítači.

    Následující příklad vybere disk s operačním systémem virtuálního počítače.

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

    Následující příklad vybere první datový disk virtuálního počítače.

        $disk= Get-AzDisk `
            -ResourceGroupName $azResourceGroup `
            -DiskName $vm.StorageProfile.DataDisks[0].Name
    
  4. Teď, když máte odkaz na disk, nastavte skladovou položku disku na Premium_LRS.

    $disk.Sku = [Microsoft.Azure.Management.Compute.Models.DiskSku]::new('Premium_LRS')
    
  5. V dalším kroku aktualizujte image disku pomocí rutiny Update-AzDisk .

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

    Image disku se aktualizuje. Pomocí následujícího ukázkového kódu ověřte, že se skladová položka disku upgradovala.

    $disk.Sku.Name
    

    Výstup potvrdí novou skladovou položku disku.

    Premium_LRS
    
  6. Nakonec restartujte virtuální počítač pomocí rutiny Start-AzVM .

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

    Po krátkém pozastavení výstup potvrdí, že se počítač úspěšně spustil.

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

Odpojení datového disku

Datový disk můžete od virtuálního počítače odpojit, když ho chcete připojit k jinému virtuálnímu počítači nebo když už ho nepotřebujete. Ve výchozím nastavení se odpojené disky neodstraní, aby se zabránilo neúmyslné ztrátě dat. Odpojený disk bude dál účtovat poplatky za úložiště, dokud se nesmadí.

  1. Nejprve vyberte virtuální počítač, ke kterému je disk připojený pomocí rutiny Get-AzVM .

    $vm = Get-AzVM `
       -ResourceGroupName $azResourceGroup `
       -Name $azVMName
    
  2. Dále odpojte disk od virtuálního počítače pomocí rutiny Remove-AzVMDataDisk .

    Remove-AzVMDataDisk `
        -VM $vm `
        -Name $azDataDiskName
    
  3. Aktualizujte stav virtuálního počítače pomocí Update-AzVM rutiny a odeberte datový disk.

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

    Po krátkém pozastavení výstup potvrdí, že se virtuální počítač úspěšně aktualizoval.

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

Odstranění datového disku

Když odstraníte virtuální počítač, zůstanou datové disky připojené k virtuálnímu počítači zřízené a budou se účtovat poplatky, dokud se neodstraní. Toto výchozí chování pomáhá zabránit ztrátě dat způsobené neúmyslným odstraněním.

K odstranění nepřipojených disků můžete použít následující ukázkový skript PowerShellu. Načítání disků je omezeno na myDemoResourceGroup , protože přepínač -ResourceGroupName se používá s rutinou 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."
            }
        }
    }
}

Nepřipojený datový disk se odstraní, jak ukazuje výstup.

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     :

Vyčištění prostředků

Pokud už je nepotřebujete, odstraňte skupinu prostředků, virtuální počítač a všechny související prostředky. Pomocí následujícího ukázkového skriptu PowerShellu můžete odstranit skupinu prostředků vytvořenou dříve v tomto kurzu.

Upozornění

Při odstraňování skupiny prostředků buďte opatrní. Abyste se vyhnuli ztrátě důležitých dat, před odstraněním vždy ověřte, že ve skupině prostředků nejsou žádné důležité prostředky ani data.

    Remove-AzResourceGroup -Name $azResourceGroup

Zobrazí se výzva k potvrzení. Po krátkém pozastavení odpověď potvrdí, True že skupina myDemoResourceGroup byla úspěšně odstraněna.

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

Další kroky

V tomto kurzu jste se naučili, jak:

  • Vytvoření, připojení a inicializace datového disku
  • Ověření stavu disku
  • Inicializace disku
  • Rozšíření a upgrade disku
  • Odpojení a odstranění disku

V dalším kurzu se dozvíte, jak automatizovat konfiguraci virtuálního počítače.