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 avere 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 di gestione. Segui i passaggi dell'interfaccia a riga di comando descritti nella sezione Accedi per accedere al server dell'API di gestione.

Richiedere autorizzazioni e accesso

Per eseguire le attività elencate in questa pagina, devi disporre dei ruoli Amministratore macchine virtuali progetto e Amministratore immagini macchine virtuali 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 consentire all'istanza di funzionare correttamente 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 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 riesca 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 la procedura 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 Crea bucket di archiviazione per i progetti.

Per importare un disco virtuale tramite l'API:

  1. Crea un oggetto VirtualMachineImageImport nel server dell'API di gestione 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 per il 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 degli 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 Le dimensioni minime 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}'
    

Libera spazio

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.