Przenoszenie uogólnionej maszyny wirtualnej ze środowiska lokalnego do usługi Azure Stack Hub

Przestroga

Ten artykuł odwołuje się do systemu CentOS — dystrybucji systemu Linux, która zbliża się do stanu zakończenia życia (EOL). Rozważ odpowiednie użycie i zaplanuj. Aby uzyskać więcej informacji, zobacz wskazówki dotyczące końca życia systemu CentOS.

Obraz maszyny wirtualnej można dodać ze środowiska lokalnego. Obraz można utworzyć jako wirtualny dysk twardy (VHD) i przekazać obraz do konta magazynu w wystąpieniu usługi Azure Stack Hub. Następnie możesz utworzyć maszynę wirtualną na podstawie wirtualnego dysku twardego.

Uogólniony obraz dysku jest taki, który został przygotowany za pomocą narzędzia Sysprep w celu usunięcia wszelkich unikatowych informacji (takich jak konta użytkowników), co umożliwia ponowne użycie go w celu utworzenia wielu maszyn wirtualnych. Uogólnione wirtualne dyski twarde są odpowiednie do tworzenia obrazów, które operator chmury usługi Azure Stack Hub planuje używać jako elementów witryny Marketplace.

Jak przenieść obraz

Znajdź sekcję specyficzną dla Twoich potrzeb podczas przygotowywania dysku VHD.

Wykonaj kroki opisane w artykule Przygotowywanie dysku VHD lub VHDX systemu Windows do przekazania na platformę Azure w celu poprawnego uogólnienia dysku VHD przed przekazaniem. Musisz użyć wirtualnego dysku twardego dla usługi Azure Stack Hub.

Weryfikowanie wirtualnego dysku twardego

Przed przekazaniem wirtualnego dysku twardego należy sprawdzić, czy wirtualny dysk twardy spełnia wymagania. Dyski VHD, które nie spełniają wymagań, nie będą ładowane w usłudze Azure Stack Hub.

  1. Użyjesz modułów programu PowerShell znalezionych z funkcją Hyper-V. Aktywowanie instalacji funkcji Hyper-V obsługujących moduły programu PowerShell. Aby sprawdzić, czy moduł został zainstalowany, otwórz program PowerShell z wierszem z podwyższonym poziomem uprawnień i uruchom następujące polecenie cmdlet:

    Get-Command -Module hyper-v
    

    Jeśli nie masz poleceń funkcji Hyper-V, zobacz Praca z funkcją Hyper-V i Windows PowerShell.

  2. Pobierz ścieżkę do wirtualnego dysku twardego na maszynie. Uruchom następujące polecenie cmdlet:

    get-vhd <path-to-your-VHD>
    

    Polecenie cmdlet zwróci obiekt VHD i wyświetli atrybuty, takie jak:

    ComputerName            : YOURMACHINENAME
    Path                    : <path-to-your-VHD>
    VhdFormat               : VHD
    VhdType                 : Fixed
    FileSize                : 68719477248
    Size                    : 68719476736
    MinimumSize             : 32212254720
    LogicalSectorSize       : 512
    PhysicalSectorSize      : 512
    BlockSize               : 0
    ParentPath              :
    DiskIdentifier          : 3C084D21-652A-4C0E-B2D1-63A8E8E64C0C
    FragmentationPercentage : 0
    Alignment               : 1
    Attached                : False
    DiskNumber              :
    IsPMEMCompatible        : False
    AddressAbstractionType  : None
    Number                  :
    
  3. Za pomocą obiektu VHD sprawdź, czy spełnia wymagania usługi Azure Stack Hub.

    Ponadto usługa Azure Stack Hub obsługuje tylko obrazy z maszyn wirtualnych 1. generacji.

  4. Jeśli wirtualny dysk twardy nie jest zgodny z usługą Azure Stack Hub, należy wrócić do obrazu źródłowego i funkcji Hyper-V, utworzyć wirtualny dysk twardy spełniający wymagania i przekazać go. Aby zminimalizować możliwe uszkodzenie w procesie przekazywania, użyj narzędzia AzCopy.

Jak naprawić dysk VHD

Aby uzyskać zgodność wirtualnego dysku twardego z usługą Azure Stack Hub, należy spełnić następujące wymagania.

Dysk VHD ma stały typ

Zidentyfikuj: użyj get-vhd polecenia cmdlet , aby uzyskać obiekt VHD.
Poprawka: plik VHDX można przekonwertować na dysk VHD, przekonwertować dynamicznie rozwijający się dysk na dysk o stałym rozmiarze, ale nie można zmienić generacji maszyny wirtualnej. Użyj Menedżera funkcji Hyper-V lub programu PowerShell , aby przekonwertować dysk.

Wirtualny dysk twardy ma minimalny rozmiar wirtualny wynoszący co najmniej 20 MB

Zidentyfikuj: użyj get-vhd polecenia cmdlet , aby uzyskać obiekt VHD.
Poprawka: Użyj Menedżera funkcji Hyper-V lub programu PowerShell , aby zmienić rozmiar dysku.

Wirtualny dysk twardy jest wyrównany

Zidentyfikuj: użyj get-vhd polecenia cmdlet , aby uzyskać obiekt VHD.
Poprawka: rozmiar wirtualny musi mieć wielokrotność jednego (1) MB.

Dyski muszą mieć rozmiar wirtualny wyrównany do 1 MiB. Jeśli wirtualny dysk twardy jest ułamkiem 1 MiB, musisz zmienić rozmiar dysku na wielokrotność 1 MiB. Dyski, które są ułamkami miB powodują błędy podczas tworzenia obrazów z przekazanego dysku VHD. Aby sprawdzić rozmiar, możesz użyć polecenia cmdlet Get-VHD programu PowerShell, aby wyświetlić wartość "Size", która musi być wielokrotną 1 wartością MiB na platformie Azure i wartością "FileSize", która będzie równa "Rozmiar" plus 512 bajtów dla stopki wirtualnego dysku twardego.

Użyj Menedżera funkcji Hyper-V lub programu PowerShell , aby zmienić rozmiar dysku.

Długość obiektu blob wirtualnego dysku twardego

Zidentyfikujget-vhd: użyj polecenia cmdlet , aby wyświetlićSize
Poprawka: długość obiektu blob wirtualnego dysku twardego = rozmiar wirtualny + długość stopki wirtualnego dysku twardego (512). Mała stopka na końcu obiektu blob opisuje właściwości wirtualnego dysku twardego. Size musi mieć wielokrotność 1 miB na platformie Azure i FileSize, która będzie równa Size + 512 bajtów dla stopki wirtualnego dysku twardego.

Użyj Menedżera funkcji Hyper-V lub programu PowerShell , aby zmienić rozmiar dysku.

Generacja jednej maszyny wirtualnej

Zidentyfikuj: Aby potwierdzić, czy maszyna wirtualna ma generację 1, użyj polecenia cmdlet Get-VM | Format-Table Name, Generation.
Poprawka: należy ponownie utworzyć maszynę wirtualną w funkcji hypervisor (Hyper-V).

Przekazywanie do konta magazynu

Wirtualny dysk twardy można przekazać za pomocą portalu lub kontenera utworzonego w portalu za pomocą narzędzia AzCopy.

Portal do generowania adresu URL sygnatury dostępu współdzielonego i przekazywania wirtualnego dysku twardego

  1. Zaloguj się do portalu użytkowników usługi Azure Stack Hub.

  2. Wybierz pozycję Konta magazynu i wybierz istniejące konto magazynu lub utwórz nowe konto magazynu.

  3. Wybierz pozycję Obiekty blob w bloku konta magazynu dla konta magazynu. Wybierz pozycję Kontener, aby utworzyć nowy kontener.

  4. Wpisz nazwę kontenera, a następnie wybierz pozycję Obiekt blob (anonimowy dostęp do odczytu tylko dla obiektów blob).

  5. Jeśli zamierzasz użyć narzędzia AzCopy do przekazania obrazu, a nie portalu, utwórz token SYGNATURy dostępu współdzielonego. Wybierz pozycję Sygnatura dostępu współdzielonego na koncie magazynu, a następnie wybierz pozycję Generuj sygnaturę dostępu współdzielonego i parametry połączenia. Skopiuj i zanotuj adres URL sygnatury dostępu współdzielonego usługi Blob Service. Ten adres URL będzie używany podczas przekazywania wirtualnego dysku twardego za pomocą narzędzia AzCopy.

  6. Wybierz kontener, a następnie wybierz pozycję Przekaż. Przekaż wirtualny dysk twardy.

AzCopy VHD

Użyj Eksplorator usługi Azure Storage lub narzędzia AzCopy, aby zmniejszyć prawdopodobieństwo uszkodzenia dysku VHD w procesie przekazywania, a przekazywanie będzie szybsze. W poniższych krokach narzędzie AzCopy jest używane na maszynie Windows 10. AzCopy to narzędzie wiersza polecenia, przy użyciu którego można kopiować obiekty blob lub pliki do lub z konta magazynu.

  1. Jeśli nie masz zainstalowanego narzędzia AzCopy, zainstaluj narzędzie AzCopy. Instrukcje pobierania i rozpoczynania pracy z narzędziem AzCopy można znaleźć w artykule Wprowadzenie do narzędzia AzCopy. Zanotuj miejsce przechowywania danych binarnych. Możesz dodać narzędzie AzCopy do ścieżki , aby użyć jej z poziomu wiersza polecenia programu PowerShell.

  2. Otwórz program PowerShell, aby użyć narzędzia AzCopy z poziomu powłoki.

  3. Użyj narzędzia AzCopy, aby przekazać dysk VHD do kontenera na koncie magazynu.

    set AZCOPY_DEFAULT_SERVICE_API_VERSION=2017-11-09
    azcopy cp "/path/to/file.vhd" "https://[account].blob.core.windows.net/[container]/[path/to/blob]?[SAS] --blob-type=PageBlob
    

Uwaga

Przekaż dysk VHD przy użyciu składni podobnej do przekazywania pojedynczego pliku do katalogu wirtualnego. Dodaj --blob-type=PageBlob polecenie , aby upewnić się, że wirtualny dysk twardy jest przekazywany jako stronicowy obiekt blob, a nie blokuj domyślnie.

Aby uzyskać więcej informacji na temat korzystania z narzędzia AzCopy i innych narzędzi do magazynowania, zobacz Use data transfer tools in Azure Stack Hub Storage (Korzystanie z narzędzi transferu danych w usłudze Azure Stack Hub Storage).

Tworzenie obrazu w usłudze Azure Stack Hub

  1. Zaloguj się do portalu użytkowników usługi Azure Stack Hub.

    Jeśli jesteś operatorem chmury tworzącym obraz platformy, postępuj zgodnie z instrukcjami w temacie Dodawanie obrazu platformy , aby dodać dysk VHD za pośrednictwem portalu administratora lub z punktami końcowymi administratora.

  2. W portalu użytkowników wybierz pozycję Wszystkie obrazy usług>>Dodaj.

  3. W obszarze Utwórz obraz:

    1. Wpisz nazwę obrazu.

    2. Wybierz swoją subskrypcję.

    3. Utwórz lub dodaj obraz do grupy zasobów.

    4. Wybierz lokalizację, nazywaną również regionem zestawu ASDK.

    5. Wybierz typ systemu operacyjnego pasujący do obrazu.

    6. Wybierz pozycję Przeglądaj , a następnie przejdź do konta magazynu, kontenera i wirtualnego dysku twardego. Wybierz pozycję Wybierz.

    7. Wybierz typ konta.

      • Dyski w warstwie Premium (SSD) są wspierane przez dyski półprzewodnikowe i zapewniają spójną wydajność o małych opóźnieniach. Zapewniają one najlepszą równowagę między ceną a wydajnością i są idealne dla aplikacji intensywnie korzystających z operacji we/wy i obciążeń produkcyjnych.
      • Dyski standardowe (HDD) są wspierane przez dyski magnetyczne i są preferowane w przypadku aplikacji, w których dane są często dostępne. Dyski strefowo nadmiarowe są obsługiwane przez magazyn strefowo nadmiarowy (ZRS), który replikuje dane między wieloma strefami i są dostępne nawet wtedy, gdy jedna strefa nie działa.
    8. Wybierz pozycję Odczyt/zapis na potrzeby przechwytywania hosta.

    9. Wybierz przycisk Utwórz.

  4. Po utworzeniu obrazu użyj obrazu, aby utworzyć nową maszynę wirtualną.

Następne kroki

Przenoszenie maszyny wirtualnej do usługi Azure Stack Hub — omówienie