Créer une image de machine virtuelle Azure Stack HCI à l’aide d’une image dans le compte de stockage Azure

S’applique à : Azure Stack HCI, version 23H2

Cet article explique comment créer des images de machine virtuelle pour votre instance Azure Stack HCI à l’aide d’images sources à partir d’un compte de stockage Azure. Vous pouvez créer des images de machine virtuelle à l’aide de l’Portail Azure ou d’Azure CLI, puis utiliser ces images de machine virtuelle pour créer des machines virtuelles Arc sur votre instance Azure Stack HCI.

Prérequis

Avant de commencer, assurez-vous que les conditions préalables suivantes sont remplies.

  • Veillez à passer en revue et à remplir les conditions préalables.

  • Vous avez accès à un système Azure Stack HCI déployé, doté d’un pont de ressources Arc et d’un emplacement personnalisé.

    • Accédez à la page Vue d’ensemble > du serveur dans la ressource système Azure Stack HCI. Vérifiez qu’Azure Arc s’affiche comme Connecté. Vous devez également voir un emplacement personnalisé et un pont de ressources Arc pour votre cluster.

      Capture d’écran de la page Vue d’ensemble de la ressource de cluster Azure Stack HCI montrant Azure Arc comme connecté.

  • Pour les images personnalisées dans le compte de stockage Azure, vous disposez des prérequis supplémentaires suivants :

  • Si vous utilisez un client pour vous connecter à votre cluster Azure Stack HCI, consultez Se connecter à Azure Stack HCI via le client Azure CLI.

  • Vérifiez que vous disposez du rôle Contributeur aux données blob du stockage sur le compte de stockage que vous utilisez pour l’image. Pour plus d’informations, consultez Attribuer un rôle Azure pour l’accès aux données d’objet blob.

  • Vérifiez que vous chargez votre disque dur virtuel ou VHDX en tant qu’image d’objet blob de pages dans le compte de stockage. Seules les images d’objets blob de pages sont prises en charge pour créer des images de machine virtuelle via le compte de stockage.

Ajouter une image de machine virtuelle à partir d’un compte de stockage Azure

Vous créez une image de machine virtuelle à partir d’une image dans un compte de stockage Azure, puis utilisez cette image pour déployer des machines virtuelles sur votre cluster Azure Stack HCI.

Suivez ces étapes pour créer une image de machine virtuelle à l’aide d’Azure CLI.

Se connecter et définir un abonnement

  1. Connectez-vous à un serveur sur votre système Azure Stack HCI.

  2. Connectez-vous. Tapez :

    az login --use-device-code
    
  3. Définissez votre abonnement.

    az account set --subscription <Subscription ID>
    

Définir les paramètres requis

  1. Définissez votre abonnement, votre groupe de ressources, votre emplacement, le chemin d’accès à l’image dans le partage local et le type de système d’exploitation pour l’image. Remplacez les paramètres dans par < > les valeurs appropriées.
$subscription = "<Subscription ID>"
$resource_group = "<Resource group>"
$location = "<Location for your Azure Stack HCI cluster>"
$osType = "<OS of source image>"
$imageName = "<VM image name>"
$imageSourcePath = "<path to the source image in the Storage account>"

Les paramètres sont décrits dans le tableau suivant :

Paramètre Description
subscription Groupe de ressources pour le cluster Azure Stack HCI que vous associez à cette image.
resource_group Groupe de ressources pour le cluster Azure Stack HCI que vous associez à cette image.
location Emplacement de votre cluster Azure Stack HCI. Par exemple, il peut s’agir eastusde .
imageName Nom de l’image de machine virtuelle créée à partir de l’image dans votre partage local.
Remarque : Azure rejette tous les noms qui contiennent le mot clé Windows.
imageSourcePath Chemin d’accès à l’URL SAS d’objet blob de l’image dans le compte de stockage. Pour plus d’informations, consultez les instructions sur l’obtention d’une URL SAS d’objet blob de l’image dans le compte de stockage.
Remarque : assurez-vous que tous les ampersands du chemin sont placés dans une séquence d’échappement avec des guillemets doubles et que la chaîne de chemin d’accès entière est encapsulée entre guillemets simples.
os-type Système d’exploitation associé à l’image source. Il peut s’agir de Windows ou Linux.

Voici un exemple de sortie :

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:\Users\azcli> $imageName = "myhci-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'

Créer une image de machine virtuelle à partir d’une image dans un compte de stockage Azure

  1. Sélectionnez un emplacement personnalisé pour déployer votre image de machine virtuelle. L’emplacement personnalisé doit correspondre à l’emplacement personnalisé de votre cluster Azure Stack HCI. Obtenez l’ID d’emplacement personnalisé pour votre cluster Azure Stack HCI. Exécutez la commande suivante :

    $customLocationID=(az customlocation show --resource-group $resource_group --name "<custom location name for HCI cluster>" --query id -o tsv)
    
  2. Créez l’image de machine virtuelle en commençant par une image de place de marché spécifiée. Veillez à spécifier l’offre, l’éditeur, la référence SKU et la version pour l’image de la Place de marché.

    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
    

    Un travail de déploiement démarre pour l’image de machine virtuelle.

    Dans cet exemple, le chemin de stockage a été spécifié à l’aide de l’indicateur --storage-path-id et a fait en sorte que les données de charge de travail (y compris la machine virtuelle, l’image de machine virtuelle, le disque de données sans système d’exploitation) soient placées dans le chemin de stockage spécifié.

    Si l’indicateur n’est pas spécifié, les données de charge de travail sont automatiquement placées dans un chemin de stockage haute disponibilité.

Le déploiement de l’image prend quelques minutes. Le temps nécessaire au téléchargement de l’image dépend de la taille de l’image dans le compte de stockage Azure et de la bande passante réseau disponible pour le téléchargement.

Voici un exemple de sortie :

PS > $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 --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/myhci-rg/providers/Microsoft.ExtendedLocation/customLocations/myhci-cl",
    "type": "CustomLocation"
  },
  "id": "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/Microsoft.AzureStackHCI/galleryimages/myhci-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/myhci-rg/providers/Microsoft.AzureStackHCI/storagecontainers/myhci-storagepath",
    "version": null
  },
  "resourceGroup": "myhci-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>

Répertorier les images de machine virtuelle

Vous devez afficher la liste des images de machine virtuelle pour choisir une image à gérer.

Suivez ces étapes pour répertorier l’image de machine virtuelle à l’aide d’Azure CLI.

  1. Exécutez PowerShell ISE en tant qu’administrateur.

  2. Définissez certains paramètres.

    $subscription = "<Subscription ID associated with your cluster>"
    $resource_group = "<Resource group name for your cluster>"
    
  3. Répertoriez toutes les images de machine virtuelle associées à votre cluster. Exécutez la commande suivante :

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

    Selon la commande utilisée, un ensemble d’images correspondant associé au cluster Azure Stack HCI est répertorié.

    • Si vous spécifiez uniquement l’abonnement, la commande répertorie toutes les images de l’abonnement.
    • Si vous spécifiez à la fois l’abonnement et le groupe de ressources, la commande répertorie toutes les images du groupe de ressources.

    Ces images sont les suivantes :

    • Images de machine virtuelle à partir d’images de la Place de marché.
    • Images personnalisées qui résident dans votre compte de stockage Azure ou qui se trouvent dans un partage local sur votre cluster ou un client connecté au cluster.

Voici un exemple de sortie.

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>

Afficher les propriétés de l’image de machine virtuelle

Vous souhaiterez peut-être afficher les propriétés des images de machine virtuelle avant d’utiliser l’image pour créer une machine virtuelle. Pour afficher les propriétés de l’image, procédez comme suit :

Pour utiliser Azure CLI pour afficher les propriétés d’une image, procédez comme suit :

  1. Exécutez PowerShell ISE en tant qu’administrateur.

  2. Définissez les paramètres suivants.

    $subscription = "<Subscription ID>"
    $resource_group = "<Cluster resource group>"
    $mktplaceImage = "<Marketplace image name>"
    
  3. Vous pouvez afficher les propriétés de l’image de deux manières différentes : spécifier l’ID ou spécifier le nom et le groupe de ressources. Effectuez les étapes suivantes lors de la spécification de l’ID d’image de la Place de marché :

    1. Définissez le paramètre suivant.

      $mktplaceImageID = "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/Microsoft.AzureStackHCI/galleryimages/myhci-marketplaceimage"
      
    2. Exécutez la commande suivante pour afficher les propriétés.

      az stack-hci-vm image show --ids $mktplaceImageID

      Voici un exemple de sortie pour cette commande :

      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> 
      

Supprimer une image de machine virtuelle

Vous pouvez supprimer une image de machine virtuelle si le téléchargement échoue pour une raison quelconque ou si l’image n’est plus nécessaire. Procédez comme suit pour supprimer les images de machine virtuelle.

  1. Exécutez PowerShell ISE en tant qu’administrateur.

  2. Définissez les paramètres suivants.

    $subscription = "<Subscription ID>"
    $resource_group = "<Cluster resource group>"
    $galleryImageName = "<Gallery image name>"    
    
  3. Supprimez une image de machine virtuelle existante. Exécutez la commande suivante :

    az stack-hci-vm image delete --subscription $subscription --resource-group $resource_group --name $mktplaceImage --yes
    

Vous pouvez supprimer l’image de deux façons :

  • Spécifiez le nom et le groupe de ressources.
  • Spécifiez l’ID.

Une fois que vous avez supprimé une image, vous pouvez case activée que l’image est supprimée. Voici un exemple de sortie lorsque l’image a été supprimée en spécifiant le nom et le groupe de ressources.

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>

Étapes suivantes