Tworzenie obrazu maszyny wirtualnej usługi Azure Stack HCI przy użyciu obrazów w udziale lokalnym

Dotyczy: Azure Stack HCI, wersja 23H2

W tym artykule opisano sposób tworzenia obrazów maszyn wirtualnych dla usługi Azure Stack HCI przy użyciu obrazów źródłowych z udziału lokalnego w klastrze. Obrazy maszyn wirtualnych można tworzyć przy użyciu Azure Portal lub interfejsu wiersza polecenia platformy Azure, a następnie użyć tych obrazów maszyn wirtualnych do tworzenia maszyn wirtualnych usługi Arc w usłudze Azure Stack HCI.

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.

  • Masz dostęp do wdrożonego systemu usługi Azure Stack HCI, ma mostek zasobów usługi Arc i lokalizację niestandardową.

    • Przejdź do strony Przegląd > serwer w zasobie systemu Azure Stack HCI. Sprawdź, czy usługa Azure Arc jest wyświetlana jako Połączono. Powinna zostać również wyświetlona lokalizacja niestandardowa i mostek zasobów usługi Arc dla klastra.

      Zrzut ekranu przedstawiający stronę Przegląd w zasobie klastra usługi Azure Stack HCI przedstawiający usługę Azure Arc jako połączoną.

  • W przypadku obrazów niestandardowych w udziale lokalnym w usłudze Azure Stack HCI będziesz mieć następujące dodatkowe wymagania wstępne:

    • Należy mieć dysk VHD/VHDX przekazany do udziału lokalnego w klastrze usługi Azure Stack HCI.
    • 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).
    • Obraz powinien znajdować się na udostępnionym woluminie klastra dostępnym dla wszystkich serwerów w klastrze. Obsługiwane są systemy operacyjne Windows i Linux.

Dodawanie obrazu maszyny wirtualnej z obrazu w udziale lokalnym

Obraz maszyny wirtualnej można utworzyć na podstawie obrazu w lokalnym udziale klastra, a następnie użyć tego obrazu do wdrożenia maszyn wirtualnych w klastrze usługi Azure Stack HCI.

Wykonaj następujące kroki, aby utworzyć obraz maszyny wirtualnej przy użyciu interfejsu wiersza polecenia platformy Azure.

Logowanie i ustawianie subskrypcji

  1. Nawiąż połączenie z serwerem w systemie Azure Stack HCI.

  2. Zaloguj się. Wpisz:

    az login --use-device-code
    
  3. Ustaw subskrypcję.

    az account set --subscription <Subscription ID>
    

Ustawianie niektórych parametrów

  1. Ustaw subskrypcję, grupę zasobów, lokalizację, typ systemu operacyjnego dla obrazu. Zastąp parametry odpowiednimi < > wartościami.

    $subscription = "<Subscription ID>"
    $resource_group = "<Resource group>"
    $location = "<Location for your Azure Stack HCI cluster>"
    $imageName = <VM image name>
    $imageSourcePath = <path to the source image>
    $osType = "<OS of source image>"
    

    Parametry opisano w poniższej tabeli:

    Parametr Opis
    subscription Grupa zasobów klastra usługi Azure Stack HCI skojarzyna z tym obrazem.
    resource_group Grupa zasobów klastra usługi Azure Stack HCI skojarzyna z tym obrazem.
    location Lokalizacja klastra usługi Azure Stack HCI. Na przykład może to być eastus.
    image-path 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.
    name Ścieżka do obrazu galerii źródłowej (tylko VHDX) w klastrze. Na przykład C:\OSImages\winos.vhdx. Zapoznaj się z wymaganiami wstępnymi obrazu źródłowego.
    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 = "myhci-rg"
    PS C:\Users\azcli> $location = "eastus"
    PS C:\Users\azcli> $osType = "Windows"
    PS C:\ClusterStorage\Volume1> $imageName = "myhci-localimage"
    PS C:\ClusterStorage\Volume1> $imageSourcePath = "C:\ClusterStorage\Volume1\Windows_K8s_17763.2928.220505-1621_202205101158.vhdx"
    

Tworzenie obrazu maszyny wirtualnej na podstawie obrazu w udziale lokalnym

  1. Wybierz lokalizację niestandardową do wdrożenia obrazu maszyny wirtualnej. Lokalizacja niestandardowa powinna odpowiadać lokalizacji niestandardowej dla klastra usługi Azure Stack HCI. Pobierz identyfikator lokalizacji niestandardowej dla klastra usługi Azure Stack HCI. Uruchom następujące polecenie:

    $customLocationID=(az customlocation show --resource-group $resource_group --name "<custom location name for HCI cluster>" --query id -o tsv)
    
  2. Utwórz obraz maszyny wirtualnej rozpoczynający się od określonego obrazu w udziale lokalnym w klastrze usługi Azure Stack HCI.

    az stack-hci-vm image create --subscription $subscription --resource-group $resource_group --custom-location $customLocationID --location $location --image-path $ImageSourcePath --name $ImageName --os-type $osType --storage-path-id $storagepathid
    
    

    Zadanie wdrożenia zostanie uruchomione 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 w udziale lokalnym i przepustowości sieci dostępnej do pobrania.

Oto przykładowe dane wyjściowe:

PS C:\Users\azcli> $customLocationID=(az customlocation show --resource-group $resource_group --name "myhci-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 --image-path $ImageSourcePath --name $ImageName --os-type $osType --storage-path-id $storagepathid
type="CustomLocation" --location $Location --name $mktplaceImage --os-type $osType --image-path $mktImageSourcePath
Command group 'azurestackhci' 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/galleryimages/myhci-localimage",
  "location": "eastus",
  "name": "myhci-localimage",
  "properties": {
    "identifier": null,
    "imagePath": null,
    "osType": "Windows",
    "provisioningState": "Succeeded",
    "status": {
      "downloadStatus": {},
      "progressPercentage": 100,
      "provisioningStatus": {
        "operationId": "82f58893-b252-43db-97a9-258f6f7831d9*43114797B86E6D2B28C4B52B02302C81C889DABDD9D890F993665E223A5947C3",
        "status": "Succeeded"
      }
    },
    "storagepathId": "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/Microsoft.AzureStackHCI/storagecontainers/myhci-storagepath",
    "version": {
      "name": null,
      "properties": {
        "storageProfile": {
          "osDiskImage": {}
        }
      }
    }
  },
  "resourceGroup": "myhci-rg",
  "systemData": {
    "createdAt": "2023-11-02T06:15:10.450908+00:00",
    "createdBy": "guspinto@contoso.com",
    "createdByType": "User",
    "lastModifiedAt": "2023-11-02T06:15:56.689323+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.

  1. Uruchom program PowerShell jako administrator.

  2. Ustaw niektóre parametry.

    $subscription = "<Subscription ID associated with your cluster>"
    $resource_group = "<Resource group name for your cluster>"
    
  3. Wyświetl listę wszystkich obrazów maszyn wirtualnych skojarzonych z klastrem. Uruchom następujące polecenie:

    az stack-hci-vm image list --subscription $subscription --resource-group $resource_group
    

    W zależności od użytego polecenia zostanie wyświetlony odpowiedni zestaw obrazów skojarzonych z klastrem usługi Azure Stack HCI.

    • 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 znajdujące się na koncie usługi Azure Storage lub znajdują się w udziale lokalnym w klastrze lub kliencie połączonym z klastrem.

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": "myhci-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>

Wyświetlanie właściwości obrazu maszyny wirtualnej

Możesz 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 za pomocą interfejsu wiersza polecenia platformy Azure:

  1. Uruchom program PowerShell jako administrator.

  2. Ustaw następujące parametry.

    $subscription = "<Subscription ID>"
    $resource_group = "<Cluster 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/myhci-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/myhci-cl",
          "type": "CustomLocation"
        },
        "id": "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/Microsoft.AzureStackHCI/galleryimages/myhci-marketplaceimage",
        "location": "eastus",
        "name": "myhci-marketplaceimage",
        "properties": {
          "containerName": null,
          "hyperVGeneration": null,
          "identifier": null,
          "imagePath": null,
          "osType": "Windows",
          "provisioningState": "Succeeded",
          "status": null,
          "version": null
        },
        "resourceGroup": "myhci-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 nie powiedzie się 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 = "<Cluster resource group>"
    $galleryImageName = "<Gallery 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
    

Możesz usunąć obraz 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 = "myhci-rg"
PS C:\Users\azcli> $mktplaceImage = "myhci-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 'myhci-rg' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix
PS C:\Users\azcli>

Następne kroki