Exercício – gerenciar as configurações de cache com o PowerShell

Concluído

No exercício anterior, executamos as seguintes tarefas usando o portal do Azure:

  • Exiba o status do cache de disco do sistema operacional.
  • 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 essas operações usando o Azure PowerShell.

Observação

Vamos usar o Azure PowerShell, mas você também pode usar a CLI do Azure, que fornece funcionalidade semelhante como uma ferramenta baseada em console. Ele é executado no macOS, no Linux e no Windows. Se você estiver interessado em saber mais sobre a CLI do Azure, confira o módulo Gerenciar Máquinas Virtuais com a CLI do Azure .

Vamos usar a VM que criamos no exercício anterior. As operações neste laboratório pressupõem:

  • Nossa VM existe e é chamada fotoshareVM.
  • Nossa VM reside em um grupo de recursos chamado [nome do grupo de recursos de área restrita].

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

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

Captura de tela de nosso sistema operacional e discos de dados, ambos configurados para cache em modo somente leitura.

Usamos o portal para definir o campo Host caching para os discos do sistema operacional e de dados. Tenha esse estado inicial em mente enquanto trabalhamos nas etapas a seguir.

Configurar algumas variáveis

Primeiro, vamos armazenar alguns nomes de recursos para que possamos usá-los mais tarde.

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

Observação

Alterne sua sessão do Cloud Shell para o PowerShell antes de experimentar esses comandos, se ainda não estiver.

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

Dica

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

Obter informações sobre 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 em nossa $myVM variável. Podemos canalizar a saída para o select-object cmdlet para filtrar a exibição para propriedades específicas:

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

    Você deve obter algo semelhante ao seguinte resultado:

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

Exibir o status do cache de disco do sistema operacional

Podemos verificar a configuração de cache por meio do StorageProfile objeto executando o seguinte comando:

$myVM.StorageProfile.OsDisk.Caching
ReadOnly

Vamos alterá-lo de volta para o padrão de um disco do sistema operacional, que é ReadWrite.

Alterar as configurações de cache do disco do sistema operacional

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

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

    Esse comando é executado rapidamente, o que deve dizer que está fazendo algo localmente. O comando altera apenas a propriedade no myVM objeto. Se você atualizar a $myVM variável reatribuindo-a usando o Get-AzVM cmdlet, o 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 $myVM variável novamente executando o comando a seguir, verá a alteração no objeto. Se você olhar 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 do disco de dados

Para ver quais discos de dados temos em 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 no momento. O campo Lun é importante. É o Número de Unidade Lógica exclusivo. Quando adicionamos outro disco de dados, damos a ele um valor exclusivo Lun .

Adicionar um novo disco de dados à nossa VM

  1. Para 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ê obtém 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 valor Lun de 1 porque ele não está ocupado. Definimos o disco que queremos criar, portanto, é 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. Nosso novo disco tem um Lun de 1 e o valor Caching padrão é None. Vamos alterar esse valor.

Alterar as configuraçõ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 nesse 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.

Captura de tela do portal do Azure mostrando a seção Discos do nosso painel de VM com dois discos de dados.