Creare un'immagine di macchina virtuale locale di Azure usando l'immagine nell'account Archiviazione di Azure
Si applica a: Azure Local 2311.2 e versioni successive
Questo articolo descrive come creare immagini di macchine virtuali per Azure locale usando immagini di origine da un account di archiviazione di Azure. È possibile creare immagini di macchine virtuali usando il portale di Azure o l'interfaccia della riga di comando di Azure e quindi usare queste immagini di macchina virtuale per creare macchine virtuali Arc in Locale di Azure.
Prerequisiti
Prima di iniziare, assicurarsi che i prerequisiti seguenti siano completati.
Assicurarsi di esaminare e completare i prerequisiti.
Per le immagini personalizzate nell'account Archiviazione di Azure, sono disponibili i prerequisiti aggiuntivi seguenti:
- Dovresti avere un VHD caricato nel tuo account di archiviazione di Azure. Scopri come caricare un'immagine VHD nell'account di Archiviazione di Azure.
- Assicurati di caricare il tuo VHD o VHDX come immagine di blob di pagina nell'account di archiviazione. Solo le immagini blob di pagine sono supportate per creare immagini di macchine virtuali tramite l'account di archiviazione.
- Se si usa un VHDX:
- L'immagine VHDX deve essere di tipo Gen 2 e l'avvio protetto abilitato.
- L'immagine VHDX deve essere preparata usando
sysprep /generalize /shutdown /oobe
. Per altre informazioni, vedere Opzioni della riga di comando sysprep.
Se si usa un client per connettersi all'istanza locale di Azure, vedere Connettersi all'istanza locale di Azure tramite il client dell'interfaccia della riga di comando di Azure.
Assicurarsi di disporre del ruolo Collaboratore ai dati dei BLOB di archiviazione nell'account di archiviazione usato per l'immagine. Per altre informazioni, vedere Assegnare un ruolo di Azure per l'accesso ai dati BLOB.
Aggiungere un'immagine VM dall'account di archiviazione di Azure
Si crea un'immagine di macchina virtuale a partire da un'immagine nell'account Archiviazione di Azure e quindi si usa questa immagine per distribuire le macchine virtuali nell'istanza locale di Azure.
Seguire questa procedura per creare un'immagine di macchina virtuale usando l'interfaccia della riga di comando di Azure.
Accedere e impostare la sottoscrizione
Connettersi a un computer in Locale di Azure.
Accedi. Tipo:
az login --use-device-code
Impostare la sottoscrizione.
az account set --subscription <Subscription ID>
Impostare alcuni parametri
- Impostare la sottoscrizione, il gruppo di risorse, la posizione, il percorso dell'immagine nella condivisione locale e il tipo di sistema operativo per l'immagine. Sostituire i parametri in
< >
con i valori appropriati.
$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>"
I parametri vengono descritti nella tabella seguente:
Parametro | Descrizione |
---|---|
subscription |
Sottoscrizione per Azure Locale associata a questa immagine. |
resource_group |
Gruppo di risorse per Azure Locale associato a questa immagine. |
location |
Posizione per la tua istanza locale Azure. Ad esempio, potrebbe essere eastus . |
imageName |
Nome dell'immagine della macchina virtuale creata a partire dall'immagine nella condivisione locale. Nota: Azure rifiuta tutti i nomi che contengono la parola chiave Windows. |
imageSourcePath |
Percorso dell'URL della firma di accesso condiviso Blob dell'immagine nell'account di archiviazione. Per ulteriori informazioni, consulta le istruzioni su come ottenere un URL SAS del BLOB dell'immagine nell'account di archiviazione. Nota: assicurarsi che tutti gli ampersand nel percorso siano preceduti da un backslash e che l'intera stringa di percorso venga racchiusa tra virgolette singole. |
os-type |
Sistema operativo associato all'immagine di origine. Può trattarsi di Windows o Linux. |
Di seguito è riportato un output di esempio:
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'
Creare un'immagine VM dall'immagine presente nell'account di Archiviazione Azure
Selezionare un percorso personalizzato per distribuire l'immagine della macchina virtuale. La posizione personalizzata dovrebbe corrispondere alla posizione personalizzata per il tuo Azure Locale. Ottieni l'ID della posizione personalizzata per il tuo Azure Locale. Esegui questo comando:
$customLocationID=(az customlocation show --resource-group $resource_group --name "<custom location name for your Azure Local>" --query id -o tsv)
Creare l'immagine della macchina virtuale a partire da un'immagine del marketplace specificata. Assicurarsi di specificare l'offerta, l'editore, lo SKU e la versione per l'immagine del marketplace.
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
Viene avviato un processo di distribuzione per l'immagine della macchina virtuale.
In questo esempio, il percorso di archiviazione è stato specificato usando il
--storage-path-id
flag e che ha verificato che i dati del carico di lavoro (inclusa la macchina virtuale, l'immagine della macchina virtuale, il disco dati non del sistema operativo) vengano inseriti nel percorso di archiviazione specificato.Se il flag non viene specificato, i dati del carico di lavoro vengono inseriti automaticamente in un percorso di archiviazione a disponibilità elevata.
Il completamento della distribuzione delle immagini richiede alcuni minuti. Il tempo necessario per scaricare l'immagine dipende dalle dimensioni dell'immagine nell'account Archiviazione di Azure e dalla larghezza di banda di rete disponibile per il download.
Di seguito è riportato un output di esempio:
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>
Elencare le immagini delle macchine virtuali
È necessario visualizzare l'elenco delle immagini delle macchine virtuali per scegliere un'immagine da gestire.
Seguire questa procedura per elencare l'immagine della macchina virtuale usando l'interfaccia della riga di comando di Azure.
Esegui PowerShell come amministratore.
Impostare alcuni parametri.
$subscription = "<Subscription ID associated with your Azure Local>" $resource_group = "<Resource group name for your Azure Local>"
Elencare tutte le immagini VM associate al tuo Azure Locale. Esegui questo comando:
az stack-hci-vm image list --subscription $subscription --resource-group $resource_group
A seconda del comando usato, viene elencato un set corrispondente di immagini associate all'istanza locale di Azure.
- Se si specifica solo la sottoscrizione, il comando elenca tutte le immagini nella sottoscrizione.
- Se si specificano sia la sottoscrizione che il gruppo di risorse, il comando elenca tutte le immagini nel gruppo di risorse.
Queste immagini includono:
- Immagini di macchine virtuali dalle immagini del Marketplace.
- Immagini personalizzate che risiedono nell'account Archiviazione di Azure o che si trovano in una condivisione locale nel sistema o in un client connesso al sistema.
Di seguito è riportato un output di esempio.
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>
Per ulteriori informazioni su questo comando CLI, vedere az stack-hci-vm image list.
Visualizzare le proprietà dell'immagine della macchina virtuale
È consigliabile visualizzare le proprietà delle immagini di macchina virtuale prima di usare l'immagine per creare una macchina virtuale. Seguire questa procedura per visualizzare le proprietà dell'immagine:
Seguire questa procedura per usare l'interfaccia della riga di comando di Azure per visualizzare le proprietà di un'immagine:
Esegui PowerShell come amministratore.
Impostare i parametri seguenti.
$subscription = "<Subscription ID>" $resource_group = "<Azure Local resource group>" $mktplaceImage = "<Marketplace image name>"
È possibile visualizzare le proprietà delle immagini in due modi diversi: specificare l'ID o specificare il nome e il gruppo di risorse. Per specificare l'ID immagine del Marketplace, seguire questa procedura:
Impostare il parametro seguente.
$mktplaceImageID = "/subscriptions/<Subscription ID>/resourceGroups/myhci-rg/providers/Microsoft.AzureStackHCI/galleryimages/mylocal-marketplaceimage"
Eseguire il comando seguente per visualizzare le proprietà.
az stack-hci-vm image show --ids $mktplaceImageID
Ecco un output di esempio per questo comando:
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>
Eliminare l'immagine della macchina virtuale
È possibile eliminare un'immagine di macchina virtuale se il download non riesce per qualche motivo o se l'immagine non è più necessaria. Seguire questa procedura per eliminare le immagini della macchina virtuale.
Esegui PowerShell come amministratore.
Imposta i parametri seguenti:
$subscription = "<Subscription ID>" $resource_group = "<Azure Local resource group>" $mktplaceImage = "<Markeplace image name>"
Rimuovere un'immagine di macchina virtuale esistente. Esegui questo comando:
az stack-hci-vm image delete --subscription $subscription --resource-group $resource_group --name $mktplaceImage --yes
È possibile eliminare l'immagine in due modi:
- Specificare il nome e il gruppo di risorse.
- Specificare l'ID.
Dopo aver eliminato un'immagine, è possibile verificare che l'immagine sia stata rimossa. Ecco un output di esempio quando l'immagine è stata eliminata specificando il nome e il gruppo di risorse.
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>