Importa dischi virtuali

Se nel tuo ambiente on-premise sono presenti dischi virtuali con software e configurazioni di cui hai bisogno, a volte chiamati dischi finali o immagini finali, puoi risparmiare tempo importando questi dischi virtuali nell'appliance GDC air-gapped e utilizzando l'immagine risultante per creare macchine virtuali. Lo strumento di importazione supporta i formati di immagine RAW e QCOW.

Prima di iniziare

Prima di continuare, assicurati di disporre di quanto segue:

  • gcloud CLI scaricata, installata e configurata. Tutti i comandi CLI per GDC utilizzano la CLI gdcloud o kubectl e richiedono un ambiente del sistema operativo (OS).
  • Accesso al server API Management. Segui i passaggi della CLI descritti nella sezione Accedi per accedere al server dell'API Management.

Richiedere autorizzazioni e accesso

Per eseguire le attività elencate in questa pagina, devi disporre dei ruoli Amministratore macchina virtuale progetto e Amministratore immagine macchina virtuale progetto. Segui i passaggi per verificare o chiedere all'amministratore IAM progetto di assegnarti i ruoli Amministratore VM progetto (project-vm-admin) e Amministratore immagini VM progetto (project-vm-image-admin) nello spazio dei nomi del progetto in cui si trova la VM.

Per le operazioni sulle VM utilizzando la console GDC o la CLI gdcloud, chiedi all'amministratore IAM del progetto di assegnarti i ruoli elencati nel paragrafo precedente e il ruolo Visualizzatore progetto (project-viewer).

Importa dischi virtuali

Puoi importare i dischi virtuali utilizzando gcloud CLI o l'API Virtual Machine Manager.

Per ottenere le autorizzazioni necessarie per importare le immagini, chiedi all'amministratore IAM dell'organizzazione di concederti il ruolo Amministratore immagini VirtualMachine progetto (project-vm-image-admin) per il tuo progetto.

gdcloud

Utilizza il comando gdcloud compute images import per creare un'immagine avviabile.

Il comando import garantisce che il disco contenga i pacchetti richiesti, incluso l'ambiente guest, necessario per configurare le credenziali per la connessione all'istanza utilizzando Secure Shell (SSH) su Linux e Remote Desktop Protocol (RDP) su Windows.

Su Linux, il comando installa anche i pacchetti per il protocollo NTP (Network Time Protocol) e cloud-init per il corretto funzionamento dell'istanza in GDC.

Puoi importare i file del disco virtuale direttamente dalla tua workstation. Lo strumento di importazione carica automaticamente il file in un bucket di archiviazione degli oggetti nel tuo progetto.

gdcloud compute images import IMAGE_NAME \
  --source-file=SOURCE_FILE \
  --os=IMAGE_OS \
  --timeout=TIMEOUT

Sostituisci le seguenti variabili:

  • IMAGE_NAME: il nome dell'immagine di destinazione. Il nome non deve contenere più di 35 caratteri.
  • SOURCE_FILE: il file del disco virtuale. Questo file è un file locale sulla tua workstation. Puoi fornire un percorso assoluto o relativo.
  • IMAGE_OS: il sistema operativo sul disco da importare.
  • TIMEOUT: il tempo che può durare un'importazione prima che non vada a buon fine con "TIMEOUT". Ad esempio, se specifichi 2h, il processo non va a buon fine dopo 2 ore. Il timeout predefinito è 1h.

L'operazione di caricamento può richiedere un periodo di tempo prolungato a seconda delle dimensioni del disco virtuale e della velocità della connessione di rete. L'operazione di importazione può richiedere decine di minuti, a seconda delle dimensioni del disco.

API

Prima di iniziare il processo di importazione con l'API, devi caricare il disco virtuale in un bucket di archiviazione oggetti denominato vm-images-bucket. Per creare un bucket di archiviazione oggetti, consulta Creare bucket di archiviazione per i progetti.

Per importare un disco virtuale tramite l'API:

  1. Crea un oggetto VirtualMachineImageImport nel server dell'API Management per avviare il processo di importazione delle immagini:

    kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG \
      apply -n PROJECT_ID -f - <<EOF
    apiVersion: virtualmachine.gdc.goog/v1
    kind: VirtualMachineImageImport
    metadata:
      name: IMAGE_NAME
      namespace: PROJECT_ID
    spec:
      source:
        objectStorage:
          bucketRef:
            name: vm-images-bucket
          objectName: SOURCE_FILE
      imageMetadata:
        name: IMAGE_NAME
        operatingSystem: OPERATING_SYSTEM
        minimumDiskSize: DISK_SIZE
    EOF
    

    Sostituisci le seguenti variabili:

    Variabile Descrizione
    IMAGE_NAME Il nome dell'immagine da importare. Il nome non deve contenere più di 35 caratteri.
    PROJECT_ID L'ID progetto del progetto in cui vuoi importare l'immagine.
    SOURCE_FILE Il nome del file di origine che contiene il caricamento del disco virtuale nello spazio di archiviazione oggetti. Questo valore è la sezione del percorso di archiviazione di oggetti dopo vm-images-bucket/.
    OPERATING_SYSTEM Il sistema operativo sul disco da importare.
    DISK_SIZE La dimensione minima che deve avere un disco per essere creato con questa immagine. Ti consigliamo di utilizzare un buffer di almeno il 20% in aggiunta alle dimensioni del file system dell'immagine originale. Ad esempio, utilizza almeno 12 GiB per un disco virtuale con una dimensione del file system originale di 10 GiB.
  2. Monitora l'avanzamento dell'importazione eseguendo una query sullo stato dell'oggetto VirtualMachineImageImport:

    kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG \
      get virtualmachineimageimport --namespace PROJECT_ID \
      IMAGE_NAME -o jsonpath='{.status}'
    

Esegui la pulizia delle risorse

La procedura di importazione prevede il caricamento del file del disco virtuale nell'archiviazione degli oggetti. Se utilizzi gcloud CLI, l'oggetto viene pulito al termine del comando, indipendentemente dall'esito. Se il comando viene interrotto o l'importazione dell'immagine viene eseguita con l'API, il file del disco virtuale potrebbe rimanere nel bucket di archiviazione degli oggetti denominato vm-images-bucket finché non lo elimini manualmente.

Passaggi successivi

Crea una nuova istanza VM che utilizza l'immagine nella pagina Crea e avvia una VM.