Ćwiczenie — zarządzanie ustawieniami pamięci podręcznej przy użyciu programu PowerShell

Ukończone

W poprzednim ćwiczeniu wykonaliśmy następujące zadania przy użyciu witryny Azure Portal:

  • Wyświetl stan pamięci podręcznej dysku systemu operacyjnego.
  • Zmień ustawienia pamięci podręcznej dysku systemu operacyjnego.
  • Dodaj dysk danych do maszyny wirtualnej.
  • Zmień typ buforowania na nowym dysku danych.

Teraz przećwiczymy te operacje przy użyciu programu Azure PowerShell.

Uwaga

Użyjemy programu Azure PowerShell, ale możesz także użyć interfejsu wiersza polecenia platformy Azure, który zapewnia podobne funkcje jak narzędzie oparte na konsoli. Działa on w systemach macOS, Linux i Windows. Jeśli chcesz dowiedzieć się więcej na temat interfejsu wiersza polecenia platformy Azure, zapoznaj się z modułem Zarządzanie maszynami wirtualnymi za pomocą interfejsu wiersza polecenia platformy Azure.

Użyjemy maszyny wirtualnej utworzonej w poprzednim ćwiczeniu. W przypadku operacji w tym laboratorium założono, że:

  • Nasza maszyna wirtualna istnieje i jest nazywana fotoshareVM.
  • Nasza maszyna wirtualna znajduje się w grupie zasobów o nazwie [nazwa grupy zasobów piaskownicy].

Jeśli użyto innego zestawu nazw, zastąp te wartości swoimi.

Poniżej przedstawiono bieżący stan dysków maszyny wirtualnej z ostatniego ćwiczenia:

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

Użyliśmy portalu do ustawienia pola Buforowanie hosta zarówno dla systemu operacyjnego, jak i dysków danych. Pamiętaj o tym stanie początkowym, gdy będziemy przechodzić przez następujące kroki.

Konfigurowanie zmiennych

Najpierw przechowamy nazwy zasobów, aby umożliwić ich użycie w dalszej części.

W usłudze Azure Cloud Shell po prawej stronie uruchom następujące polecenia programu PowerShell:

Uwaga

Jeśli jeszcze tego nie zrobiono, przełącz sesję usługi Cloud Shell na program PowerShell przed podjęciem próby uruchomienia tych poleceń.

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

Napiwek

Należy ponownie ustawić te zmienne, jeśli limit czasu sesji usługi Cloud Shell, więc jeśli to możliwe, przepracuj to całe laboratorium w jednej sesji.

Uzyskiwanie informacji o maszynie wirtualnej

  1. Uruchom następujące polecenie, aby uzyskać właściwości maszyny wirtualnej:

    $myVM = Get-AzVM -ResourceGroupName $myRgName -VMName $myVmName
    
  2. Zapiszmy odpowiedź w naszej $myVM zmiennej. Możemy przekazać dane wyjściowe do polecenia cmdlet select-object, aby odfiltrować wyświetlane dane do konkretnych właściwości:

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

    Powinny zostać wyświetlone dane wyjściowe podobne do następujących:

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

Wyświetlanie stanu pamięci podręcznej dysku systemu operacyjnego

Możemy sprawdzić ustawienie buforowania za pośrednictwem obiektu, StorageProfile uruchamiając następujące polecenie:

$myVM.StorageProfile.OsDisk.Caching
ReadOnly

Zmieńmy ją z powrotem na wartość domyślną dla dysku systemu operacyjnego, czyli ReadWrite.

Zmiana ustawień pamięci podręcznej dysku systemu operacyjnego

  1. Możemy ustawić wartość typu pamięci podręcznej przy użyciu tego samego StorageProfile obiektu, uruchamiając następujące polecenie:

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

    To polecenie jest uruchamiane szybko, co sugeruje, że wykonuje operacje lokalne. Polecenie zmienia tylko właściwość obiektu myVM. Jeśli odświeżysz zmienną $myVM , ponownie przypisując ją przy użyciu Get-AzVM polecenia cmdlet, wartość buforowania nie zmieni się na maszynie wirtualnej.

  2. Aby wprowadzić zmianę na samej maszynie wirtualnej, wywołaj polecenie Update-AzVM , uruchamiając następujące polecenie:

    Update-AzVM -ResourceGroupName $myRGName -VM $myVM
    

    Zwróć uwagę, że wykonanie tego wywołania zajmuje trochę czasu, ponieważ aktualizujemy rzeczywistą maszynę wirtualną, a platforma Azure ponownie uruchamia maszynę wirtualną, aby wprowadzić zmianę.

    RequestId IsSuccessStatusCode StatusCode ReasonPhrase
    --------- ------------------- ---------- ------------
                             True         OK OK
    
  3. Jeśli ponownie odświeżysz zmienną $myVM , uruchamiając następujące polecenie, zobaczysz zmianę obiektu. Jeśli spojrzysz na dysk w portalu, zobaczysz tam również zmianę.

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

Wyświetlanie informacji o dysku danych

Aby zobaczyć, jakie dyski danych istnieją na maszynie wirtualnej, uruchom następujące polecenie:

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

W tej chwili mamy tylko jeden dysk danych. Pole Lun jest ważne. Jest to unikatowy numer jednostki logicznej (Logical Unit Number). Gdy dodamy kolejny dysk danych, nadamy mu unikatową Lun wartość.

Dodawanie nowego dysku danych do maszyny wirtualnej

  1. Dla wygody zapiszmy naszą nową nazwę dysku, uruchamiając następujące polecenie:

    $newDiskName = "fotoshareVM-data2"
    
  2. Uruchom następujące Add-AzVMDataDisk polecenie, aby zdefiniować nowy pusty dysk danych o rozmiarze 1 GB:

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

    Otrzymasz odpowiedź, na przykład:

    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. Nadaliśmy temu dyskowi Lun wartość , 1 ponieważ nie jest zajęta. Zdefiniowaliśmy dysk, który chcemy utworzyć, więc nadszedł czas, aby uruchomić Update-AzVM polecenie , aby wprowadzić rzeczywistą zmianę:

    Update-AzVM -ResourceGroupName $myRGName -VM $myVM
    
  4. Ponownie przyjrzyjmy się naszym infom o dysku danych, uruchamiając następujące polecenie:

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

Teraz mamy dwa dyski. Nasz nowy dysk ma parametr Lun o wartości 1, a wartość domyślna dla parametru Caching to None. Zmieńmy tę wartość.

Zmiana ustawień pamięci podręcznej nowego dysku danych

  1. Możemy zmodyfikować właściwości dysku danych maszyny wirtualnej, uruchamiając Set-AzVMDataDisk polecenie w następujący sposób:

    Set-AzVMDataDisk -VM $myVM -Lun "1" -Caching ReadWrite
    
  2. Jak zawsze zatwierdź zmiany, uruchamiając Update-AzVM polecenie :

    Update-AzVM -ResourceGroupName $myRGName -VM $myVM
    

Oto widok z portalu tego, co wykonaliśmy w tym ćwiczeniu. Nasza maszyna wirtualna ma teraz dwa dyski danych i dostosowaliśmy wszystkie ustawienia buforowania hosta. Zrobiliśmy to wszystko za pomocą zaledwie kilku poleceń korzystających z możliwości programu Azure PowerShell.

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