Créer une image de machine virtuelle locale Azure à l’aide d’une image dans Stockage Azure compte
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 de Stockage Azure compte. 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 Stockage Azure compte, vous disposez des prérequis supplémentaires suivants :
- Vous devez avoir un disque dur virtuel chargé dans votre compte Stockage Azure. Découvrez comment charger une image de disque dur virtuel dans votre compte Stockage Azure.
- 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.
- Si vous utilisez un VHDX :
- 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 /oobe
de . Pour plus d’informations, consultez les options de ligne de commande Sysprep.
Si vous utilisez un client pour vous connecter à votre instance Azure Local, consultez Se connecter à Azure Local via le client Azure CLI.
Assurez-vous que vous disposez du rôle Contributeur aux données Blob de 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.
Ajouter une image de machine virtuelle à partir d’un compte Stockage Azure
Vous créez une image de machine virtuelle à partir d’une image dans Stockage Azure compte, 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
Connectez-vous à un ordinateur sur votre local Azure.
Se connecter. Tapez :
az login --use-device-code
Définissez votre abonnement.
az account set --subscription <Subscription ID>
Définir les paramètres requis
- Définissez votre abonnement, groupe de ressources, emplacement, chemin d’accès à l’image dans le partage local et 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>"
$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 |
Abonnement 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 instance locale Azure. Par exemple, cela pourrait être eastus . |
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 la façon d’obtenir une URL SAS d’objet blob de l’image dans le compte de stockage. Remarque : assurez-vous que tous les ampersands du chemin d’accès sont placés en échappement avec des guillemets doubles et que la chaîne de chemin d’accès entière est encapsulée dans des 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 = "mylocal-rg"
PS C:\Users\azcli> $location = "eastus"
PS C:\Users\azcli> $osType = "Windows"
PS C:\Users\azcli> $imageName = "mylocal-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 Stockage Azure compte
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 your Azure Local>" --query id -o tsv)
Créez l’image de machine virtuelle à partir d’une image de la Place de marché spécifiée. Veillez à spécifier l’offre, l’éditeur, la référence SKU et la version de 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 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 Stockage Azure compte 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 "mylocal-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/mylocal-rg/providers/Microsoft.ExtendedLocation/customLocations/mylocal-cl",
"type": "CustomLocation"
},
"id": "/subscriptions/<Subscription ID>/resourceGroups/mylocal-rg/providers/Microsoft.AzureStackHCI/galleryimages/mylocal-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/mylocal-rg/providers/Microsoft.AzureStackHCI/storagecontainers/mylocal-storagepath",
"version": null
},
"resourceGroup": "mylocal-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.
Exécutez PowerShell ISE en tant qu’administrateur.
Définissez certains paramètres.
$subscription = "<Subscription ID associated with your Azure Local>" $resource_group = "<Resource group name for your Azure Local>"
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 :
Exécutez PowerShell ISE en tant qu’administrateur.
Définissez les paramètres suivants.
$subscription = "<Subscription ID>" $resource_group = "<Azure Local resource group>" $mktplaceImage = "<Marketplace image name>"
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é :
Définissez le paramètre suivant.
$mktplaceImageID = "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/Microsoft.AzureStackHCI/galleryimages/mylocal-marketplaceimage"
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.
Exécutez PowerShell ISE en tant qu’administrateur.
Définissez les paramètres suivants :
$subscription = "<Subscription ID>" $resource_group = "<Azure Local resource group>" $mktplaceImage = "<Markeplace image name>"
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>