Partager via


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

S’applique à : Azure Local, version 23H2

Cet article explique comment créer des images de machine virtuelle pour Azure Local à l’aide d’images sources à partir d’un partage local. Vous pouvez créer des images de machine virtuelle à l’aide de la Portail Azure ou d’Azure CLI, puis utiliser ces images de machine virtuelle pour créer des machines virtuelles Arc sur Azure Local.

Prérequis

Avant de commencer, vérifiez que les conditions préalables suivantes sont remplies.

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

  • Pour les images personnalisées dans un partage local sur votre local Azure, vous disposez des prérequis supplémentaires suivants :

    • Vous devez avoir un disque dur virtuel/VHDX chargé sur un partage local sur votre système.
    • L’image VHDX doit être de type Gen2 et le démarrage sécurisé est activé.
    • L’image VHDX doit être préparée à l’aide sysprep /generalize /shutdown /oobede . Pour plus d’informations, consultez les options de ligne de commande Sysprep.
    • L’image doit résider sur un volume partagé de cluster disponible pour toutes les machines de l’instance. Les systèmes d’exploitation Windows et Linux sont pris en charge.

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

Vous créez une image de machine virtuelle à partir d’une image dans un partage local de votre système, puis utilisez cette image pour déployer des machines virtuelles sur votre local Azure.

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 ordinateur sur votre local Azure.

  2. Se connecter. 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 par < > les valeurs appropriées.

    $subscription = "<Subscription ID>"
    $resource_group = "<Resource group>"
    $location = "<Location for your Azure Local>"
    $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 d’abonnements pour Azure Local que vous associez à cette image.
    resource_group Groupe de ressources pour Azure Local que vous associez à cette image.
    location Emplacement de votre local Azure. Par exemple, cela pourrait être 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 le mot clé Windows.
    name Chemin d’accès à l’image de la galerie source (VHDX uniquement) sur votre système. Par exemple, C :\OSImages\winos.vhdx. Consultez les conditions préalables 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 = "mylocalrg"
    PS C:\Users\azcli> $location = "eastus"
    PS C:\Users\azcli> $osType = "Windows"
    PS C:\ClusterStorage\Volume1> $imageName = "mylocal-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 le 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 local Azure. Obtenez l’ID d’emplacement personnalisé de votre local Azure. Exécutez la commande suivante :

    $customLocationID=(az customlocation show --resource-group $resource_group --name "<custom location name for system>" --query id -o tsv)
    
  2. Créez l’image de machine virtuelle à partir d’une image spécifiée dans un partage local sur votre instance Azure Local.

    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 s’est assuré 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 d’images 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/mylocal-rg/providers/Microsoft.ExtendedLocation/customLocations/mylocal-cl",
    "type": "CustomLocation"
  },
  "id": "/subscriptions/<Subscription ID>/resourceGroups/mylocal-rg/providers/Microsoft.AzureStackHCI/galleryimages/mylocal-localimage",
  "location": "eastus",
  "name": "mylocal-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 Azure Local>"
    $resource_group = "<Resource group name for your Azure Local>"
    
  3. Répertoriez toutes les images de machine virtuelle associées à votre local Azure. 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é à votre local Azure est répertorié.

    • Si vous spécifiez uniquement l’abonnement, la commande répertorie toutes les images de l’abonnement.
    • Si vous spécifiez 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 Stockage Azure ou se trouvent dans un partage local sur votre système ou un client connecté à votre système.

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

Pour plus d’informations sur cette commande CLI, consultez az stack-hci-vm image list.

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

Vous pouvez afficher les propriétés des images de machine virtuelle avant d’utiliser l’image pour créer une machine virtuelle. Procédez comme suit 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 :

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

  2. Définissez les paramètres suivants.

    $subscription = "<Subscription ID>"
    $resource_group = "<Azure Local resource group>"
    $mktplaceImage = "<Marketplace image name>"
    
  3. Vous pouvez afficher les propriétés d’image de deux façons 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/mylocal-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/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> 
      

Supprimer l’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 = "<Azure Local resource group>"
    $mktplaceImage = "<Markeplace 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 vérifier 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 = "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>

Étapes suivantes