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. | |
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. | |
Zvolte tlačítko Cloud Shell v pruhu nabídky v pravém horním rohu webu Azure Portal. |
Použití Azure Cloud Shellu:
Spusťte Cloud Shell.
Výběrem tlačítka Kopírovat v bloku kódu (nebo bloku příkazů) zkopírujte kód nebo příkaz.
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.
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.
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"
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.
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
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
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.
Přihlaste se k portálu Azure.
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.
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.
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ů.
Vyberte virtuální počítač, který obsahuje disk, který pomocí rutiny
Get-AzVM
změníte.$vm = Get-AzVM ` -ResourceGroupName $azResourceGroup ` -Name $azVMName
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 :
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
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
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
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.
Přihlaste se k portálu Azure.
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 .
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.
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
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.
Vyberte virtuální počítač, který obsahuje disk, který pomocí rutiny
Get-AzVM
upgradujete.$vm = Get-AzVM ` -ResourceGroupName $azResourceGroup ` -Name $azVMName
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 :
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
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')
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
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í.
Nejprve vyberte virtuální počítač, ke kterému je disk připojený pomocí rutiny
Get-AzVM
.$vm = Get-AzVM ` -ResourceGroupName $azResourceGroup ` -Name $azVMName
Dále odpojte disk od virtuálního počítače pomocí rutiny
Remove-AzVMDataDisk
.Remove-AzVMDataDisk ` -VM $vm ` -Name $azDataDiskName
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.