Przenoszenie maszyny wirtualnej z platformy Azure do usługi Azure Stack Hub
Wirtualny dysk twardy (VHD) można przekazać z maszyny wirtualnej utworzonej na platformie Azure do wystąpienia usługi Azure Stack Hub.
Przygotowywanie i pobieranie wirtualnego dysku twardego z platformy Azure
Znajdź sekcję specyficzną dla Twoich potrzeb podczas przygotowywania dysku VHD.
- Wykonaj kroki opisane w artykule Tworzenie maszyny wirtualnej z systemem Windows na podstawie wyspecjalizowanego dysku przy użyciu programu PowerShell w celu przygotowania dysku VHD.
- Aby wdrożyć rozszerzenia maszyny wirtualnej, upewnij się, że agent maszyny wirtualnej .msi dostępny.
Aby uzyskać informacje i kroki, zobacz Omówienie agenta maszyny wirtualnej platformy Azure. Przed przeniesieniem maszyny wirtualnej upewnij się, że rozszerzenie jest zainstalowane na maszynie wirtualnej. Jeśli agent maszyny wirtualnej nie jest obecny w dysku VHD, wdrożenie rozszerzenia zakończy się niepowodzeniem. Nie trzeba ustawiać profilu systemu operacyjnego podczas aprowizacji ani ustawiać .$vm.OSProfile.AllowExtensionOperations = $true
Weryfikowanie wirtualnego dysku twardego
Przed przekazaniem dysku VHD należy sprawdzić, czy dysk VHD spełnia wymagania. Wirtualne dyski twarde, które nie spełniają wymagań, nie będą ładowane w usłudze Azure Stack Hub.
Użyjesz modułów programu PowerShell znalezionych w funkcji Hyper-V. Aktywowanie instalacji funkcji Hyper-V obsługujących moduły programu PowerShell. Możesz sprawdzić, czy masz moduł, otwierając program PowerShell z podwyższonym poziomem uprawnień i uruchamiając 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.
Pobierz ścieżkę do dysku VHD 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 :
Za pomocą obiektu VHD sprawdź, czy spełnia wymagania dotyczące usługi Azure Stack Hub.
- Dysk VHD jest stałym typem.
- Wirtualny dysk twardy ma minimalny rozmiar wirtualny wynoszący co najmniej 20 MB.
- Wirtualny dysk twardy jest wyrównany.
- Długość obiektu blob VHD = rozmiar wirtualny + długość stopki vhd (512).
Ponadto usługa Azure Stack Hub obsługuje tylko obrazy z maszyn wirtualnych generacji (1).
Jeśli wirtualny dysk twardy nie jest zgodny z usługą Azure Stack Hub, musisz wrócić do obrazu źródłowego i funkcji Hyper-V, utworzyć dysk VHD spełniający wymagania i przekazać. Aby zminimalizować możliwe uszkodzenie procesu 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 jest stałym typem
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.
Aby przekonwertować dysk, użyj Menedżera funkcji Hyper-V lub programu PowerShell .
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ść (1) MB.
Dyski muszą mieć rozmiar wirtualny wyrównany do 1 MiB. Jeśli dysk VHD 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ć "Rozmiar", który musi być wielokrotny 1 MiB na platformie Azure i "FileSize", który będzie równy "Rozmiar" plus 512 bajtów dla stopki VHD.
Użyj Menedżera funkcji Hyper-V lub programu PowerShell , aby zmienić rozmiar dysku.
Długość obiektu blob dysku VHD
Zidentyfikujget-vhd
: użyj polecenia cmdlet, aby wyświetlićSize
Poprawka: długość obiektu blob VHD = rozmiar wirtualny + długość stopki vhd (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 to Generacja 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
Dysk VHD można przekazać za pomocą portalu lub za pomocą kontenera utworzonego w portalu za pomocą narzędzia AzCopy.
Portal do generowania adresu URL sygnatury dostępu współdzielonego i przekazywania wirtualnego dysku twardego
Zaloguj się do portalu użytkowników usługi Azure Stack Hub.
Wybierz pozycję Konta magazynu i wybierz istniejące konto magazynu lub utwórz nowe konto magazynu.
Wybierz pozycję Obiekty blob w bloku konta magazynu dla konta magazynu. Wybierz pozycję Kontener, aby utworzyć nowy kontener.
Wpisz nazwę kontenera, a następnie wybierz pozycję Obiekt blob (anonimowy dostęp do odczytu tylko dla obiektów blob).
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.
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.
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.
Otwórz program PowerShell, aby użyć narzędzia AzCopy z poziomu powłoki.
Użyj narzędzia AzCopy, aby przekazać dysk VHD do kontenera na koncie magazynu.
$env: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 maszyny wirtualnej
Obrazy niestandardowe są dostępne w dwóch formach: wyspecjalizowanych i uogólnionych.
Zaloguj się do portalu użytkowników usługi Azure Stack Hub.
Jeśli jesteś operatorem chmury tworzącym dysk 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.
W portalu użytkowników wybierz pozycję Wszystkie dyski> usług >Dodaj.
W obszarze Tworzenie dysku zarządzanego:
Wpisz nazwę obrazu.
Wybierz swoją subskrypcję.
Utwórz lub dodaj obraz do grupy zasobów.
Wybierz lokalizację, nazywaną również regionem zestawu ASDK.
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 w warstwie Standardowa (HDD) są wspierane przez dyski magnetyczne i są preferowane w przypadku aplikacji, w których dostęp do danych jest rzadko używany. Dyski strefowo nadmiarowe są wspierane przez magazyn strefowo nadmiarowy (ZRS), który replikuje dane w wielu strefach i jest dostępny nawet wtedy, gdy jedna strefa nie działa.
Wybierz pozycję Magazyn obiektów blob jako typ źródła. Dysk jest tworzony na podstawie obiektu blob na koncie magazynu.
Dla źródła wirtualnego dysku twardego wybierz:
- Subskrypcja źródłowa, w której znajduje się konto magazynu.
- Wybierz pozycję Przeglądaj , a następnie przejdź do konta magazynu, kontenera i wirtualnego dysku twardego. Wybierz pozycję Wybierz.
- Wybierz typ systemu operacyjnego pasujący do dysku VHD.
Wybierz rozmiar dysku (GiB) o rozmiarze lub większym niż dysk VHD.
Wybierz przycisk Utwórz.
Po utworzeniu dysku możesz użyć go do utworzenia nowej maszyny wirtualnej.
Następne kroki
Przenoszenie maszyny wirtualnej do usługi Azure Stack Hub — omówienie