Oefening: cache-instellingen beheren met PowerShell

Voltooid

In de vorige oefening hebben we de volgende taken uitgevoerd met behulp van Azure Portal:

  • Bekijk de cachestatus van de besturingssysteemschijf.
  • Wijzig de cache-instellingen van de besturingssysteemschijf.
  • Voeg een gegevensschijf toe aan de virtuele machine.
  • Wijzig het cachetype op een nieuwe gegevensschijf.

Laten we deze bewerkingen oefenen met behulp van Azure PowerShell.

Notitie

We gaan Azure PowerShell gebruiken, maar u kunt ook de Azure CLI gebruiken, die vergelijkbare functionaliteit biedt als een hulpprogramma op basis van een console. Het wordt uitgevoerd op macOS, Linux en Windows. Als u meer wilt weten over de Azure CLI, bekijkt u de Virtuele machines beheren met de Azure CLI-module.

We gaan de VM gebruiken die we in de vorige oefening hebben gemaakt. Bij de bewerkingen in dit lab wordt ervan uitgegaan dat:

  • Onze VIRTUELE machine bestaat en wordt fotoshareVMgenoemd.
  • Onze VIRTUELE machine bevindt zich in een resourcegroep met de naam [naam sandbox-resourcegroep].

Als u een andere set namen hebt gebruikt, vervangt u deze waarden door die van u.

Dit is de huidige status van onze VM-schijven uit de vorige oefening:

Schermopname van onze besturingssysteem- en gegevensschijven, beide ingesteld op alleen-lezen caching.

We hebben de portal gebruikt voor het instellen van het hostcacheveld voor zowel het besturingssysteem als de gegevensschijven. Houd rekening met deze initiële status terwijl we de volgende stappen doorlopen.

Enkele variabelen instellen

Eerst gaan we enkele resourcenamen opslaan, zodat we ze later kunnen gebruiken.

Voer in Azure Cloud Shell aan de rechterkant de volgende PowerShell-opdrachten uit:

Notitie

Schakel uw Cloud Shell-sessie over naar PowerShell- voordat u deze opdrachten probeert, als dit nog niet is gebeurd.

$myRgName = "<rgn>[sandbox resource group name]</rgn>"
$myVMName = "fotoshareVM"

Fooi

U moet deze variabelen opnieuw instellen als er een time-out optreedt voor uw Cloud Shell-sessie. Als dat mogelijk is, kunt u dit hele lab in één sessie doorlopen.

Meer informatie over onze VM

  1. Voer de volgende opdracht uit om de eigenschappen van de virtuele machine op te halen:

    $myVM = Get-AzVM -ResourceGroupName $myRgName -VMName $myVmName
    
  2. Laten we het antwoord opslaan in de variabele $myVM. We kunnen de uitvoer doorsluisen naar de select-object-cmdlet om de weergave te filteren op specifieke eigenschappen:

    $myVM | select-object -property ResourceGroupName, Name, Type, Location
    

    U krijgt een resultaat zoals hieronder:

    ResourceGroupName Name        Type                              Location
    ----------------- ----        ----                              --------
    <rgn>[sandbox resource group name]</rgn> fotoshareVM Microsoft.Compute/virtualMachines eastus
    

Cachestatus van besturingssysteemschijf weergeven

We kunnen de cache-instelling controleren via het StorageProfile-object door de volgende opdracht uit te voeren:

$myVM.StorageProfile.OsDisk.Caching
ReadOnly

Laten we deze terugzetten naar de standaardinstelling voor een besturingssysteemschijf. Dit is ReadWrite.

De cache-instellingen van de besturingssysteemschijf wijzigen

  1. We kunnen de waarde voor het cachetype instellen met hetzelfde StorageProfile-object door de volgende opdracht uit te voeren:

    $myVM.StorageProfile.OsDisk.Caching = "ReadWrite"
    

    Deze opdracht wordt snel uitgevoerd, wat u moet vertellen dat het lokaal iets doet. Met de opdracht wordt alleen de eigenschap van het myVM-object gewijzigd. Als u de $myVM variabele vernieuwt door deze opnieuw toe te passen met behulp van de cmdlet Get-AzVM, verandert de cachewaarde niet op de virtuele machine.

  2. Als u de wijziging op de VIRTUELE machine zelf wilt aanbrengen, roept u Update-AzVM aan door de volgende opdracht uit te voeren:

    Update-AzVM -ResourceGroupName $myRGName -VM $myVM
    

    U ziet dat het even duurt voordat deze aanroep is voltooid, omdat de werkelijke VM wordt bijgewerkt en azure de VIRTUELE machine opnieuw opstart om de wijziging aan te brengen.

    RequestId IsSuccessStatusCode StatusCode ReasonPhrase
    --------- ------------------- ---------- ------------
                             True         OK OK
    
  3. Als u de $myVM variabele opnieuw vernieuwt door de volgende opdracht uit te voeren, ziet u de wijziging in het object. Als u de schijf in de portal bekijkt, ziet u ook de wijziging daar.

    $myVM = Get-AzVM -ResourceGroupName $myRgName -VMName $myVmName
    $myVM.StorageProfile.OsDisk.Caching
    
    ReadWrite
    

Gegevens van gegevensschijf weergeven

Voer de volgende opdracht uit om te zien welke gegevensschijven we op onze VIRTUELE machine hebben:

$myVM.StorageProfile.DataDisks
Name            : fotoshareVM-data
DiskSizeGB      : 4
Lun             : 0
Caching         : ReadOnly
CreateOption    : Attach
SourceImage     :
VirtualHardDisk :

We hebben momenteel slechts één gegevensschijf. Het veld Lun is belangrijk. Het is de unieke Logical Unit Number. Wanneer we een andere gegevensschijf toevoegen, geven we deze een unieke Lun waarde.

Een nieuwe gegevensschijf toevoegen aan onze VIRTUELE machine

  1. Voor het gemak gaan we onze nieuwe schijfnaam opslaan door de volgende opdracht uit te voeren:

    $newDiskName = "fotoshareVM-data2"
    
  2. Voer de volgende Add-AzVMDataDisk opdracht uit om een nieuwe lege gegevensschijf van 1 GB te definiëren:

    Add-AzVMDataDisk -VM $myVM -Name $newDiskName  -LUN 1  -DiskSizeinGB 1 -CreateOption Empty
    

    U krijgt een antwoord zoals:

    ResourceGroupName  : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx
    Id                 : /subscriptions/xxxxxxxx-xxxx-xxxx-xxx-xxxxxxx/resourceGroups/<rgn>[sandbox resource group name]</rgn>/providers/Microsoft.Compute/virtualMachines/fotoshareVM
    VmId               : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx
    Name               : fotoshareVM
    Type               : Microsoft.Compute/virtualMachines
    Location           : eastus
    Tags               : {}
    DiagnosticsProfile : {BootDiagnostics}
    HardwareProfile    : {VmSize}
    NetworkProfile     : {NetworkInterfaces}
    OSProfile          : {ComputerName, AdminUsername, WindowsConfiguration, Secrets}
    ProvisioningState  : Succeeded
    StorageProfile     : {ImageReference, OsDisk, DataDisks}
    
  3. We hebben deze schijf een Lun waarde gegeven van 1 omdat deze niet bezet is. We hebben de schijf gedefinieerd die we willen maken, dus het is tijd om de opdracht Update-AzVM uit te voeren om de werkelijke wijziging aan te brengen:

    Update-AzVM -ResourceGroupName $myRGName -VM $myVM
    
  4. Laten we onze gegevensschijfgegevens opnieuw bekijken door de volgende opdracht uit te voeren:

    $myVM.StorageProfile.DataDisks
    
    Name            : fotoshareVM-data
    DiskSizeGB      : 4
    Lun             : 0
    Caching         : ReadOnly
    CreateOption    : Attach
    SourceImage     :
    VirtualHardDisk :
    
    Name            : fotoshareVM-data2
    DiskSizeGB      : 1
    Lun             : 1
    Caching         : None
    CreateOption    : Empty
    SourceImage     :
    VirtualHardDisk :
    

We hebben nu twee schijven. Onze nieuwe schijf heeft een Lun van 1 en de standaardwaarde voor Caching is None. Laten we die waarde wijzigen.

Cache-instellingen van nieuwe gegevensschijf wijzigen

  1. We kunnen de eigenschappen van een gegevensschijf van een virtuele machine als volgt wijzigen door de opdracht Set-AzVMDataDisk uit te voeren:

    Set-AzVMDataDisk -VM $myVM -Lun "1" -Caching ReadWrite
    
  2. Voer zoals altijd de wijzigingen door door de opdracht Update-AzVM uit te voeren:

    Update-AzVM -ResourceGroupName $myRGName -VM $myVM
    

Hier volgt een weergave in de portal van wat we in deze oefening hebben bereikt. Onze VIRTUELE machine heeft nu twee gegevensschijven en we hebben alle hostcache aangepast instellingen. We hebben dat allemaal gedaan met slechts een paar opdrachten met behulp van de kracht van Azure PowerShell.

Schermopname van Azure Portal met de sectie Schijven van het VM-deelvenster met twee gegevensschijven.