Exercício – Gerir as definições de cache com o PowerShell

Concluído

No exercício anterior, realizámos as seguintes tarefas com o portal do Azure:

  • Veja o estado da cache de disco do SO.
  • Altere as configurações de cache do disco do sistema operacional.
  • Adicione um disco de dados à VM.
  • Altere o tipo de cache em um novo disco de dados.

Vamos praticar estas operações com o Azure PowerShell.

Nota

Vamos utilizar o Azure PowerShell, mas também pode utilizar a CLI do Azure, que fornece funcionalidades semelhantes às de uma ferramenta baseada em consola. É compatível com macOS, Linux e Windows. Se estiver interessado em saber mais sobre a CLI do Azure, consulte Gerir Máquinas Virtuais com o módulo CLI do Azure.

Vamos utilizar a VM que criámos no exercício anterior. As operações neste laboratório partem do princípio que:

  • Nossa VM existe e é chamada fotoshareVM.
  • Nossa VM vive em um grupo de recursos chamado [sandbox resource group name].

Se você usou um conjunto diferente de nomes, substitua esses valores pelo seu.

Aqui está o estado atual dos nossos discos da VM do último exercício:

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

Usamos o portal para definir o campo de cache do host para o sistema operacional e os discos de dados. Tenha este estado inicial em mente enquanto realizamos os seguintes passos.

Configurar algumas variáveis

Em primeiro lugar, vamos armazenar alguns nomes de recursos para podermos utilizá-los mais tarde.

No Azure Cloud Shell à direita, execute os seguintes comandos do PowerShell:

Nota

Mude a sua sessão do Cloud Shell para o PowerShell antes de experimentar estes comandos, se ainda não o tiver feito.

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

Gorjeta

Você precisa definir essas variáveis novamente se a sessão do Cloud Shell expirar, portanto, se possível, trabalhe em todo esse laboratório em uma única sessão.

Obter informações sobre a nossa VM

  1. Execute o seguinte comando para obter as propriedades da VM:

    $myVM = Get-AzVM -ResourceGroupName $myRgName -VMName $myVmName
    
  2. Vamos armazenar a resposta na nossa $myVM variável. Podemos encaminhar o resultado para o cmdlet select-object, de forma a filtrar a apresentação de acordo com propriedades específicas:

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

    Você deve obter algo como a seguinte saída:

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

Ver estado da cache do disco do SO

Podemos verificar a configuração de cache através do StorageProfile objeto executando o seguinte comando:

$myVM.StorageProfile.OsDisk.Caching
ReadOnly

Vamos alterar para a predefinição para um disco de SO, que é ReadWrite.

Alterar as definições de cache do disco do SO

  1. Podemos definir o valor para o tipo de cache usando o mesmo StorageProfile objeto executando o seguinte comando:

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

    Este comando é executado rapidamente, e deverá indicar-lhe que está a trabalhar localmente. O comando só altera a propriedade no objeto myVM. Se você atualizar a variável reatribuindo-a $myVM usando o cmdlet, o Get-AzVM valor de cache não será alterado na VM.

  2. Para fazer a alteração na própria VM, chame Update-AzVM executando o seguinte comando:

    Update-AzVM -ResourceGroupName $myRGName -VM $myVM
    

    Observe que essa chamada leva um tempo para ser concluída porque estamos atualizando a VM real e o Azure reinicia a VM para fazer a alteração.

    RequestId IsSuccessStatusCode StatusCode ReasonPhrase
    --------- ------------------- ---------- ------------
                             True         OK OK
    
  3. Se você atualizar a variável novamente executando o comando a seguir, verá a $myVM alteração no objeto. Se você olhar para o disco no portal, você também verá a mudança lá.

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

Listar informações de disco de dados

Para ver os discos de dados que temos na nossa VM, execute o seguinte comando:

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

Temos apenas um disco de dados neste momento. O campo Lun é importante, É o Número de Unidade Lógica único. Quando adicionamos outro disco de dados, damos a ele um valor exclusivo Lun .

Adicionar um novo disco de dados à nossa VM

  1. Por conveniência, vamos armazenar nosso novo nome de disco executando o seguinte comando:

    $newDiskName = "fotoshareVM-data2"
    
  2. Execute o seguinte Add-AzVMDataDisk comando para definir um novo disco de dados vazio de 1 GB:

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

    Você recebe uma resposta como:

    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. Demos a este disco um Lun valor de porque ele não é tomado 1 . Definimos o disco que queremos criar, então é hora de executar o Update-AzVM comando para fazer a alteração real:

    Update-AzVM -ResourceGroupName $myRGName -VM $myVM
    
  4. Vamos examinar nossas informações de disco de dados novamente executando o seguinte comando:

    $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 :
    

Agora temos dois discos. O nosso novo disco tem um Lun de 1 e o valor predefinido de Caching é None. Vamos alterar esse valor.

Alterar definições de cache do novo disco de dados

  1. Podemos modificar as propriedades de um disco de dados de máquina virtual executando o Set-AzVMDataDisk comando, da seguinte maneira:

    Set-AzVMDataDisk -VM $myVM -Lun "1" -Caching ReadWrite
    
  2. Como sempre, confirme as alterações executando o Update-AzVM comando:

    Update-AzVM -ResourceGroupName $myRGName -VM $myVM
    

Aqui está uma visão do portal do que realizamos neste exercício. Nossa VM agora tem dois discos de dados e ajustamos todas as configurações de cache do host. Fizemos tudo isso com apenas alguns comandos usando o poder do Azure PowerShell.

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