Tworzenie obrazu lokalnej maszyny wirtualnej platformy Azure przy użyciu obrazu na koncie usługi Azure Storage
Dotyczy: Azure Local, wersja 23H2
W tym artykule opisano sposób tworzenia obrazów maszyn wirtualnych dla usługi Azure Local przy użyciu obrazów źródłowych z konta usługi Azure Storage. Obrazy maszyn wirtualnych można tworzyć przy użyciu witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure, a następnie używać tych obrazów maszyn wirtualnych do tworzenia maszyn wirtualnych usługi Arc w środowisku lokalnym platformy Azure.
Wymagania wstępne
Przed rozpoczęciem upewnij się, że zostały spełnione następujące wymagania wstępne.
Pamiętaj, aby przejrzeć i spełnić wymagania wstępne.
W przypadku obrazów niestandardowych na koncie usługi Azure Storage masz następujące dodatkowe wymagania wstępne:
- Dysk VHD powinien zostać załadowany na koncie usługi Azure Storage. Zobacz, jak przekazać obraz wirtualnego dysku twardego na koncie usługi Azure Storage.
- Upewnij się, że przekazujesz dysk VHD lub VHDX jako obraz stronicowego obiektu blob do konta magazynu. Tylko stronicowe obrazy obiektów blob są obsługiwane do tworzenia obrazów maszyn wirtualnych za pośrednictwem konta magazynu.
- W przypadku korzystania z dysku VHDX:
- Obraz VHDX musi mieć typ 2. generacji i włączony bezpieczny rozruch.
- Obraz VHDX musi być przygotowany przy użyciu polecenia
sysprep /generalize /shutdown /oobe
. Aby uzyskać więcej informacji, zobacz Sysprep command-line options (Opcje wiersza polecenia narzędzia Sysprep).
Jeśli używasz klienta do nawiązywania połączenia z wystąpieniem lokalnym platformy Azure, zobacz Nawiązywanie połączenia z platformą Azure Lokalnie za pośrednictwem klienta interfejsu wiersza polecenia platformy Azure.
Upewnij się, że masz rolę Współautor danych obiektu blob usługi Storage na koncie magazynu używanym na potrzeby obrazu. Aby uzyskać więcej informacji, zobacz Przypisywanie roli platformy Azure w celu uzyskania dostępu do danych obiektów blob.
Dodawanie obrazu maszyny wirtualnej z konta usługi Azure Storage
Utworzysz obraz maszyny wirtualnej, zaczynając od obrazu na koncie usługi Azure Storage, a następnie użyjesz tego obrazu do wdrożenia maszyn wirtualnych w środowisku lokalnym platformy Azure.
Wykonaj następujące kroki, aby utworzyć obraz maszyny wirtualnej przy użyciu interfejsu wiersza polecenia platformy Azure.
Logowanie się i ustawianie subskrypcji
Zaloguj. Typ:
az login --use-device-code
Ustaw subskrypcję.
az account set --subscription <Subscription ID>
Ustawianie niektórych parametrów
- Ustaw subskrypcję, grupę zasobów, lokalizację, ścieżkę do obrazu w udziale lokalnym i typ systemu operacyjnego dla obrazu. Zastąp parametry w
< >
pliku odpowiednimi wartościami.
$subscription = "<Subscription ID>"
$resource_group = "<Resource group>"
$location = "<Location for your Azure Local>"
$osType = "<OS of source image>"
$imageName = "<VM image name>"
$imageSourcePath = "<path to the source image in the Storage account>"
Parametry zostały opisane w poniższej tabeli:
Parametr | Opis |
---|---|
subscription |
Subskrypcja usługi Azure Local skojarzona z tym obrazem. |
resource_group |
Grupa zasobów dla usługi Azure Local, którą skojarzysz z tym obrazem. |
location |
Lokalizacja wystąpienia lokalnego platformy Azure. Na przykład może to być eastus . |
imageName |
Nazwa obrazu maszyny wirtualnej utworzonego na początku z obrazem w udziale lokalnym. Uwaga: platforma Azure odrzuca wszystkie nazwy zawierające słowo kluczowe Windows. |
imageSourcePath |
Ścieżka do adresu URL sygnatury dostępu współdzielonego obiektu blob obrazu na koncie usługi Storage. Aby uzyskać więcej informacji, zobacz instrukcje dotyczące uzyskiwania adresu URL sygnatury dostępu współdzielonego obiektu blob obrazu na koncie usługi Storage. Uwaga: upewnij się, że wszystkie znaki Ampersand w ścieżce zostały uniknięte podwójnymi cudzysłowami, a cały ciąg ścieżki jest opakowany w pojedynczy cudzysłów. |
os-type |
System operacyjny skojarzony z obrazem źródłowym. Może to być system Windows lub Linux. |
Oto przykładowe dane wyjściowe:
PS C:\Users\azcli> $subscription = "<Subscription ID>"
PS C:\Users\azcli> $resource_group = "mylocal-rg"
PS C:\Users\azcli> $location = "eastus"
PS C:\Users\azcli> $osType = "Windows"
PS C:\Users\azcli> $imageName = "mylocal-storacctimage"
PS C:\Users\azcli> $imageSourcePath = 'https://vmimagevhdsa1.blob.core.windows.net/vhdcontainer/Windows_InsiderPreview_ServerStandard_en-us_VHDX_25131.vhdx?sp=r"&"st=2022-08-05T18:41:41Z"&"se=2022-08-06T02:41:41Z"&"spr=https"&"sv=2021-06-08"&"sr=b"&"sig=X7A98cQm%2FmNRaHmTbs9b4OWVv%2F9Q%2FJkWDBHVPyAc8jo%3D'
Tworzenie obrazu maszyny wirtualnej na podstawie obrazu na koncie usługi Azure Storage
Wybierz lokalizację niestandardową, aby wdrożyć obraz maszyny wirtualnej. Lokalizacja niestandardowa powinna odpowiadać lokalizacji niestandardowej dla twojej lokalizacji lokalnej platformy Azure. Pobierz identyfikator lokalizacji niestandardowej dla lokalnej platformy Azure. Uruchom następujące polecenie:
$customLocationID=(az customlocation show --resource-group $resource_group --name "<custom location name for your Azure Local>" --query id -o tsv)
Utwórz obraz maszyny wirtualnej, zaczynając od określonego obrazu z witryny Marketplace. Upewnij się, że określono ofertę, wydawcę, jednostkę SKU i wersję obrazu witryny Marketplace.
az stack-hci-vm image create --subscription $subscription --resource-group $resource_Group --custom-location $customLocationID --location $location --name $imageName --os-type $osType --image-path $imageSourcePath --storage-path-id $storagepathid
Zostanie uruchomione zadanie wdrożenia dla obrazu maszyny wirtualnej.
W tym przykładzie określono ścieżkę magazynu przy użyciu
--storage-path-id
flagi i upewniono się, że dane obciążenia (w tym maszyna wirtualna, obraz maszyny wirtualnej, dysk danych innych niż system operacyjny) są umieszczane w określonej ścieżce magazynu.Jeśli flaga nie zostanie określona, dane obciążenia zostaną automatycznie umieszczone w ścieżce magazynu o wysokiej dostępności.
Wdrożenie obrazu trwa kilka minut. Czas potrzebny na pobranie obrazu zależy od rozmiaru obrazu na koncie usługi Azure Storage i przepustowości sieci dostępnej do pobrania.
Oto przykładowe dane wyjściowe:
PS > $customLocationID=(az customlocation show --resource-group $resource_group --name "mylocal-cl" --query id -o tsv)
PS C:\Users\azcli> az stack-hci-vm image create --subscription $subscription --resource-group $resource_Group --custom-location $customLocationID --location $location --name $imageName --os-type $osType --image-path $imageSourcePath --storage-path-id $storagepathid
Command group 'stack-hci-vm' is experimental and under development. Reference and support levels: https://aka.ms/CLI_refstatus
{
"extendedLocation": {
"name": "/subscriptions/<Subscription ID>/resourceGroups/mylocal-rg/providers/Microsoft.ExtendedLocation/customLocations/mylocal-cl",
"type": "CustomLocation"
},
"id": "/subscriptions/<Subscription ID>/resourceGroups/mylocal-rg/providers/Microsoft.AzureStackHCI/galleryimages/mylocal-storacctimage",
"location": "eastus",
"name": "windos",
"properties": {
"identifier": null,
"imagePath": null,
"osType": "Windows",
"provisioningState": "Succeeded",
"status": {
"downloadStatus": {
"downloadSizeInMB": 7876
},
"progressPercentage": 100,
"provisioningStatus": {
"operationId": "cdc9c9a8-03a1-4fb6-8738-7a8550c87fd1*31CE1EA001C4B3E38EE29B78ED1FD47CCCECF78B4CEA9E9A85C0BAEA5F6D80CA",
"status": "Succeeded"
}
},
"storagepathId": "/subscriptions/<Subscription ID>/resourceGroups/mylocal-rg/providers/Microsoft.AzureStackHCI/storagecontainers/mylocal-storagepath",
"version": null
},
"resourceGroup": "mylocal-rg",
"systemData": {
"createdAt": "2023-11-03T20:17:10.971662+00:00",
"createdBy": "guspinto@contoso.com",
"createdByType": "User",
"lastModifiedAt": "2023-11-03T21:08:01.190475+00:00",
"lastModifiedBy": "319f651f-7ddb-4fc6-9857-7aef9250bd05",
"lastModifiedByType": "Application"
},
"tags": null,
"type": "microsoft.azurestackhci/galleryimages"
}
PS C:\Users\azcli>
Wyświetlanie listy obrazów maszyn wirtualnych
Aby wybrać obraz do zarządzania, musisz wyświetlić listę obrazów maszyn wirtualnych.
Wykonaj następujące kroki, aby wyświetlić listę obrazów maszyn wirtualnych przy użyciu interfejsu wiersza polecenia platformy Azure.
Uruchom program Powershell jako Administrator.
Ustaw parametry.
$subscription = "<Subscription ID associated with your Azure Local>" $resource_group = "<Resource group name for your Azure Local>"
Wyświetl listę wszystkich obrazów maszyn wirtualnych skojarzonych z lokalną platformą Azure. Uruchom następujące polecenie:
az stack-hci-vm image list --subscription $subscription --resource-group $resource_group
W zależności od używanego polecenia zostanie wyświetlony odpowiedni zestaw obrazów skojarzonych z lokalną platformą Azure.
- Jeśli określisz tylko subskrypcję, polecenie wyświetli listę wszystkich obrazów w subskrypcji.
- Jeśli określisz zarówno subskrypcję, jak i grupę zasobów, polecenie wyświetli listę wszystkich obrazów w grupie zasobów.
Te obrazy obejmują:
- Obrazy maszyn wirtualnych z obrazów z witryny Marketplace.
- Obrazy niestandardowe, które znajdują się na koncie usługi Azure Storage lub znajdują się w udziale lokalnym w systemie lub kliencie połączonym z systemem.
Oto przykładowe dane wyjściowe.
PS C:\Users\azcli> az stack-hci-vm image list --subscription "<Subscription ID>" --resource-group "myhci-rg"
Command group 'stack-hci-vm' is experimental and under development. Reference and support levels: https://aka.ms/CLI_refstatus
[
{
"extendedLocation": {
"name": "/subscriptions/<Subscription ID>/resourcegroups/myhci-rg/providers/microsoft.extendedlocation/customlocations/myhci-cl",
"type": "CustomLocation"
},
"id": "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/microsoft.azurestackhci/marketplacegalleryimages/w
inServer2022Az-01",
"location": "eastus",
"name": "winServer2022Az-01",
"properties": {
"hyperVGeneration": "V2",
"identifier": {
"offer": "windowsserver",
"publisher": "microsoftwindowsserver",
"sku": "2022-datacenter-azure-edition-core"
},
"imagePath": null,
"osType": "Windows",
"provisioningState": "Succeeded",
"status": {
"downloadStatus": {
"downloadSizeInMB": 6710
},
"progressPercentage": 100,
"provisioningStatus": {
"operationId": "19742d69-4a00-4086-8f17-4dc1f7ee6681*E1E9889F0D1840B93150BD74D428EAE483CB67B0904F9A198C161AD471F670ED",
"status": "Succeeded"
}
},
"storagepathId": null,
"version": {
"name": "20348.2031.231006",
"properties": {
"storageProfile": {
"osDiskImage": {
"sizeInMB": 130050
}
}
}
}
},
"resourceGroup": "mylocal-rg",
"systemData": {
"createdAt": "2023-10-30T21:44:53.020512+00:00",
"createdBy": "guspinto@contoso.com",
"createdByType": "User",
"lastModifiedAt": "2023-10-30T22:08:25.495995+00:00",
"lastModifiedBy": "319f651f-7ddb-4fc6-9857-7aef9250bd05",
"lastModifiedByType": "Application"
},
"tags": {},
"type": "microsoft.azurestackhci/marketplacegalleryimages"
}
]
PS C:\Users\azcli>
Aby uzyskać więcej informacji na temat tego polecenia interfejsu wiersza polecenia, zobacz az stack-hci-vm image list.
Wyświetlanie właściwości obrazu maszyny wirtualnej
Przed użyciem obrazu do utworzenia maszyny wirtualnej możesz wyświetlić właściwości obrazów maszyn wirtualnych. Wykonaj następujące kroki, aby wyświetlić właściwości obrazu:
Wykonaj następujące kroki, aby wyświetlić właściwości obrazu przy użyciu interfejsu wiersza polecenia platformy Azure:
Uruchom program Powershell jako Administrator.
Ustaw następujące parametry.
$subscription = "<Subscription ID>" $resource_group = "<Azure Local resource group>" $mktplaceImage = "<Marketplace image name>"
Właściwości obrazu można wyświetlić na dwa różne sposoby: określ identyfikator lub określ nazwę i grupę zasobów. Wykonaj następujące kroki podczas określania identyfikatora obrazu witryny Marketplace:
Ustaw następujący parametr.
$mktplaceImageID = "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/Microsoft.AzureStackHCI/galleryimages/mylocal-marketplaceimage"
Uruchom następujące polecenie, aby wyświetlić właściwości.
az stack-hci-vm image show --ids $mktplaceImageID
Oto przykładowe dane wyjściowe dla tego polecenia:
PS C:\Users\azcli> az stack-hci-vm image show --ids $mktplaceImageID Command group 'stack-hci-vm' is experimental and under development. Reference and support levels: https://aka.ms/CLI_refstatus { "extendedLocation": { "name": "/subscriptions/<Subscription ID>/resourcegroups/myhci-rg/providers/microsoft.extendedlocation/customlocations/mylocal-cl", "type": "CustomLocation" }, "id": "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/Microsoft.AzureStackHCI/galleryimages/mylocal-marketplaceimage", "location": "eastus", "name": "mylocal-marketplaceimage", "properties": { "containerName": null, "hyperVGeneration": null, "identifier": null, "imagePath": null, "osType": "Windows", "provisioningState": "Succeeded", "status": null, "version": null }, "resourceGroup": "mylocal-rg", "systemData": { "createdAt": "2022-08-05T20:52:38.579764+00:00", "createdBy": "guspinto@microsoft.com", "createdByType": "User", "lastModifiedAt": "2022-08-05T20:52:38.579764+00:00", "lastModifiedBy": "guspinto@microsoft.com", "lastModifiedByType": "User" }, "tags": null, "type": "microsoft.azurestackhci/galleryimages" } PS C:\Users\azcli>
Usuwanie obrazu maszyny wirtualnej
Możesz usunąć obraz maszyny wirtualnej, jeśli pobieranie zakończy się niepowodzeniem z jakiegoś powodu lub jeśli obraz nie jest już potrzebny. Wykonaj następujące kroki, aby usunąć obrazy maszyn wirtualnych.
Uruchom program Powershell jako Administrator.
Ustaw następujące parametry:
$subscription = "<Subscription ID>" $resource_group = "<Azure Local resource group>" $mktplaceImage = "<Markeplace image name>"
Usuń istniejący obraz maszyny wirtualnej. Uruchom następujące polecenie:
az stack-hci-vm image delete --subscription $subscription --resource-group $resource_group --name $mktplaceImage --yes
Obraz można usunąć na dwa sposoby:
- Określ nazwę i grupę zasobów.
- Określ identyfikator.
Po usunięciu obrazu możesz sprawdzić, czy obraz zostanie usunięty. Oto przykładowe dane wyjściowe, gdy obraz został usunięty, określając nazwę i grupę zasobów.
PS C:\Users\azcli> $subscription = "<Subscription ID>"
PS C:\Users\azcli> $resource_group = "mylocal-rg"
PS C:\Users\azcli> $mktplaceImage = "mymylocal-marketplaceimage"
PS C:\Users\azcli> az stack-hci-vm image delete --name $mktplaceImage --resource-group $resource_group
Command group 'stack-hci-vm' is experimental and under development. Reference and support levels: https://aka.ms/CLI_refstatus
Are you sure you want to perform this operation? (y/n): y
PS C:\Users\azcli> az stack-hci-vm image show --name $mktplaceImage --resource-group $resource_group
Command group 'stack-hci-vm' is experimental and under development. Reference and support levels: https://aka.ms/CLI_refstatus
ResourceNotFound: The Resource 'Microsoft.AzureStackHCI/marketplacegalleryimages/myhci-marketplaceimage' under resource group 'mylocal-rg' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix
PS C:\Users\azcli>