Spostare una macchina virtuale generalizzata dall'ambiente locale all'hub di Azure Stack

Attenzione

Questo articolo fa riferimento a CentOS, una distribuzione Linux che si avvicina allo stato end of life (EOL). Prendere in considerazione l'uso e il piano di conseguenza. Per altre informazioni, vedere le linee guida per la fine della vita di CentOS.

È possibile aggiungere un'immagine di macchina virtuale dall'ambiente locale. È possibile creare l'immagine come disco rigido virtuale (VHD) e caricare l'immagine in un account di archiviazione nell'istanza dell'hub di Azure Stack. È quindi possibile creare una macchina virtuale dal disco rigido virtuale.

Un'immagine del disco generalizzata è una che è stata preparata con Sysprep per rimuovere qualsiasi informazione univoca (ad esempio gli account utente), consentendo di riutilizzarla per creare più macchine virtuali. I dischi rigidi virtuali generalizzati sono adatti per la creazione di immagini che l'operatore cloud dell'hub di Azure Stack prevede di usare come elementi del marketplace.

Come spostare un'immagine

Trovare la sezione specifica per le proprie esigenze durante la preparazione del disco rigido virtuale.

Seguire la procedura descritta in Preparare un disco rigido virtuale Windows o VHDX da caricare in Azure per generalizzare correttamente il disco rigido virtuale prima del caricamento. È necessario usare un disco rigido virtuale per l'hub di Azure Stack.

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 verranno caricati nell'hub di Azure Stack.

  1. Si useranno i moduli di PowerShell trovati con Hyper-V. L'attivazione di Hyper-V installa il supporto dei 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 si dispone dei comandi Hyper-V, vedere Uso di Hyper-V e Windows PowerShell.

  2. 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                  :
    
  3. Con l'oggetto VHD verificare che soddisfi i requisiti per l'hub di Azure Stack.

    Inoltre, l'hub di Azure Stack supporta solo immagini di prima generazione (1).

  4. 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 caricare. Per ridurre al minimo il possibile danneggiamento nel processo di caricamento, usare AzCopy.

Come correggere il disco rigido virtuale

Per la compatibilità del disco rigido virtuale con l'hub di Azure Stack, è necessario soddisfare i requisiti seguenti.

Il disco rigido virtuale è di tipo fisso

Identificazione: usare get-vhd il cmdlet per ottenere l'oggetto VHD.
Correzione: è possibile convertire un file VHDX in disco rigido virtuale, convertire un disco con espansione dinamica in un disco a dimensione fissa, ma non è possibile modificare la generazione di una macchina virtuale. Usare la console di gestione di Hyper-V o PowerShell per convertire il disco.

Il disco rigido virtuale ha dimensioni minime di almeno 20 MB

Identificazione: usare get-vhd il cmdlet per ottenere l'oggetto VHD.
Correzione: usare la console di gestione di Hyper-V o PowerShell per ridimensionare il disco.

Il disco rigido virtuale è allineato

Identificazione: 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 una dimensione virtuale allineata 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 che è 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 la console di gestione di Hyper-V o PowerShell per ridimensionare il disco.

Lunghezza BLOB VHD

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 la console di gestione di Hyper-V o PowerShell per ridimensionare il disco.

Generazione di una macchina virtuale

Identificare: per verificare se la macchina virtuale è di prima generazione, 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

  1. Accedere al portale utenti dell'hub di Azure Stack.

  2. Selezionare Account di archiviazione e selezionare un account di archiviazione esistente o creare un nuovo account di archiviazione.

  3. Selezionare BLOB nel pannello dell'account di archiviazione per l'account di archiviazione. Selezionare Contenitore per creare un nuovo contenitore.

  4. Digitare il nome del contenitore e quindi selezionare BLOB (accesso in lettura anonimo solo per i BLOB).

  5. Se si intende usare 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 e quindi selezionare Genera firma di accesso condiviso e stringa di connessione. Copiare e prendere nota dell'URL di firma di accesso condiviso del servizio BLOB. Questo URL verrà usato quando si usa AzCopy per caricare il disco rigido virtuale.

  6. Selezionare il contenitore e quindi selezionare Carica. Caricare il disco rigido virtuale.

AzCopy VHD

Usare Azure Storage Explorer o AzCopy per ridurre la probabilità che il disco rigido virtuale sia danneggiato nel processo di caricamento e il caricamento sarà più veloce. La procedura seguente usa 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.

  1. Se AzCopy non è installato, installare AzCopy. Le istruzioni per scaricare e iniziare a usare AzCopy sono disponibili nell'articolo Introduzione ad AzCopy. Prendere nota della posizione in cui archiviare il file binario. È possibile aggiungere AzCopy al percorso per usarlo dalla riga di comando di PowerShell.

  2. Aprire PowerShell per usare AzCopy dalla shell.

  3. Usare AzCopy per caricare il disco rigido virtuale nel contenitore nell'account di archiviazione.

    set 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 una sintassi simile al caricamento di un singolo file nella directory virtuale. Aggiungere --blob-type=PageBlob per assicurarsi che il disco rigido virtuale venga 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 nell'archiviazione dell'hub di Azure Stack.

Creare l'immagine nell'hub di Azure Stack

  1. Accedere al portale utenti dell'hub di Azure Stack.

    Se si è un operatore cloud che crea un'immagine della piattaforma, seguire le istruzioni in Aggiungere un'immagine della piattaforma per aggiungere il disco rigido virtuale tramite il portale di amministrazione o con gli endpoint di amministratore.

  2. Nel portale utenti selezionare Aggiungi tutte leimmagini> dei servizi>.

  3. In Crea immagine:

    1. Digitare il nome dell'immagine.

    2. Selezionare la sottoscrizione.

    3. Creare o aggiungere l'immagine a un gruppo di risorse.

    4. Selezionare la posizione, denominata anche area, dell'ASDK.

    5. Selezionare un tipo di sistema operativo corrispondente all'immagine.

    6. Selezionare Sfoglia e quindi passare all'account di archiviazione, al contenitore e al disco rigido virtuale. Scegliere Seleziona.

    7. 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.
    8. Selezionare Lettura/scrittura per l'intercettamento dell'host.

    9. Selezionare Crea.

  4. Dopo aver creato l'immagine, usare l'immagine per creare una nuova macchina virtuale.

Passaggi successivi

Spostare una macchina virtuale nell'hub di Azure Stack