Spostare una macchina virtuale da Azure all'hub di Azure Stack
È possibile caricare un disco rigido virtuale da una macchina virtuale creata in Azure nell'istanza dell'hub di Azure Stack.
Preparare e scaricare il disco rigido virtuale da Azure
Trovare la sezione specifica per le proprie esigenze durante la preparazione del disco rigido virtuale.
- Seguire la procedura descritta nell'articolo Creare una macchina virtuale Windows da un disco specializzato usando PowerShell per preparare il disco rigido virtuale.
- Per distribuire le estensioni della macchina virtuale, assicurarsi che l'agente della macchina virtuale .msi disponibile.
Per informazioni e passaggi, vedere Panoramica dell'agente di macchine virtuali di Azure. Assicurarsi che l'estensione sia installata nella macchina virtuale prima dello spostamento della macchina virtuale. Se l'agente della macchina virtuale non è presente nel disco rigido virtuale, la distribuzione dell'estensione avrà esito negativo. Non è necessario impostare il profilo del sistema operativo durante il provisioning o impostare$vm.OSProfile.AllowExtensionOperations = $true
.
Verificare il disco rigido virtuale
Prima di caricare il disco rigido virtuale, è necessario verificare che il disco rigido virtuale soddisfi i requisiti. I dischi rigidi virtuali che non soddisfano i requisiti non riusciranno a caricare nell'hub di Azure Stack.
Verranno usati i moduli di PowerShell trovati con Hyper-V. L'attivazione di Hyper-V installa i moduli di PowerShell. È possibile verificare che il modulo sia disponibile aprendo PowerShell con un prompt con privilegi elevati ed eseguendo il cmdlet seguente:
Get-Command -Module hyper-v
Se non sono presenti i comandi Hyper-V, vedere Uso di Hyper-V e Windows PowerShell.
Ottenere il percorso del disco rigido virtuale nel computer. Eseguire il cmdlet seguente:
get-vhd <path-to-your-VHD>
Il cmdlet restituirà l'oggetto VHD e visualizzerà gli attributi, ad esempio:
ComputerName : YOURMACHINENAME Path : <path-to-your-VHD> VhdFormat : VHD VhdType : Fixed FileSize : 68719477248 Size : 68719476736 MinimumSize : 32212254720 LogicalSectorSize : 512 PhysicalSectorSize : 512 BlockSize : 0 ParentPath : DiskIdentifier : 3C084D21-652A-4C0E-B2D1-63A8E8E64C0C FragmentationPercentage : 0 Alignment : 1 Attached : False DiskNumber : IsPMEMCompatible : False AddressAbstractionType : None Number :
Con l'oggetto VHD verificare che soddisfi i requisiti per l'hub di Azure Stack.
- Il disco rigido virtuale è di tipo fisso.
- Il disco rigido virtuale ha dimensioni virtuali minime di almeno 20 MB.
- Il disco rigido virtuale è allineato.
- Lunghezza BLOB VHD = dimensioni virtuali + lunghezza piè di pagina vhd (512).
Inoltre, l'hub di Azure Stack supporta solo le immagini dalla generazione di macchine virtuali (1).
Se il disco rigido virtuale non è compatibile con l'hub di Azure Stack, sarà necessario tornare all'immagine di origine e Hyper-V, creare un disco rigido virtuale che soddisfi i requisiti e il caricamento. Per ridurre al minimo il possibile danneggiamento nel processo di caricamento, usare AzCopy.
Come correggere il disco rigido virtuale
I requisiti seguenti devono essere soddisfatti per la compatibilità del disco rigido virtuale con l'hub di Azure Stack.
Il disco rigido virtuale è di tipo fisso
Identificare: usare get-vhd
il cmdlet per ottenere l'oggetto VHD.
Correzione: è possibile convertire un file VHDX in disco rigido virtuale, convertire un disco in espansione dinamica in un disco di dimensioni fisse, ma non è possibile modificare la generazione di una macchina virtuale.
Usare Gestione Hyper-V o PowerShell per convertire il disco.
VHD ha dimensioni virtuali minime di almeno 20 MB
Identificare: usare get-vhd
il cmdlet per ottenere l'oggetto VHD.
Correzione: usare Gestione Hyper-V o PowerShell per ridimensionare il disco.
Il disco rigido virtuale è allineato
Identificare: usare get-vhd
il cmdlet per ottenere l'oggetto VHD.
Correzione: le dimensioni virtuali devono essere multiple di uno (1) MB.
I dischi devono avere dimensioni virtuali allineate a 1 MiB. Se il disco rigido virtuale è una frazione di 1 MiB, sarà necessario ridimensionare il disco in un multiplo di 1 MiB. I dischi che sono frazioni di un MiB causano errori durante la creazione di immagini dal disco rigido virtuale caricato. Per verificare le dimensioni, è possibile usare il cmdlet Get-VHD di PowerShell per visualizzare "Size", che deve essere un multiplo di 1 MiB in Azure e "FileSize", che sarà uguale a "Size" più 512 byte per il piè di pagina del disco rigido virtuale.
Usare Gestione Hyper-V o PowerShell per ridimensionare il disco.
Lunghezza BLOB del disco rigido virtuale
Identificare: usare il get-vhd
cmdlet per visualizzare Size
Correzione: lunghezza del BLOB del disco rigido virtuale = dimensioni virtuali + lunghezza del piè di pagina del disco rigido virtuale (512). Un piè di pagina piccolo alla fine del BLOB descrive le proprietà del disco rigido virtuale.
Size
deve essere un multiplo di 1 MiB in Azure e FileSize
, che sarà uguale a Size
+ 512 byte per il piè di pagina del disco rigido virtuale.
Usare Gestione Hyper-V o PowerShell per ridimensionare il disco.
Generazione di una macchina virtuale
Identificare: per verificare se la macchina virtuale è la generazione 1, usare il cmdlet Get-VM | Format-Table Name, Generation
.
Correzione: sarà necessario ricreare la macchina virtuale nell'hypervisor (Hyper-V).
Caricare in un account di archiviazione
È possibile caricare il disco rigido virtuale con il portale o con il contenitore creato nel portale, usare AzCopy.
Portale per generare l'URL di firma di accesso condiviso e caricare il disco rigido virtuale
Accedere al portale utente dell'hub di Azure Stack.
Selezionare Account di archiviazione e selezionare un account di archiviazione esistente o creare un nuovo account di archiviazione.
Selezionare BLOB nel pannello account di archiviazione per l'account di archiviazione. Selezionare Contenitore per creare un nuovo contenitore.
Digitare il nome del contenitore e quindi selezionare BLOB (accesso in lettura anonimo solo per i BLOB).
Se si userà AzCopy per caricare l'immagine anziché il portale, creare un token di firma di accesso condiviso. Selezionare Firma di accesso condiviso nell'account di archiviazione, quindi selezionare Genera firma di accesso condiviso e stringa di connessione. Copiare e prendere nota dell'URL della firma di accesso condiviso del servizio BLOB. Questo URL verrà usato quando si usa AzCopy per caricare il disco rigido virtuale.
Selezionare il contenitore e quindi selezionare Carica. Caricare il disco rigido virtuale.
AzCopy VHD
Usare Azure Storage Explorer o AzCopy per ridurre tale probabilità che il disco rigido virtuale venga danneggiato nel processo di caricamento e il caricamento sarà più veloce. I passaggi seguenti usano AzCopy in un computer Windows 10. AzCopy è un'utilità della riga di comando che è possibile usare per copiare i BLOB o i file da e verso un account di archiviazione.
Se AzCopy non è installato, installare AzCopy. È possibile trovare istruzioni per scaricare e iniziare a usare AzCopy nell'articolo Introduzione a AzCopy. Prendere nota della posizione in cui si archivia il file binario. È possibile aggiungere AzCopy al percorso per usarlo dalla riga di comando di PowerShell.
Aprire PowerShell per usare AzCopy dalla shell.
Usare AzCopy per caricare il disco rigido virtuale nel contenitore nell'account di archiviazione.
$env:AZCOPY_DEFAULT_SERVICE_API_VERSION = "2017-11-09" azcopy cp "/path/to/file.vhd" "https://[account].blob.core.windows.net/[container]/[path/to/blob]?[SAS] --blob-type=PageBlob
Nota
Caricare il disco rigido virtuale usando la sintassi simile al caricamento di un singolo file nella directory virtuale. Aggiungere --blob-type=PageBlob
per assicurarsi che il disco rigido virtuale sia caricato come BLOB di pagine, anziché Blocca per impostazione predefinita.
Per altre informazioni sull'uso di AzCopy e altri strumenti di archiviazione, vedere Usare gli strumenti di trasferimento dei dati in Archiviazione hub di Azure Stack.
Creare la macchina virtuale
Le immagini personalizzate sono disponibili in due forme: specializzate e generalizzate.
Accedere al portale utente dell'hub di Azure Stack.
Se si è un operatore cloud che crea un disco della piattaforma, seguire le istruzioni riportate in Aggiungere un'immagine della piattaforma per aggiungere il disco rigido virtuale tramite il portale di amministratore o con gli endpoint di amministratore.
Nel portale utente selezionare Tutti i dischidi> Servizi >Aggiungi.
In Crea disco gestito:
Digitare il nome dell'immagine.
Selezionare la sottoscrizione.
Creare o aggiungere l'immagine a un gruppo di risorse.
Selezionare la posizione, denominata anche area, dell'ASDK.
Selezionare il tipo di account.
- I dischi Premium (SSD) sono supportati da unità a stato solido e offrono prestazioni coerenti e a bassa latenza. Offrono il migliore equilibrio tra prezzo e prestazioni e sono ideali per le applicazioni e i carichi di lavoro di produzione con utilizzo intensivo di I/O.
- I dischi standard (HDD) sono supportati da unità magnetiche e sono preferibili per le applicazioni in cui i dati vengono accessibili raramente. I dischi con ridondanza della zona sono supportati dall'archiviazione con ridondanza della zona (ZRS) che replica i dati in più zone e sono disponibili anche se una singola zona è inattiva.
Selezionare BLOB di archiviazione del tipo di origine. Viene creato un disco da un BLOB in un account di archiviazione.
Per l'origine del disco rigido virtuale selezionare:
- Sottoscrizione di origine in cui si trova l'account di archiviazione.
- Selezionare Sfoglia e quindi passare all'account di archiviazione, al contenitore e al disco rigido virtuale. Scegliere Seleziona.
- Selezionare il tipo di sistema operativo corrispondente al disco rigido virtuale.
Selezionare una dimensione del disco (GiB) che la dimensione del disco rigido virtuale è maggiore o superiore.
Selezionare Crea.
Dopo aver creato il disco, è possibile usare il disco per creare una nuova macchina virtuale.