Udostępnij za pośrednictwem


Tworzenie lokalnego obrazu maszyny wirtualnej platformy Azure przy użyciu istniejących lokalnych maszyn wirtualnych platformy Azure z włączoną usługą Azure Arc

Dotyczy: Azure Local 2311.2 i nowsze

W tym artykule opisano sposób używania interfejsu azure Command-Line (CLI) do tworzenia obrazów maszyn wirtualnych dla usługi Azure Local przy użyciu istniejących lokalnych maszyn wirtualnych platformy Azure. Użyjesz dysku systemu operacyjnego lokalnej maszyny wirtualnej platformy Azure, aby utworzyć obraz galerii w środowisku lokalnym platformy Azure.

Wymagania wstępne

Przed rozpoczęciem upewnij się, że:

Tworzenie obrazu maszyny wirtualnej na podstawie istniejącej lokalnej maszyny wirtualnej platformy Azure

Utworzysz obraz maszyny wirtualnej rozpoczynający się od dysku systemu operacyjnego lokalnej maszyny wirtualnej platformy Azure, 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

  1. Nawiąż połączenie z maszyną na platformie Azure Local.

  2. Zaloguj. Typ:

    az login --use-device-code
    
  3. 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>"
$custom_location = "<Custom location for your Azure Local>"
$osType = "<OS of source VM>"
$imageName = "<VM image name>"
$sourceVmName = "<Name of source VM  in the Storage account>"

Parametry zostały opisane w poniższej tabeli:

Parametr Opis
subscription Subskrypcja lokalnego wystąpienia Azure, które jest skojarzone z tym obrazem.
resource_group Grupa zasobów lokalnego wystąpienia Azure, którą powiązujesz z tym obrazem.
location Lokalizacja dla Azure Local. Na przykład może to być eastus.
custom-location Identyfikator lokalizacji niestandardowej dla lokalnej platformy Azure.
name Nazwa obrazu maszyny wirtualnej utworzonego na bazie obrazu w lokalnym zasobie udostępnionym.
Uwaga: platforma Azure odrzuca wszystkie nazwy zawierające słowo kluczowe Windows.
source-vm Nazwa istniejącej lokalnej maszyny wirtualnej platformy Azure, której użyjesz do utworzenia obrazu maszyny wirtualnej.
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 = "mysub-id"
PS C:\Users\azcli> $resource_group = "mylocal-rg"
PS C:\Users\azcli> $location = "eastus"
PS C:\Users\azcli> $custom_location = "mylocal-cl"
PS C:\Users\azcli> $osType = "Windows"
PS C:\Users\azcli> $imageName = "mylocal-image"
PS C:\Users\azcli> $sourceVmName = "mysourcevm"

Tworzenie obrazu maszyny wirtualnej z lokalnej maszyny wirtualnej w Azure

Utwórz obraz maszyny wirtualnej na podstawie istniejącej maszyny wirtualnej. Uruchom następujące polecenie:

az stack-hci-vm image create -resource-group $resource_group --location $location --custom-location $custom_location --os-type $osType --source-vm $sourceVmName --name $imageName

Uruchamia się zadanie wdrożeniowe dla obrazu maszyny wirtualnej. Wdrożenie obrazu trwa kilka minut.

Oto przykładowe dane wyjściowe:

{
  "extendedLocation": {
    "name": "/subscriptions/mysub-id/resourceGroups/mylocal-rg/providers/Microsoft.ExtendedLocation/customLocations/mylocal-cl",
    "type": "CustomLocation"
  },
  "id": "/subscriptions/mysub-id/resourceGroups/mylocal-rg/providers/Microsoft.AzureStackHCI/galleryImages/mylocal-image",
  "location": "eastus",
  "name": "mylocal-image",
  "properties": {
    "cloudInitDataSource": null,
    "containerId": null,
    "hyperVGeneration": null,
    "identifier": null,
    "imagePath": null,
    "osType": "Windows",
    "provisioningState": "Succeeded",
    "sourceVirtualMachineId": "/subscriptions/mysub-id/resourceGroups/mylocal-rg/providers/Microsoft.HybridCompute/machines/mysourcevm/providers/Microsoft.AzureStackHCI/virtualMachineInstances/default",
    "status": {
      "downloadStatus": {
        "downloadSizeInMb": null
      },
      "errorCode": "",
      "errorMessage": "",
      "progressPercentage": null,
      "provisioningStatus": {
        "operationId": null,
        "status": null
      }
    },
    "version": {
      "name": null,
      "properties": {
        "storageProfile": {
          "osDiskImage": {
            "sizeInMb": null
          }
        }
      }
    }
  },
  "resourceGroup": "mylocal-rg",
  "systemData": {
    "createdAt": "2024-09-26T20:16:17.625002+00:00",
    "createdBy": "a5e473cb-e3e7-4035-b4da-290a65350ae1",
    "createdByType": "Application",
    "lastModifiedAt": "2024-09-26T20:16:17.625002+00:00",
    "lastModifiedBy": "a5e473cb-e3e7-4035-b4da-290a65350ae1",
    "lastModifiedByType": "Application"
  },
  "tags": null,
  "type": "microsoft.azurestackhci/galleryimages"
}

Lista 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.

  1. Uruchom program Powershell jako Administrator.

  2. Ustaw parametry.

    $subscription = "<Subscription ID associated with your Azure Local>"
    $resource_group = "<Resource group name for your Azure Local>"
    
  3. 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 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

Możesz chcieć wyświetlić właściwości obrazów maszyn wirtualnych przed użyciem obrazu do utworzenia maszyny wirtualnej. 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:

  1. Uruchom program Powershell jako Administrator.

  2. Ustaw następujące parametry.

    $subscription = "<Subscription ID>"
    $resource_group = "<Azure Local resource group>"
    $mktplaceImage = "<Marketplace image name>"
    
  3. 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:

    1. Ustaw następujący parametr.

      $mktplaceImageID = "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/Microsoft.AzureStackHCI/galleryimages/mylocal-marketplaceimage"
      
    2. 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.

  1. Uruchom program Powershell jako Administrator.

  2. Ustaw następujące parametry:

    $subscription = "<Subscription ID>"
    $resource_group = "<Azure Local resource group>"
    $mktplaceImage = "<Markeplace image name>"    
    
  3. 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>

Następne kroki