Esercizio - Gestire le impostazioni della cache con PowerShell
Nell'esercizio precedente sono state eseguite le attività seguenti tramite il portale di Azure:
- Visualizzare lo stato della cache del disco del sistema operativo.
- Modificare le impostazioni della cache del disco del sistema operativo.
- Aggiungere un disco dati alla macchina virtuale.
- Modificare il tipo di memorizzazione nella cache in un nuovo disco dati.
Ora si farà pratica con queste operazioni in Azure PowerShell.
Nota
Si userà Azure PowerShell, ma è anche possibile usare l'interfaccia della riga di comando di Azure che offre funzionalità simili con uno strumento basato su console. È supportata in macOS, Linux e Windows. Per altre informazioni sull'interfaccia della riga di comando di Azure, vedere il modulo Gestire macchine virtuali con l'interfaccia della riga di comando di Azure.
Verrà usata la macchina virtuale creata nell'esercizio precedente. Per le operazioni in questo lab si presuppone che:
- La macchina virtuale sia già esistente e sia denominata fotoshareVM.
- La macchina virtuale sia inserita in un gruppo di risorse denominato
[Nome gruppo di risorse sandbox] .
Se è stato usato un set di nomi diverso, sostituire questi valori con i valori.
Di seguito è riportato lo stato corrente dei dischi della macchina virtuale dall'ultimo esercizio:
È stato usato il portale per impostare il campo Memorizzazione nella cache dell'host per i dischi dati e del sistema operativo. Tenere presente questo stato iniziale mentre si esegue la procedura seguente.
Impostare alcune variabili
Per prima cosa, occorre archiviare alcuni nomi di risorse per poterli riusare in seguito.
In Azure Cloud Shell a destra eseguire i comandi di PowerShell seguenti:
Nota
Passare la sessione di Cloud Shell su PowerShell prima di provare questi comandi, se necessario.
$myRgName = "<rgn>[sandbox resource group name]</rgn>"
$myVMName = "fotoshareVM"
Suggerimento
È necessario impostare di nuovo queste variabili se si verifica il timeout della sessione di Cloud Shell, quindi, se possibile, eseguire l'intero lab in una singola sessione.
Ottenere informazioni sulla macchina virtuale
Eseguire il comando seguente per ottenere le proprietà della macchina virtuale:
$myVM = Get-AzVM -ResourceGroupName $myRgName -VMName $myVmName
Archiviare la risposta nella
$myVM
variabile. È possibile inviare tramite pipe l'output nel cmdletselect-object
per visualizzare proprietà specifiche:$myVM | select-object -property ResourceGroupName, Name, Type, Location
L'output seguente dovrebbe essere simile al seguente:
ResourceGroupName Name Type Location ----------------- ---- ---- -------- <rgn>[sandbox resource group name]</rgn> fotoshareVM Microsoft.Compute/virtualMachines eastus
Visualizzare lo stato della cache del disco del sistema operativo
È possibile controllare l'impostazione di memorizzazione nella cache tramite l'oggetto StorageProfile
eseguendo il comando seguente:
$myVM.StorageProfile.OsDisk.Caching
ReadOnly
Ripristinare il valore predefinito per un disco del sistema operativo, ovvero ReadWrite.
Modificare le impostazioni della cache del disco del sistema operativo
È possibile impostare il valore per il tipo di cache usando lo stesso oggetto
StorageProfile
eseguendo il comando seguente:$myVM.StorageProfile.OsDisk.Caching = "ReadWrite"
Questo comando viene eseguito rapidamente, il che significa che esegue un'operazione in locale. Il comando modifica solo la proprietà dell'oggetto
myVM
. Se si aggiorna la$myVM
variabile riassegnandola usando ilGet-AzVM
cmdlet , il valore di memorizzazione nella cache non cambia nella macchina virtuale.Per apportare la modifica nella macchina virtuale, chiamare
Update-AzVM
eseguendo il comando seguente:Update-AzVM -ResourceGroupName $myRGName -VM $myVM
Si noti che il completamento di questa chiamata richiede tempo perché si sta aggiornando la macchina virtuale effettiva e Azure riavvia la macchina virtuale per apportare la modifica.
RequestId IsSuccessStatusCode StatusCode ReasonPhrase --------- ------------------- ---------- ------------ True OK OK
Se si aggiorna nuovamente la
$myVM
variabile eseguendo il comando seguente, viene visualizzata la modifica nell'oggetto . Se si esamina il disco nel portale, viene visualizzata anche la modifica.$myVM = Get-AzVM -ResourceGroupName $myRgName -VMName $myVmName $myVM.StorageProfile.OsDisk.Caching
ReadWrite
Elencare le informazioni del disco dati
Per visualizzare i dischi dati disponibili nella macchina virtuale, eseguire il comando seguente:
$myVM.StorageProfile.DataDisks
Name : fotoshareVM-data
DiskSizeGB : 4
Lun : 0
Caching : ReadOnly
CreateOption : Attach
SourceImage :
VirtualHardDisk :
Al momento è presente un solo disco dati. Il campo Lun
è invece importante. È il numero di unità logica univoco (LUN). Quando si aggiunge un altro disco dati, si assegna un valore univoco Lun
.
Aggiungere un nuovo disco dati alla macchina virtuale
Per praticità, è possibile archiviare il nuovo nome del disco eseguendo il comando seguente:
$newDiskName = "fotoshareVM-data2"
Eseguire il comando seguente
Add-AzVMDataDisk
per definire un nuovo disco dati vuoto da 1 GB:Add-AzVMDataDisk -VM $myVM -Name $newDiskName -LUN 1 -DiskSizeinGB 1 -CreateOption Empty
Si ottiene una risposta simile alla seguente:
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}
A questo disco è stato assegnato un
Lun
valore perché1
non è stato acquisito. È stato definito il disco che si vuole creare, quindi è il momento di eseguire il comandoUpdate-AzVM
per apportare la modifica effettiva:Update-AzVM -ResourceGroupName $myRGName -VM $myVM
Si esamineranno di nuovo le informazioni del disco dati eseguendo il comando seguente:
$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 :
Sono ora disponibili due dischi. Il valore Lun
del nuovo disco è 1
e il valore predefinito per Caching
è None
. Questo valore verrà ora modificato.
Modificare le impostazioni della cache del nuovo disco dati
Le proprietà di un disco dati della macchina virtuale possono essere modificate eseguendo il comando
Set-AzVMDataDisk
, come illustrato di seguito:Set-AzVMDataDisk -VM $myVM -Lun "1" -Caching ReadWrite
Come sempre, eseguire il commit delle modifiche eseguendo il comando
Update-AzVM
:Update-AzVM -ResourceGroupName $myRGName -VM $myVM
Ecco una visualizzazione dal portale di ciò che è stato eseguito in questo esercizio. La macchina virtuale ha ora due dischi dati ed è stata modificata tutte le impostazioni di memorizzazione nella cache dell'host. È stato fatto tutto questo con pochi comandi usando la potenza di Azure PowerShell.