Créer une image de machine virtuelle Azure Stack HCI à l’aide d’images dans un partage local

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 d’un partage local sur votre cluster. Vous pouvez créer des images de machine virtuelle à l’aide du 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 Serveur de vue d’ensemble > 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 un partage local sur votre instance Azure Stack HCI, vous disposez des prérequis supplémentaires suivants :

    • Vous devez avoir un disque dur virtuel/VHDX chargé sur un partage local sur votre cluster Azure Stack HCI.
    • L’image VHDX doit être de type Gen 2 et le démarrage sécurisé doit être activé.
    • L’image VHDX doit être préparée à l’aide de sysprep /generalize /shutdown /oobe. Pour plus d’informations, consultez Options de ligne de commande Sysprep.
    • L’image doit résider sur un volume partagé de cluster disponible pour tous les serveurs du cluster. Les systèmes d’exploitation Windows et Linux sont pris en charge.

Ajouter une image de machine virtuelle à partir d’une image dans un partage local

Vous créez une image de machine virtuelle à partir d’une image dans un partage local de votre cluster, 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, groupe de ressources, emplacement, 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>"
    $imageName = <VM image name>
    $imageSourcePath = <path to the source image>
    $osType = "<OS of source image>"
    

    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 de eastus.
    image-path 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 les mot clé Windows.
    name Chemin d’accès à l’image de la galerie source (VHDX uniquement) sur votre cluster. Par exemple, C :\OSImages\winos.vhdx. Consultez les prérequis de l’image source.
    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:\ClusterStorage\Volume1> $imageName = "myhci-localimage"
    PS C:\ClusterStorage\Volume1> $imageSourcePath = "C:\ClusterStorage\Volume1\Windows_K8s_17763.2928.220505-1621_202205101158.vhdx"
    

Créer une image de machine virtuelle à partir d’une image dans un partage local

  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 spécifiée dans un partage local sur votre cluster 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
    
    

    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 garanti que les données de charge de travail (y compris la machine virtuelle, l’image de machine virtuelle, le disque de données non du système d’exploitation) sont 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 pour télécharger l’image dépend de la taille de l’image dans le partage local et de la bande passante réseau disponible pour le téléchargement.

Voici un exemple de sortie :

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>

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