Exercício – gerenciar as configurações de cache com o PowerShell
No exercício anterior, realizamos as tarefas a seguir usando o portal do Azure:
- Exibir 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
Usaremos o Azure PowerShell, mas você também pode usar a CLI do Azure, que fornece funcionalidade semelhante a uma ferramenta baseada em console. Ele é executado no Windows, no Linux e no macOS. Se quiser saber mais sobre a CLI do Azure, confira o módulo Gerenciar máquinas virtuais com a CLI do Azure.
Usaremos a VM criada no exercício anterior. As operações deste laboratório pressupõem:
- Nossa VM existe e chama-se fotoshareVM.
- Nossa VM reside em um grupo de recursos chamado
[nome do grupo de recursos da área restrita] .
Se você usou um conjunto diferente de nomes, substitua esses valores pelos seus.
Aqui está o estado atual dos discos de VM do último exercício:
Usamos o portal para definir o campo Cache de host para discos de dados e do sistema operacional. Tenha esse estado inicial em mente enquanto trabalhamos nas etapas a seguir.
Configurar algumas variáveis
Primeiro, vamos armazenar alguns nomes de recurso para que possamos usá-los mais tarde.
No Azure Cloud Shell à direita, execute os seguintes comandos do PowerShell:
Observação
Mude sua sessão do Cloud Shell para o PowerShell antes de tentar esses comandos, caso ainda não tenha feito isso.
$myRgName = "<rgn>[sandbox resource group name]</rgn>"
$myVMName = "fotoshareVM"
Dica
Você terá que definir essas variáveis novamente se a sessão do Cloud Shell atingir o tempo limite, portanto, se possível, trabalhe em todo o laboratório em uma única sessão.
Obter informações sobre a VM
Execute o seguinte comando para obter as propriedades da VM:
$myVM = Get-AzVM -ResourceGroupName $myRgName -VMName $myVmName
Vamos armazenar a resposta em nossa variável
$myVM
. Podemos direcionar a saída para o cmdletselect-object
para filtrar a exibição para propriedades específicas:$myVM | select-object -property ResourceGroupName, Name, Type, Location
Você deverá obter algo como a saída a seguir:
ResourceGroupName Name Type Location ----------------- ---- ---- -------- <rgn>[sandbox resource group name]</rgn> fotoshareVM Microsoft.Compute/virtualMachines eastus
Exibir status do cache de disco do sistema operacional
Podemos verificar a configuração do cache por meio do objeto StorageProfile
executando o seguinte comando:
$myVM.StorageProfile.OsDisk.Caching
ReadOnly
Alteraremos essa configuração 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
Podemos definir o valor para o tipo de cache usando o mesmo objeto
StorageProfile
, executando o seguinte comando:$myVM.StorageProfile.OsDisk.Caching = "ReadWrite"
Esse comando é executado rapidamente, o que indica que ele está executando algo localmente. O comando só altera a propriedade no objeto
myVM
. Se você atualizar a variável$myVM
reatribuindo-a utilizando o cmdletGet-AzVM
, o valor do cache não será alterado na VM.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 demora um pouco 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
Se você atualizar a variável
$myVM
novamente executando o comando a seguir, verá a alteração no objeto. Se você observar o disco no portal, também verá a alteração.$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 há na VM, execute o comando a seguir:
$myVM.StorageProfile.DataDisks
Name : fotoshareVM-data
DiskSizeGB : 4
Lun : 0
Caching : ReadOnly
CreateOption : Attach
SourceImage :
VirtualHardDisk :
No momento, há apenas um disco de dados. O campo Lun
é importante. Ele é o Número de Unidade Lógica exclusivo. Quando adicionamos outro disco de dados, atribuímos a ele um valor Lun
exclusivo.
Adicionar um novo disco de dados à VM
Por conveniência, vamos armazenar o nome do nosso novo disco executando o seguinte comando:
$newDiskName = "fotoshareVM-data2"
Execute o seguinte comando
Add-AzVMDataDisk
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 do tipo:
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}
Atribuímos a esse disco um valor
Lun
de1
porque ele não está ocupado. Definimos o disco que queremos criar, então é hora de executar o comandoUpdate-AzVM
para fazer a mudança real:Update-AzVM -ResourceGroupName $myRGName -VM $myVM
Vamos dar uma olhada nas 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 padrão de Caching
é None
. Vamos alterar esse valor.
Alterar as configurações de cache do novo disco de dados
Podemos modificar as propriedades de um disco de dados de máquina virtual executando o comando
Set-AzVMDataDisk
da seguinte maneira:Set-AzVMDataDisk -VM $myVM -Lun "1" -Caching ReadWrite
Como sempre, confirme as alterações executando o comando
Update-AzVM
:Update-AzVM -ResourceGroupName $myRGName -VM $myVM
Essa é uma visão do portal do que foi realizado nesse exercício. Nossa VM agora tem dois discos de dados e ajustamos todas as configurações do Cache do Host. Fizemos tudo isso com apenas alguns comandos utilizando o poder do Azure PowerShell.