Oefening: cache-instellingen beheren met PowerShell
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:
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
Voer de volgende opdracht uit om de eigenschappen van de virtuele machine op te halen:
$myVM = Get-AzVM -ResourceGroupName $myRgName -VMName $myVmName
Laten we het antwoord opslaan in de variabele
$myVM
. We kunnen de uitvoer doorsluisen naar deselect-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
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 cmdletGet-AzVM
, verandert de cachewaarde niet op de virtuele machine.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
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
Voor het gemak gaan we onze nieuwe schijfnaam opslaan door de volgende opdracht uit te voeren:
$newDiskName = "fotoshareVM-data2"
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}
We hebben deze schijf een
Lun
waarde gegeven van1
omdat deze niet bezet is. We hebben de schijf gedefinieerd die we willen maken, dus het is tijd om de opdrachtUpdate-AzVM
uit te voeren om de werkelijke wijziging aan te brengen:Update-AzVM -ResourceGroupName $myRGName -VM $myVM
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
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
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.