Tworzenie magazynu dysków maszyny wirtualnej w usłudze Azure Stack Hub

W tym artykule opisano sposób tworzenia magazynu dysków maszyny wirtualnej przy użyciu portalu usługi Azure Stack Hub lub programu PowerShell.

Omówienie

Usługa Azure Stack Hub obsługuje korzystanie z dysków zarządzanych i dysków niezarządzanych na maszynach wirtualnych jako zarówno systemu operacyjnego, jak i dysku danych.

Dyski zarządzane upraszczają zarządzanie dyskami dla maszyn wirtualnych IaaS platformy Azure przez zarządzanie kontami magazynu skojarzonymi z dyskami maszyn wirtualnych. Wystarczy określić potrzebny rozmiar dysku, a usługa Azure Stack Hub tworzy dysk i zarządza nim.

Dyski niezarządzane wymagają utworzenia konta magazynu do przechowywania dysków. Utworzone dyski są nazywane dyskami maszyn wirtualnych i są przechowywane w kontenerach na koncie magazynu.

Wskazówki dotyczące najlepszych rozwiązań

Zaleca się używanie dysków zarządzanych dla maszyn wirtualnych w celu łatwiejszego zarządzania i równoważenia pojemności. Przed użyciem dysków zarządzanych nie trzeba przygotowywać konta magazynu i kontenerów. Podczas tworzenia wielu dysków zarządzanych dyski są dystrybuowane do wielu woluminów, co pomaga równoważyć pojemność woluminów.

W przypadku dysków niezarządzanych w celu zwiększenia wydajności i zmniejszenia ogólnych kosztów zalecamy umieszczenie każdego niezarządzanego dysku w osobnym kontenerze. Chociaż można umieścić zarówno dyski systemu operacyjnego, jak i dyski danych w tym samym kontenerze, najlepszym rozwiązaniem jest to, że jeden kontener powinien przechowywać dysk systemu operacyjnego lub dysk danych, ale nie oba te dyski jednocześnie.

Jeśli do maszyny wirtualnej zostanie dodany co najmniej jeden dysk danych, użyj dodatkowych kontenerów jako lokalizacji do przechowywania tych dysków. Dysk systemu operacyjnego dla dodatkowych maszyn wirtualnych powinien również znajdować się we własnych kontenerach.

Podczas tworzenia maszyn wirtualnych można ponownie użyć tego samego konta magazynu dla każdej nowej maszyny wirtualnej. Tylko utworzone kontenery powinny być unikatowe.

Dodawanie nowych dysków

W poniższej tabeli przedstawiono podsumowanie sposobu dodawania dysków przy użyciu portalu oraz przy użyciu programu PowerShell:

Metoda Opcje
Portal użytkowników — Dodawanie nowych dysków danych do istniejącej maszyny wirtualnej. Nowe dyski są tworzone przez usługę Azure Stack Hub.

— Dodaj istniejący plik dysku (vhd) do wcześniej utworzonej maszyny wirtualnej. W tym celu należy przygotować plik vhd, a następnie przekazać plik do usługi Azure Stack Hub.
PowerShell — Utwórz nową maszynę wirtualną z dyskiem systemu operacyjnego i jednocześnie dodaj do tej maszyny wirtualnej co najmniej jeden dysk danych.

Dodawanie dysków do maszyny wirtualnej przy użyciu portalu

Domyślnie, gdy używasz portalu do tworzenia maszyny wirtualnej dla większości elementów witryny Marketplace, tworzony jest tylko dysk systemu operacyjnego.

Po utworzeniu maszyny wirtualnej można użyć portalu do:

  • Utwórz nowy dysk danych i dołącz go do maszyny wirtualnej.
  • Przekaż istniejący dysk danych i dołącz go do maszyny wirtualnej.

Umieść każdy niezarządzany dysk dodawany do oddzielnego kontenera.

Tworzenie i dołączanie nowego dysku danych za pomocą portalu

  1. W portalu wybierz pozycję Wszystkie usługi, a następnie pozycję Obliczenia, a następnie maszyny wirtualne. Przykład: pulpit nawigacyjny maszyny wirtualnej

  2. Wybierz maszynę wirtualną, która została wcześniej utworzona z listy.

  3. Dla maszyny wirtualnej wybierz pozycję Dyski, a następnie pozycję Dodaj dysk danych. Zrzut ekranu przedstawiający sposób dołączania nowego dysku do maszyny wirtualnej.

  4. Dla dysku danych:

    • Wprowadź jednostkę LUN. Jednostka LUN musi być prawidłową liczbą.
    • Wybierz pozycję Utwórz dysk. Zrzut ekranu przedstawiający sposób tworzenia nowego dysku danych.
  5. W bloku Tworzenie dysku zarządzanego :

    • Wprowadź nazwę dysku.
    • Wybierz istniejącą grupę zasobów lub utwórz nową.
    • Wybierz lokalizację. Domyślnie lokalizacja jest ustawiona na ten sam kontener, który przechowuje dysk systemu operacyjnego.
    • Wybierz typ konta. Przykład: dołączanie nowego dysku do maszyny wirtualnej

    Uwaga

    Dyski w warstwie Premium (SSD) i dyski standardowe (HDD) są obsługiwane przez tę samą infrastrukturę magazynu w usłudze Azure Stack Hub. Zapewniają one taką samą wydajność.

    • Wybierz typ źródła.

      Utwórz dysk na podstawie migawki innego dysku, obiektu blob na koncie magazynu lub utwórz pusty dysk.

      Migawka: wybierz migawkę, jeśli jest dostępna. Migawka musi być dostępna w subskrypcji i lokalizacji maszyny wirtualnej.

      Obiekt blob magazynu:

      • Dodaj identyfikator URI obiektu blob magazynu zawierającego obraz dysku.
      • Wybierz pozycję Przeglądaj, aby otworzyć blok konta magazynu. Aby uzyskać instrukcje, zobacz Dodawanie dysku danych z konta magazynu.
      • Wybierz typ systemu operacyjnego obrazu: Windows, Linux lub None (dysk danych).
    • Wybierz pozycję Rozmiar (GiB).

      Koszty dysków zwiększają się na podstawie rozmiaru dysku.

    • Wybierz przycisk Utwórz. Usługa Azure Stack Hub tworzy i weryfikuje dysk zarządzany.

  6. Gdy usługa Azure Stack Hub utworzy dysk i dołączy go do maszyny wirtualnej, nowy dysk zostanie wyświetlony w ustawieniach dysku maszyny wirtualnej w obszarze Dyski danych.

    Przykład: Wyświetlanie dysku

Dodawanie dysku danych z konta magazynu

Aby uzyskać więcej informacji na temat pracy z kontami magazynu w usłudze Azure Stack Hub, zobacz Wprowadzenie do usługi Azure Stack Hub Storage.

  1. Wybierz konto magazynu do użycia.

  2. Wybierz kontener , w którym chcesz umieścić dysk danych. W bloku Kontenery możesz utworzyć nowy kontener, jeśli chcesz. Następnie możesz zmienić lokalizację nowego dysku na własny kontener. W przypadku używania oddzielnego kontenera dla każdego dysku dystrybuujesz umieszczanie dysku danych, co zwiększa wydajność.

  3. Wybierz pozycję Wybierz, aby zapisać zaznaczenie.

    Zrzut ekranu przedstawiający sposób wybierania kontenera.

Dołączanie istniejącego dysku danych do maszyny wirtualnej

  1. Przygotuj plik vhd do użycia jako dysk danych dla maszyny wirtualnej. Przekaż ten plik vhd do konta magazynu, którego używasz z maszyną wirtualną, do której chcesz dołączyć plik vhd.

  2. Po przekazaniu pliku vhd możesz dołączyć dysk VHD do maszyny wirtualnej. W menu po lewej stronie wybierz pozycję Maszyny wirtualne.
    Zrzut ekranu przedstawiający wybrane maszyny wirtualne.

  3. Wybierz maszynę wirtualną z listy.

  4. Na stronie maszyny wirtualnej wybierz pozycję Dyski, a następnie wybierz pozycję Dołącz istniejące.

    Przykład: dołączanie istniejącego dysku

  5. Na stronie Dołączanie istniejącego dysku wybierz pozycję Plik VHD. Zostanie otwarta strona Konta magazynu .

    Przykład: wybieranie pliku VHD

  6. W obszarze Konta magazynu wybierz konto do użycia, a następnie wybierz kontener, który przechowuje wcześniej przekazany plik vhd. Wybierz plik vhd, a następnie wybierz pozycję Wybierz , aby zapisać zaznaczenie.

    Przykład: wybieranie kontenera

  7. W obszarze Dołącz istniejący dysk wybrany plik znajduje się na liście w obszarze Plik VHD. Zaktualizuj ustawienie Buforowanie hosta dysku, a następnie wybierz przycisk OK , aby zapisać nową konfigurację dysku dla maszyny wirtualnej.

    Przykład: dołączanie pliku VHD

  8. Gdy usługa Azure Stack Hub utworzy dysk i dołączy go do maszyny wirtualnej, nowy dysk zostanie wyświetlony w ustawieniach dysku maszyny wirtualnej w obszarze Dyski danych.

    Przykład: ukończ dołączanie dysku

Dodawanie wielu dysków do maszyny wirtualnej przy użyciu programu PowerShell

Za pomocą programu PowerShell można aprowizować maszynę wirtualną i dodawać nowe dyski danych lub dołączać wcześniej istniejący dysk zarządzany lub plik vhd jako dysk danych.

Polecenie cmdlet Add-AzVMDataDisk dodaje dysk danych do maszyny wirtualnej. Dysk danych można dodać podczas tworzenia maszyny wirtualnej lub dodać dysk danych do istniejącej maszyny wirtualnej. W przypadku dysku niezarządzanego określ parametr VhdUri , aby dystrybuować dyski do różnych kontenerów.

Dodawanie dysków danych do nowej maszyny wirtualnej

W poniższych przykładach użyto poleceń programu PowerShell do utworzenia maszyny wirtualnej z trzema dyskami danych. Polecenia są dostarczane z kilkoma częściami ze względu na drobne różnice podczas korzystania z dysków zarządzanych lub dysków niezarządzanych.

Tworzenie konfiguracji maszyny wirtualnej i zasobów sieciowych

Poniższy skrypt tworzy obiekt maszyny wirtualnej, a następnie zapisuje go w zmiennej $VirtualMachine . Polecenia przypisują nazwę i rozmiar do maszyny wirtualnej, a następnie tworzą zasoby sieciowe (sieć wirtualna, podsieć, wirtualną kartę sieciową, sieciową grupę zabezpieczeń i publiczny adres IP) dla maszyny wirtualnej.

# Create new virtual machine configuration
$VirtualMachine = New-AzVMConfig -VMName "VirtualMachine" `
                                      -VMSize "Standard_A2"

# Set variables
$rgName = "myResourceGroup"
$location = "local"

# Create a subnet configuration
$subnetName = "mySubNet"
$singleSubnet = New-AzVirtualNetworkSubnetConfig -Name $subnetName -AddressPrefix 10.0.0.0/24

# Create a vnet configuration
$vnetName = "myVnetName"
$vnet = New-AzVirtualNetwork -Name $vnetName -ResourceGroupName $rgName -Location $location `
                                  -AddressPrefix 10.0.0.0/16 -Subnet $singleSubnet

# Create a public IP
$ipName = "myIP"
$pip = New-AzPublicIpAddress -Name $ipName -ResourceGroupName $rgName -Location $location `
                                  -AllocationMethod Dynamic

# Create a network security group configuration
$nsgName = "myNsg"
$rdpRule = New-AzNetworkSecurityRuleConfig -Name myRdpRule -Description "Allow RDP" `
                                                -Access Allow -Protocol Tcp -Direction Inbound -Priority 110 `
                                                -SourceAddressPrefix Internet -SourcePortRange * `
                                                -DestinationAddressPrefix * -DestinationPortRange 3389
$nsg = New-AzNetworkSecurityGroup -ResourceGroupName $rgName -Location $location `
                                       -Name $nsgName -SecurityRules $rdpRule

# Create a NIC configuration
$nicName = "myNicName"
$nic = New-AzNetworkInterface -Name $nicName -ResourceGroupName $rgName `
                                   -Location $location -SubnetId $vnet.Subnets[0].Id `
                                   -NetworkSecurityGroupId $nsg.Id -PublicIpAddressId $pip.Id

Dodawanie dysków zarządzanych

Następujące trzy polecenia dodają dyski danych zarządzanych do maszyny wirtualnej przechowywanej w $VirtualMachineprogramie . Każde polecenie określa nazwę i dodatkowe właściwości dysku.

$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name 'DataDisk1' `
                                        -Caching 'ReadOnly' -DiskSizeInGB 10 -Lun 0 `
                                        -CreateOption Empty
$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name 'DataDisk2' `
                                        -Caching 'ReadOnly' -DiskSizeInGB 11 -Lun 1 `
                                        -CreateOption Empty
$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name 'DataDisk3' `
                                        -Caching 'ReadOnly' -DiskSizeInGB 12 -Lun 2 `
                                        -CreateOption Empty

Następujące polecenie dodaje dysk systemu operacyjnego jako dysk zarządzany do maszyny wirtualnej przechowywanej w $VirtualMachineprogramie .

# Set OS Disk
$osDiskName = "osDisk"
$VirtualMachine = Set-AzVMOSDisk -VM $VirtualMachine -Name $osDiskName  `
                                      -CreateOption FromImage -Windows

Dodawanie dysków niezarządzanych

Następne trzy polecenia przypisują ścieżki trzech niezarządzanych dysków danych do $DataDiskVhdUri01zmiennych , $DataDiskVhdUri02i $DataDiskVhdUri03 . Zdefiniuj inną nazwę ścieżki w adresie URL, aby dystrybuować dyski do różnych kontenerów:

$DataDiskVhdUri01 = "https://contoso.blob.local.azurestack.external/test1/data1.vhd"
$DataDiskVhdUri02 = "https://contoso.blob.local.azurestack.external/test2/data2.vhd"
$DataDiskVhdUri03 = "https://contoso.blob.local.azurestack.external/test3/data3.vhd"

Następujące trzy polecenia dodają dyski danych do maszyny wirtualnej przechowywanej w $VirtualMachineprogramie . Każde polecenie określa nazwę i dodatkowe właściwości dysku. Identyfikator URI każdego dysku jest przechowywany w $DataDiskVhdUri01systemach , $DataDiskVhdUri02i $DataDiskVhdUri03.

$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name 'DataDisk1' `
                                        -Caching 'ReadOnly' -DiskSizeInGB 10 -Lun 0 `
                                        -VhdUri $DataDiskVhdUri01 -CreateOption Empty
$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name 'DataDisk2' `
                                        -Caching 'ReadOnly' -DiskSizeInGB 11 -Lun 1 `
                                        -VhdUri $DataDiskVhdUri02 -CreateOption Empty
$VirtualMachine = Add-AzVMDataDisk -VM $VirtualMachine -Name 'DataDisk3' `
                                        -Caching 'ReadOnly' -DiskSizeInGB 12 -Lun 2 `
                                        -VhdUri $DataDiskVhdUri03 -CreateOption Empty

Następujące polecenia dodają niezarządzany dysk systemu operacyjnego do maszyny wirtualnej przechowywanej w $VirtualMachineprogramie .

# Set OS Disk
$osDiskUri = "https://contoso.blob.local.azurestack.external/vhds/osDisk.vhd"
$osDiskName = "osDisk"
$VirtualMachine = Set-AzVMOSDisk -VM $VirtualMachine -Name $osDiskName -VhdUri $osDiskUri `
                                      -CreateOption FromImage -Windows

Tworzenie nowej maszyny wirtualnej

Użyj następujących poleceń programu PowerShell, aby ustawić obraz systemu operacyjnego, dodać konfigurację sieci do maszyny wirtualnej, a następnie uruchomić nową maszynę wirtualną.

#Create the new VM
$VirtualMachine = Set-AzVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName VirtualMachine -ProvisionVMAgent | `
                  Set-AzVMSourceImage -PublisherName MicrosoftWindowsServer -Offer WindowsServer `
                  -Skus 2016-Datacenter -Version latest | Add-AzVMNetworkInterface -Id $nic.Id

New-AzVM -ResourceGroupName $rgName -Location $location -VM $VirtualMachine

Dodawanie dysków danych do istniejącej maszyny wirtualnej

W poniższych przykładach użyto poleceń programu PowerShell, aby dodać trzy dyski danych do istniejącej maszyny wirtualnej:

Uzyskiwanie maszyny wirtualnej

Pierwsze polecenie pobiera maszynę wirtualną o nazwie VirtualMachine przy użyciu polecenia cmdlet Get-AzVM . Polecenie przechowuje maszynę wirtualną w zmiennej $VirtualMachine :

$VirtualMachine = Get-AzVM -ResourceGroupName "myResourceGroup" `
                                -Name "VirtualMachine"

Dodawanie dysku zarządzanego

Następne trzy polecenia dodają dyski danych zarządzanych do maszyny wirtualnej przechowywanej w zmiennej $VirtualMachine . Każde polecenie określa nazwę i dodatkowe właściwości dysku.

Add-AzVMDataDisk -VM $VirtualMachine -Name "DataDisk1" -Lun 0 `
                      -Caching ReadOnly -DiskSizeinGB 10 -CreateOption Empty
Add-AzVMDataDisk -VM $VirtualMachine -Name "DataDisk2" -Lun 1 `
                      -Caching ReadOnly -DiskSizeinGB 11 -CreateOption Empty
Add-AzVMDataDisk -VM $VirtualMachine -Name "DataDisk3" -Lun 2 `
                      -Caching ReadOnly -DiskSizeinGB 12 -CreateOption Empty

Dodawanie dysku niezarządzanych

Następne trzy polecenia przypisują ścieżki dla trzech dysków danych do $DataDiskVhdUri01zmiennych , $DataDiskVhdUri02i $DataDiskVhdUri03 . Różne nazwy ścieżek w identyfikatorach URI wirtualnego dysku twardego wskazują różne kontenery na potrzeby umieszczania dysku:

$DataDiskVhdUri01 = "https://contoso.blob.local.azurestack.external/test1/data1.vhd"
$DataDiskVhdUri02 = "https://contoso.blob.local.azurestack.external/test2/data2.vhd"
$DataDiskVhdUri03 = "https://contoso.blob.local.azurestack.external/test3/data3.vhd"

Następne trzy polecenia dodają dyski danych do maszyny wirtualnej przechowywanej w zmiennej $VirtualMachine . Każde polecenie określa nazwę, lokalizację i dodatkowe właściwości dysku. Identyfikator URI każdego dysku jest przechowywany w $DataDiskVhdUri01systemach , $DataDiskVhdUri02i $DataDiskVhdUri03.

Add-AzVMDataDisk -VM $VirtualMachine -Name "DataDisk1" `
                      -VhdUri $DataDiskVhdUri01 -LUN 0 `
                      -Caching ReadOnly -DiskSizeinGB 10 -CreateOption Empty
Add-AzVMDataDisk -VM $VirtualMachine -Name "DataDisk2" `
                      -VhdUri $DataDiskVhdUri02 -LUN 1 `
                      -Caching ReadOnly -DiskSizeinGB 11 -CreateOption Empty
Add-AzVMDataDisk -VM $VirtualMachine -Name "DataDisk3" `
                      -VhdUri $DataDiskVhdUri03 -LUN 2 `
                      -Caching ReadOnly -DiskSizeinGB 12 -CreateOption Empty

Aktualizowanie stanu maszyny wirtualnej

To polecenie aktualizuje stan maszyny wirtualnej przechowywanej w $VirtualMachine programie -ResourceGroupName:

Update-AzVM -ResourceGroupName "myResourceGroup" -VM $VirtualMachine

Następne kroki

Aby dowiedzieć się więcej na temat maszyn wirtualnych usługi Azure Stack Hub, zobacz Zagadnienia dotyczące Virtual Machines w usłudze Azure Stack Hub.