Exercício – Gerir as definições de cache com o PowerShell
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:
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
Execute o seguinte comando para obter as propriedades da VM:
$myVM = Get-AzVM -ResourceGroupName $myRgName -VMName $myVmName
Vamos armazenar a resposta na nossa
$myVM
variável. Podemos encaminhar o resultado para o cmdletselect-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
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, oGet-AzVM
valor de 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 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
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
Por conveniência, vamos armazenar nosso novo nome de disco executando o seguinte comando:
$newDiskName = "fotoshareVM-data2"
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}
Demos a este disco um
Lun
valor de porque ele não é tomado1
. Definimos o disco que queremos criar, então é hora de executar oUpdate-AzVM
comando para fazer a alteração real:Update-AzVM -ResourceGroupName $myRGName -VM $myVM
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
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
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.