Zelfstudie: Schijven maken en gebruiken met een virtuele-machineschaalset met Azure PowerShell

Virtuele-machineschaalsets gebruiken schijven om het besturingssysteem, toepassingen en gegevens van het VM-exemplaar op te slaan. Bij het maken en beheren van een schaalset is het belangrijk dat u een schijfgrootte en configuratie kiest die geschikt zijn voor de verwachte werkbelasting. Deze zelfstudie bevat informatie over het maken en beheren van VM-schijven. In deze zelfstudie leert u over:

  • Besturingssysteemschijven en tijdelijke schijven
  • Gegevensschijven
  • Standard- en Premium-schijven
  • Schijfprestaties
  • Gegevensschijven koppelen en voorbereiden

Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.

Azure Cloud Shell

Azure host Azure Cloud Shell, een interactieve shell-omgeving die u via uw browser kunt gebruiken. U kunt Bash of PowerShell gebruiken met Cloud Shell om met Azure-services te werken. U kunt de vooraf geïnstalleerde Cloud Shell-opdrachten gebruiken om de code in dit artikel uit te voeren zonder dat u iets hoeft te installeren in uw lokale omgeving.

Om Azure Cloud Shell op te starten:

Optie Voorbeeld/koppeling
Selecteer Uitproberen in de rechterbovenhoek van een code- of opdrachtblok. Als u Try It selecteert, wordt de code of opdracht niet automatisch gekopieerd naar Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Ga naar https://shell.azure.com, of selecteer de knop Cloud Shell starten om Cloud Shell in uw browser te openen. Button to launch Azure Cloud Shell.
Klik op de knop Cloud Shell in het menu in de balk rechtsboven in de Azure-portal. Screenshot that shows the Cloud Shell button in the Azure portal

Azure Cloud Shell gebruiken:

  1. Start Cloud Shell.

  2. Selecteer de knop Kopiëren op een codeblok (of opdrachtblok) om de code of opdracht te kopiëren.

  3. Plak de code of opdracht in de Cloud Shell-sessie door Ctrl+Shift+V in Windows en Linux te selecteren of door Cmd+Shift+V te selecteren in macOS.

  4. Selecteer Enter om de code of opdracht uit te voeren.

Standaard Azure-schijven

Op het moment dat u een schaalset maakt, worden er automatisch twee schijven aan elk VM-exemplaar gekoppeld.

Besturingssysteemschijf: besturingssysteemschijven kunnen tot 2 TB groot zijn, en hosten het besturingssysteem van het VM-exemplaar. De besturingssysteemschijf is standaard gelabeld met /dev/sda. De schijfcacheconfiguratie van de besturingssysteemschijf is geoptimaliseerd voor besturingssysteemprestaties. Vanwege deze configuratie kan de besturingssysteemschijf beter geen toepassingen of gegevens hosten. Gebruik voor toepassingen en gegevens gegevensschijven, die verderop in dit artikel worden beschreven.

Tijdelijke schijf: tijdelijke schijven gebruiken een SSD-schijf die zich op dezelfde Azure-host bevindt als het VM-exemplaar. Dit zijn krachtige schijven en kunnen worden gebruikt voor bewerkingen zoals tijdelijke gegevensverwerking. Als het VM-exemplaar echter wordt verplaatst naar een nieuwe host, worden gegevens die zijn opgeslagen op een tijdelijke schijf verwijderd. De grootte van de tijdelijke schijf wordt bepaald door de grootte van het VM-exemplaar. Tijdelijke schijven zijn gelabeld als /dev/sdb en hebben een koppelpunt van /mnt.

Azure-gegevensschijven

Er kunnen extra gegevensschijven worden toegevoegd voor het installeren van toepassingen en het opslaan van gegevens. Gegevensschijven moeten worden gebruikt in situaties waarin duurzame en responsieve gegevensopslag gewenst is. Elke gegevensschijf heeft een maximale capaciteit van 4 TB. De grootte van het VM-exemplaar bepaalt hoeveel gegevensschijven er kunnen worden gekoppeld. Voor elke VM-vCPU kunnen twee schijven worden gekoppeld.

Typen VM-schijven

De volgende tabel bevat een vergelijking van de vijf schijftypen, zodat u kunt bepalen welke typen u wilt gebruiken.

Ultraschijven Premium SSD v2 Premium SSD Standard SSD Standard HDD
Schijftype SSD SSD SSD SSD HDD
Scenario IO-intensieve workloads, zoals SAP HANA, databases in de bovenste laag (bijvoorbeeld SQL en Oracle) en andere workloads met veel transacties. Productie- en prestatiegevoelige workloads die consistent lage latentie en hoge IOPS en doorvoer vereisen Productie- en prestatiegevoelige workloads Webservers, bedrijfstoepassingen die weinig wordt gebruikt en dev/test Back-up, niet-kritiek, incidentele toegang
Maximale schijfgrootte 65,536 GiB 65,536 GiB 32.767 GiB 32.767 GiB 32.767 GiB
Maximale doorvoer 4,000 MB/s 1,200 MB/s 900 MB/s 750 MB/s 500 MB/s
Max. IOPS 160.000 80,000 20.000 6.000 2,000, 3,000*
Bruikbaar als besturingssysteemschijf? Nee No Ja Ja Ja

*Alleen van toepassing op schijven waarvoor prestaties plus (preview) zijn ingeschakeld.

Zie Opties voor blokopslag met Azure Disk Storage en Elastisch SAN voor een video met een aantal verschillen op hoog niveau voor de verschillende schijftypen, evenals een aantal manieren om te bepalen wat van invloed is op uw workloadvereisten.

Schijven maken en koppelen

U kunt schijven maken en koppelen wanneer u een schaalset maakt, maar ook voor een bestaande schaalset.

Vanaf api-versie 2019-07-01kunt u de grootte van de besturingssysteemschijf instellen in een virtuele-machineschaalset met de eigenschap storageProfile.osDisk.diskSizeGb . Na het inrichten moet u de schijf mogelijk uitbreiden of opnieuw partitioneren om gebruik te maken van de hele ruimte. Meer informatie over het uitbreiden van het volume in uw besturingssysteem in Windows of Linux.

Schijven koppelen bij het maken van een schaalset

Maak een virtuele-machineschaalset met New-AzVmss. Geef desgevraagd een gebruikersnaam en wachtwoord op voor de VM-exemplaren. Om het verkeer te distribueren naar de verschillende VM-exemplaren, wordt er ook een load balancer gemaakt. De load balancer bevat regels voor het distribueren van verkeer op TCP-poort 80, en voor het toestaan van verkeer van Extern bureaublad op TCP-poort 3389 en externe toegang via PowerShell op TCP-poort 5985.

Er worden twee schijven gemaakt met de parameter -DataDiskSizeGb. De eerste schijf is 64 GB en de tweede schijf 128 GB. Geef desgevraagd uw eigen beheerdersreferenties op voor de VM-exemplaren in de schaalset:

New-AzResourceGroup -Name "myResourceGroup" -Location "East US"
New-AzVmss `
  -ResourceGroupName "myResourceGroup" `
  -Location "EastUS" `
  -OrchestrationMode "Flexible" `
  -VMScaleSetName "myScaleSet" `
  -VirtualNetworkName "myVnet" `
  -SubnetName "mySubnet" `
  -PublicIpAddressName "myPublicIPAddress" `
  -LoadBalancerName "myLoadBalancer" `
  -DataDiskSizeInGb 64,128

Het duurt enkele minuten om alle schaalsetresources en VM-exemplaren te maken en te configureren.

Een schijf koppelen aan een bestaande schaalset

U kunt ook schijven koppelen aan een bestaande schaalset. Gebruik de schaalset die in de vorige stap is gemaakt om een andere schijf toe te voegen met Add-AzVmssDataDisk. In het volgende voorbeeld wordt een extra schijf van 128 GB gekoppeld aan een bestaande schaalset:

# Get scale set object
$vmss = Get-AzVmss `
  -ResourceGroupName "myResourceGroup" `
  -VMScaleSetName "myScaleSet"

# Attach a 128 GB data disk to LUN 2
Add-AzVmssDataDisk `
  -VirtualMachineScaleSet $vmss `
  -CreateOption Empty `
  -Lun 2 `
  -DiskSizeGB 128

# Update the scale set to apply the change
Update-AzVmss `
  -ResourceGroupName "myResourceGroup" `
  -VMScaleSetName "myScaleSet" `
  -VirtualMachineScaleSet $vmss

Als u ook een gegevensschijf wilt toevoegen aan een afzonderlijk exemplaar in een schaalset, gebruikt u Add-AzVmssVMDataDisk.

$VirtualMachine = Get-AzVmssVM -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet" -InstanceId 1
Add-AzVmssVMDataDisk -VirtualMachineScaleSetVM $VirtualMachine -LUN 2 -DiskSizeInGB 1 -CreateOption Empty -StorageAccountType Standard_LRS
Update-AzVmssVM -VirtualMachineScaleSetVM $VirtualMachine

Gekoppelde schijven opvragen

Gebruik Get-AzVmss als volgt om informatie op te vragen over schijven die zijn gekoppeld aan een schaalset:

Get-AzVmss -ResourceGroupName "myResourceGroup" -Name "myScaleSet"

Onder de eigenschap VirtualMachineProfile.StorageProfile wordt de lijst met DataDisks weergegeven. U ziet vervolgens gegevens van de grootte van de schijf, de opslaglaag en het LUN (Logical Unit Number). In de volgende voorbeelduitvoer ziet u gegevens van de drie gegevensschijven die aan het VM-exemplaar zijn gekoppeld:

DataDisks[0]                            :
  Lun                                   : 0
  Caching                               : None
  CreateOption                          : Empty
  DiskSizeGB                            : 64
  ManagedDisk                           :
    StorageAccountType                  : PremiumLRS
DataDisks[1]                            :
  Lun                                   : 1
  Caching                               : None
  CreateOption                          : Empty
  DiskSizeGB                            : 128
  ManagedDisk                           :
    StorageAccountType                  : PremiumLRS
DataDisks[2]                            :
  Lun                                   : 2
  Caching                               : None
  CreateOption                          : Empty
  DiskSizeGB                            : 128
  ManagedDisk                           :
    StorageAccountType                  : PremiumLRS

Een schijf loskoppelen

Wanneer u een bepaalde schijf niet meer nodig hebt, kunt u deze loskoppelen van de schaalset. De schijf wordt dan verwijderd uit alle VM-exemplaren in de schaalset. Als u een schijf wilt loskoppelen van een schaalset, gebruikt u Remove-AzVmssDataDisk en geeft u het LUN van de schijf op. De LUN's worden weergegeven in de uitvoer van Get-AzVmss in de vorige sectie. In het volgende voorbeeld wordt het LUN 3 losgekoppeld van de schaalset:

# Get scale set object
$vmss = Get-AzVmss `
  -ResourceGroupName "myResourceGroup" `
  -VMScaleSetName "myScaleSet"

# Detach a disk from the scale set
Remove-AzVmssDataDisk `
  -VirtualMachineScaleSet $vmss `
  -Lun 2

# Update the scale set and detach the disk from the VM instances
Update-AzVmss `
  -ResourceGroupName "myResourceGroup" `
  -VMScaleSetName "myScaleSet" `
  -VirtualMachineScaleSet $vmss

Als u een gegevensschijf wilt verwijderen uit een afzonderlijke instantie in een schaalset, gebruikt u Remove-AzVmssVMDataDisk.

$VirtualMachine = Get-AzVmssVM -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet" -InstanceId "c91dfbd9"
Remove-AzVmssVMDataDisk -VirtualMachineScaleSetVM $VirtualMachine -Lun 2
Update-AzVmssVM -VirtualMachineScaleSetVM -VM $VirtualMachine

Resources opschonen

Als u de schaalset en schijven wilt verwijderen, verwijdert u de resourcegroep en alle bijbehorende resources met Remove-AzResourceGroup. De parameter -Force bevestigt dat u de resources wilt verwijderen, zonder een extra prompt om dit te doen. De parameter -AsJob retourneert het besturingselement naar de prompt zonder te wachten totdat de bewerking is voltooid.

Remove-AzResourceGroup -Name "myResourceGroup" -Force -AsJob

Volgende stappen

In deze zelfstudie hebt u geleerd hoe u schijven maakt en gebruikt met schaalsets met Azure PowerShell:

  • Besturingssysteemschijven en tijdelijke schijven
  • Gegevensschijven
  • Standard- en Premium-schijven
  • Schijfprestaties
  • Gegevensschijven koppelen en voorbereiden

Ga naar de volgende zelfstudie voor informatie over het gebruik van een aangepaste installatiekopie voor de VM-exemplaren in uw schaalset.