Esercizio - Gestire le impostazioni della cache con PowerShell

Completato

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:

Screenshot of our OS and data disks, both set to Read-only caching.

È 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

  1. Eseguire il comando seguente per ottenere le proprietà della macchina virtuale:

    $myVM = Get-AzVM -ResourceGroupName $myRgName -VMName $myVmName
    
  2. Archiviare la risposta nella $myVM variabile. È possibile inviare tramite pipe l'output nel cmdlet select-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

  1. È 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 il Get-AzVM cmdlet , il valore di memorizzazione nella cache non cambia nella macchina virtuale.

  2. 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
    
  3. 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

  1. Per praticità, è possibile archiviare il nuovo nome del disco eseguendo il comando seguente:

    $newDiskName = "fotoshareVM-data2"
    
  2. 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}
    
  3. 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 comando Update-AzVM per apportare la modifica effettiva:

    Update-AzVM -ResourceGroupName $myRGName -VM $myVM
    
  4. 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

  1. 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
    
  2. 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.

Screenshot of the Azure portal showing the Disks section of our VM pane with two data disks.