VM-schijfopslag maken in Azure Stack Hub

In dit artikel wordt beschreven hoe u schijfopslag voor virtuele machines (VM's) maakt met behulp van de Azure Stack Hub-portal of met behulp van PowerShell.

Overzicht

Azure Stack Hub ondersteunt het gebruik van beheerde schijven en niet-beheerde schijven in VM's, als zowel een besturingssysteem als een gegevensschijf.

Beheerde schijven vereenvoudigen het schijfbeheer voor Azure IaaS-VM's door de opslagaccounts te beheren die zijn gekoppeld aan de VM-schijven. U hoeft alleen de grootte van de schijf op te geven die u nodig hebt en Azure Stack Hub maakt en beheert de schijf voor u.

Voor niet-beheerde schijven moet u een opslagaccount maken om de schijven op te slaan. De schijven die u maakt, worden VM-schijven genoemd en worden opgeslagen in containers in het opslagaccount.

Richtlijnen voor aanbevolen procedures

Het wordt aanbevolen beheerde schijven voor VM's te gebruiken voor eenvoudiger beheer en capaciteitsbalans. U hoeft geen opslagaccount en containers voor te bereiden voordat u beheerde schijven gebruikt. Wanneer u meerdere beheerde schijven maakt, worden de schijven verdeeld over meerdere volumes, waardoor de capaciteit van volumes in balans kan worden gebracht.

Voor niet-beheerde schijven wordt u aangeraden elke niet-beheerde schijf in een afzonderlijke container te plaatsen om de prestaties te verbeteren en de totale kosten te verlagen. Hoewel u zowel besturingssysteemschijven als gegevensschijven in dezelfde container kunt plaatsen, is de aanbevolen procedure dat één container een besturingssysteemschijf of een gegevensschijf bevat, maar niet beide tegelijk.

Als u een of meer gegevensschijven aan een VM toevoegt, gebruikt u extra containers als locatie om deze schijven op te slaan. De besturingssysteemschijf voor extra VM's moet zich ook in hun eigen containers bevinden.

Wanneer u VM's maakt, kunt u hetzelfde opslagaccount opnieuw gebruiken voor elke nieuwe virtuele machine. Alleen de containers die u maakt, mogen uniek zijn.

Nieuwe schijven toevoegen

De volgende tabel bevat een overzicht van het toevoegen van schijven met behulp van de portal en met behulp van PowerShell:

Methode Opties
Gebruikersportal - Voeg nieuwe gegevensschijven toe aan een bestaande VM. Nieuwe schijven worden gemaakt door Azure Stack Hub.

- Voeg een bestaand schijfbestand (.vhd) toe aan een eerder gemaakte VM. Hiervoor moet u de .vhd voorbereiden en vervolgens het bestand uploaden naar Azure Stack Hub.
PowerShell - Maak een nieuwe virtuele machine met een besturingssysteemschijf en voeg tegelijkertijd een of meer gegevensschijven toe aan die VM.

De portal gebruiken om schijven toe te voegen aan een VM

Wanneer u de portal gebruikt om een virtuele machine te maken voor de meeste Marketplace-items, wordt standaard alleen de besturingssysteemschijf gemaakt.

Nadat u een virtuele machine hebt gemaakt, kunt u de portal gebruiken om het volgende te doen:

  • Maak een nieuwe gegevensschijf en koppel deze aan de VM.
  • Upload een bestaande gegevensschijf en koppel deze aan de virtuele machine.

Plaats elke niet-beheerde schijf die u toevoegt in een afzonderlijke container.

De portal gebruiken om een nieuwe gegevensschijf te maken en te koppelen

  1. Selecteer in de portal Alle services, vervolgens Compute en vervolgens Virtuele machines. Voorbeeld: VM-dashboard

  2. Selecteer een VM die eerder is gemaakt in de lijst.

  3. Selecteer voor de VM Schijven en vervolgens Gegevensschijf toevoegen. Schermopname van het koppelen van een nieuwe schijf aan de VM.

  4. Voor de gegevensschijf:

    • Voer de LUN in. De LUN moet een geldig getal zijn.
    • Selecteer Schijf maken. Schermopname van het maken van een nieuwe gegevensschijf.
  5. Op de blade Beheerde schijf maken :

    • Voer de naam van de schijf in.
    • Selecteer een bestaande resourcegroep of maak een nieuwe.
    • Selecteer locatie. De locatie is standaard ingesteld op dezelfde container die de besturingssysteemschijf bevat.
    • Selecteer het Accounttype. Voorbeeld: Een nieuwe schijf koppelen aan de vm

    Notitie

    Premium-schijven (SSD) en standaardschijven (HDD) worden ondersteund door dezelfde opslaginfrastructuur in Azure Stack Hub. Ze bieden dezelfde prestaties.

    • Selecteer het brontype.

      Maak een schijf op basis van een momentopname van een andere schijf, een blob in een opslagaccount of maak een lege schijf.

      Momentopname: selecteer een momentopname, als deze beschikbaar is. De momentopname moet beschikbaar zijn in het abonnement en de locatie van de VM.

      Opslagblob:

      • Voeg de URI toe van de opslagblob die de schijfinstallatiekopieën bevat.
      • Selecteer Bladeren om de blade Opslagaccounts te openen. Zie Een gegevensschijf toevoegen vanuit een opslagaccount voor instructies.
      • Selecteer het type besturingssysteem van de installatiekopieën: Windows, Linux of Geen (gegevensschijf).
    • Selecteer de grootte (GiB).

      Schijfkosten nemen toe op basis van de grootte van de schijf.

    • Selecteer Maken. Azure Stack Hub maakt en valideert de beheerde schijf.

  6. Nadat Azure Stack Hub de schijf heeft gemaakt en gekoppeld aan de VM, wordt de nieuwe schijf vermeld in de instellingen van de VM-schijf onder Gegevensschijven.

    Voorbeeld: Schijf weergeven

Een gegevensschijf toevoegen vanuit een opslagaccount

Zie Inleiding tot Azure Stack Hub-opslag voor meer informatie over het werken met opslagaccounts in Azure Stack Hub.

  1. Selecteer het opslagaccount dat u wilt gebruiken.

  2. Selecteer de container waarin u de gegevensschijf wilt plaatsen. Op de blade Containers kunt u desgewenst een nieuwe container maken. Vervolgens kunt u de locatie voor de nieuwe schijf wijzigen in een eigen container. Wanneer u voor elke schijf een afzonderlijke container gebruikt, distribueert u de plaatsing van de gegevensschijf, waardoor de prestaties worden verbeterd.

  3. Kies Selecteren om de selectie op te slaan.

    Schermopname van het selecteren van een container.

Een bestaande gegevensschijf koppelen aan een VM

  1. Bereid een VHD-bestand voor voor gebruik als gegevensschijf voor een VM. Upload dat VHD-bestand naar een opslagaccount dat u gebruikt met de VM waaraan u het VHD-bestand wilt koppelen.

  2. Nadat het VHD-bestand is geüpload, kunt u de VHD koppelen aan een VIRTUELE machine. Selecteer Virtuele machines in het menu aan de linkerkant.
    Schermopname van de geselecteerde virtuele machines.

  3. Kies de VM in de lijst.

  4. Selecteer schijven op de pagina voor de VM en selecteer vervolgens Bestaande koppelen.

    Voorbeeld: Een bestaande schijf koppelen

  5. Selecteer op de pagina Bestaande schijf koppelende optie VHD-bestand. De pagina Opslagaccounts wordt geopend.

    Voorbeeld: Een VHD-bestand selecteren

  6. Selecteer onder Opslagaccounts het account dat u wilt gebruiken en kies vervolgens een container met het VHD-bestand dat u eerder hebt geüpload. Selecteer het VHD-bestand en kies vervolgens Selecteren om de selectie op te slaan.

    Voorbeeld: Een container selecteren

  7. Onder Bestaande schijf bijvoegen wordt het geselecteerde bestand vermeld onder VHD-bestand. Werk de instelling hostcache van de schijf bij en selecteer vervolgens OK om de nieuwe schijfconfiguratie voor de virtuele machine op te slaan.

    Voorbeeld: het VHD-bestand bijvoegen

  8. Nadat Azure Stack Hub de schijf heeft gemaakt en aan de VM is gekoppeld, wordt de nieuwe schijf vermeld in de schijfinstellingen van de VM onder Gegevensschijven.

    Voorbeeld: de schijfkoppeling voltooien

PowerShell gebruiken om meerdere schijven toe te voegen aan een VM

U kunt PowerShell gebruiken om een virtuele machine in te richten en nieuwe gegevensschijven toe te voegen of een bestaande beheerde schijf of VHD-bestand als een gegevensschijf te koppelen.

De cmdlet Add-AzVMDataDisk voegt een gegevensschijf toe aan een VM. U kunt een gegevensschijf toevoegen wanneer u een virtuele machine maakt, of u kunt een gegevensschijf toevoegen aan een bestaande VM. Geef voor een niet-beheerde schijf de parameter VhdUri op om de schijven naar verschillende containers te distribueren.

Gegevensschijven toevoegen aan een nieuwe VM

In de volgende voorbeelden worden PowerShell-opdrachten gebruikt om een vm met drie gegevensschijven te maken. De opdrachten worden geleverd met verschillende onderdelen vanwege de kleine verschillen bij het gebruik van beheerde schijven of niet-beheerde schijven.

Configuratie van virtuele machines en netwerkresources maken

Met het volgende script wordt een VM-object gemaakt en vervolgens opgeslagen in de $VirtualMachine variabele. De opdrachten wijzen een naam en grootte toe aan de VM en maken vervolgens de netwerkresources (virtueel netwerk, subnet, virtuele netwerkadapter, NSG en openbaar IP-adres) voor de virtuele machine.

# Create new virtual machine configuration
$VirtualMachine = New-AzVMConfig -VMName "VirtualMachine" `
                                      -VMSize "Standard_A2"

# Set variables
$rgName = "myResourceGroup"
$location = "local"

# Create a subnet configuration
$subnetName = "mySubNet"
$singleSubnet = New-AzVirtualNetworkSubnetConfig -Name $subnetName -AddressPrefix 10.0.0.0/24

# Create a vnet configuration
$vnetName = "myVnetName"
$vnet = New-AzVirtualNetwork -Name $vnetName -ResourceGroupName $rgName -Location $location `
                                  -AddressPrefix 10.0.0.0/16 -Subnet $singleSubnet

# Create a public IP
$ipName = "myIP"
$pip = New-AzPublicIpAddress -Name $ipName -ResourceGroupName $rgName -Location $location `
                                  -AllocationMethod Dynamic

# Create a network security group configuration
$nsgName = "myNsg"
$rdpRule = New-AzNetworkSecurityRuleConfig -Name myRdpRule -Description "Allow RDP" `
                                                -Access Allow -Protocol Tcp -Direction Inbound -Priority 110 `
                                                -SourceAddressPrefix Internet -SourcePortRange * `
                                                -DestinationAddressPrefix * -DestinationPortRange 3389
$nsg = New-AzNetworkSecurityGroup -ResourceGroupName $rgName -Location $location `
                                       -Name $nsgName -SecurityRules $rdpRule

# Create a NIC configuration
$nicName = "myNicName"
$nic = New-AzNetworkInterface -Name $nicName -ResourceGroupName $rgName `
                                   -Location $location -SubnetId $vnet.Subnets[0].Id `
                                   -NetworkSecurityGroupId $nsg.Id -PublicIpAddressId $pip.Id

Beheerde schijven toevoegen

Met de volgende drie opdrachten worden beheerde gegevensschijven toegevoegd aan de virtuele machine die is opgeslagen in $VirtualMachine. Elke opdracht specificeert de naam en aanvullende eigenschappen van de schijf.

$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name 'DataDisk1' `
                                        -Caching 'ReadOnly' -DiskSizeInGB 10 -Lun 0 `
                                        -CreateOption Empty
$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name 'DataDisk2' `
                                        -Caching 'ReadOnly' -DiskSizeInGB 11 -Lun 1 `
                                        -CreateOption Empty
$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name 'DataDisk3' `
                                        -Caching 'ReadOnly' -DiskSizeInGB 12 -Lun 2 `
                                        -CreateOption Empty

Met de volgende opdracht wordt een besturingssysteemschijf als beheerde schijf toegevoegd aan de virtuele machine die is opgeslagen in $VirtualMachine.

# Set OS Disk
$osDiskName = "osDisk"
$VirtualMachine = Set-AzVMOSDisk -VM $VirtualMachine -Name $osDiskName  `
                                      -CreateOption FromImage -Windows

Niet-beheerde schijven toevoegen

Met de volgende drie opdrachten worden paden van drie niet-beheerde gegevensschijven toegewezen aan de $DataDiskVhdUri01variabelen , $DataDiskVhdUri02en $DataDiskVhdUri03 . Definieer een andere padnaam in de URL om de schijven naar verschillende containers te distribueren:

$DataDiskVhdUri01 = "https://contoso.blob.local.azurestack.external/test1/data1.vhd"
$DataDiskVhdUri02 = "https://contoso.blob.local.azurestack.external/test2/data2.vhd"
$DataDiskVhdUri03 = "https://contoso.blob.local.azurestack.external/test3/data3.vhd"

Met de volgende drie opdrachten worden gegevensschijven toegevoegd aan de virtuele machine die is opgeslagen in $VirtualMachine. Elke opdracht specificeert de naam en aanvullende eigenschappen van de schijf. De URI van elke schijf wordt opgeslagen in $DataDiskVhdUri01, $DataDiskVhdUri02en $DataDiskVhdUri03.

$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name 'DataDisk1' `
                                        -Caching 'ReadOnly' -DiskSizeInGB 10 -Lun 0 `
                                        -VhdUri $DataDiskVhdUri01 -CreateOption Empty
$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name 'DataDisk2' `
                                        -Caching 'ReadOnly' -DiskSizeInGB 11 -Lun 1 `
                                        -VhdUri $DataDiskVhdUri02 -CreateOption Empty
$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name 'DataDisk3' `
                                        -Caching 'ReadOnly' -DiskSizeInGB 12 -Lun 2 `
                                        -VhdUri $DataDiskVhdUri03 -CreateOption Empty

Met de volgende opdrachten wordt een onbeheerde besturingssysteemschijf toegevoegd aan de virtuele machine die is opgeslagen in $VirtualMachine.

# Set OS Disk
$osDiskUri = "https://contoso.blob.local.azurestack.external/vhds/osDisk.vhd"
$osDiskName = "osDisk"
$VirtualMachine = Set-AzVMOSDisk -VM $VirtualMachine -Name $osDiskName -VhdUri $osDiskUri `
                                      -CreateOption FromImage -Windows

Nieuwe virtuele machine maken

Gebruik de volgende PowerShell-opdrachten om een installatiekopieën van het besturingssysteem in te stellen, netwerkconfiguratie toe te voegen aan de VM en vervolgens de nieuwe VM te starten.

#Create the new VM
$VirtualMachine = Set-AzVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName VirtualMachine -ProvisionVMAgent | `
                  Set-AzVMSourceImage -PublisherName MicrosoftWindowsServer -Offer WindowsServer `
                  -Skus 2016-Datacenter -Version latest | Add-AzVMNetworkInterface -Id $nic.Id

New-AzVM -ResourceGroupName $rgName -Location $location -VM $VirtualMachine

Gegevensschijven toevoegen aan een bestaande VM

In de volgende voorbeelden worden PowerShell-opdrachten gebruikt om drie gegevensschijven toe te voegen aan een bestaande VM:

Virtuele machine ophalen

Met de eerste opdracht haalt u de VM met de naam VirtualMachine op met behulp van de cmdlet Get-AzVM . Met de opdracht wordt de VM opgeslagen in de $VirtualMachine variabele:

$VirtualMachine = Get-AzVM -ResourceGroupName "myResourceGroup" `
                                -Name "VirtualMachine"

Beheerde schijf toevoegen

Met de volgende drie opdrachten worden de beheerde gegevensschijven toegevoegd aan de VIRTUELE machine die is opgeslagen in de $VirtualMachine variabele. Elke opdracht specificeert de naam en aanvullende eigenschappen van de schijf.

Add-AzVMDataDisk -VM $VirtualMachine -Name "DataDisk1" -Lun 0 `
                      -Caching ReadOnly -DiskSizeinGB 10 -CreateOption Empty
Add-AzVMDataDisk -VM $VirtualMachine -Name "DataDisk2" -Lun 1 `
                      -Caching ReadOnly -DiskSizeinGB 11 -CreateOption Empty
Add-AzVMDataDisk -VM $VirtualMachine -Name "DataDisk3" -Lun 2 `
                      -Caching ReadOnly -DiskSizeinGB 12 -CreateOption Empty

Niet-beheerde schijf toevoegen

Met de volgende drie opdrachten worden paden voor drie gegevensschijven toegewezen aan de $DataDiskVhdUri01variabelen , $DataDiskVhdUri02en $DataDiskVhdUri03 . De verschillende padnamen in de VHD-URI's geven verschillende containers voor de schijfplaatsing aan:

$DataDiskVhdUri01 = "https://contoso.blob.local.azurestack.external/test1/data1.vhd"
$DataDiskVhdUri02 = "https://contoso.blob.local.azurestack.external/test2/data2.vhd"
$DataDiskVhdUri03 = "https://contoso.blob.local.azurestack.external/test3/data3.vhd"

Met de volgende drie opdrachten worden de gegevensschijven toegevoegd aan de VIRTUELE machine die is opgeslagen in de $VirtualMachine variabele. Elke opdracht geeft de naam, locatie en aanvullende eigenschappen van de schijf op. De URI van elke schijf wordt opgeslagen in $DataDiskVhdUri01, $DataDiskVhdUri02en $DataDiskVhdUri03.

Add-AzVMDataDisk -VM $VirtualMachine -Name "DataDisk1" `
                      -VhdUri $DataDiskVhdUri01 -LUN 0 `
                      -Caching ReadOnly -DiskSizeinGB 10 -CreateOption Empty
Add-AzVMDataDisk -VM $VirtualMachine -Name "DataDisk2" `
                      -VhdUri $DataDiskVhdUri02 -LUN 1 `
                      -Caching ReadOnly -DiskSizeinGB 11 -CreateOption Empty
Add-AzVMDataDisk -VM $VirtualMachine -Name "DataDisk3" `
                      -VhdUri $DataDiskVhdUri03 -LUN 2 `
                      -Caching ReadOnly -DiskSizeinGB 12 -CreateOption Empty

De status van de virtuele machine bijwerken

Met deze opdracht wordt de status bijgewerkt van de VM die is opgeslagen in $VirtualMachine-ResourceGroupName:

Update-AzVM -ResourceGroupName "myResourceGroup" -VM $VirtualMachine

Volgende stappen

Zie Overwegingen voor Virtual Machines in Azure Stack Hub voor meer informatie over azure Stack Hub-VM's.