Importa manualmente i dischi di avvio


Il metodo consigliato per importare le immagini disco di avvio in Compute Engine da data center fisici, da macchine virtuali (VM) sul tuo workstation o da VM in esecuzione su un'altra piattaforma cloud, è utilizzare strumento di importazione dei dischi virtuali, che automatizza tutti i passaggi di questa guida.

Se preferisci non usare lo strumento automatico, puoi seguire le istruzioni istruzioni passo passo in questa guida.

Questo processo di importazione delle immagini importare un solo disco alla volta e questa guida si concentra su come importare e immagini disco.

Importa i dischi di avvio esistenti solo se non sei in grado di creare o migrare il tuo app su cui eseguire Immagini pubbliche di Compute Engine. Le immagini pubbliche sono già configurate per l'esecuzione in Compute Engine di sistema, in modo da poter eseguire app su queste immagini senza dover preoccuparsi delle configurazioni del bootloader e del sistema operativo. Tuttavia, devi importare le tue immagini disco di avvio nei seguenti scenari:

  • Le tue app richiedono un sistema operativo che non è fornito come immagine pubblica.
  • Hai già un set di immagini di base che utilizzi per creare le VM in un'altra piattaforma cloud.
  • Il lavoro necessario per eseguire la migrazione del codice dell'app a una delle immagini pubbliche supera il lavoro richiesto per completare l'importazione dell'immagine del disco di avvio e il processo di sviluppo.

In alternativa, puoi richiedere assistenza per la migrazione delle tue VM utilizzando i servizi dei partner. Per ulteriori informazioni, vedi Migrazione delle VM in Compute Engine.

Panoramica

Per importare un'immagine disco di avvio in Compute Engine, utilizza quanto segue process:

  1. Pianifica il percorso di importazione. Devi identificare dove preparerai i tuoi l'immagine disco di avvio prima di caricarla e il modo in cui ti connetterai dell'immagine dopo l'avvio nell'ambiente Compute Engine.
  2. Prepara il disco di avvio in modo che possa avviarsi all'interno di Compute Engine dell'ambiente di rete e potrai accedervi dopo l'avvio.
  3. Crea e comprime il file immagine del disco di avvio.
  4. Carica il file immagine in Cloud Storage e importa il file su Compute Engine come nuovo immagine personalizzata.
  5. Usa l'immagine importata per creare un'istanza VM e assicurati che si avvia correttamente.
  6. Se l'immagine non si avvia correttamente, puoi risolvere il problema collegando l'immagine disco di avvio a un'altra istanza e riconfigurandola.
  7. Ottimizza l'immagine e installare il ambiente guest in modo che l'immagine del sistema operativo importata possa comunicare il server di metadati e usare le funzionalità aggiuntive di Compute Engine.

Requisiti

Requisiti per il disco di avvio

Per importare dischi di avvio in Compute Engine, questi ultimi devono soddisfare i seguenti requisiti:

  • Ti consigliamo di installare tutti gli aggiornamenti disponibili nella VM di origine.
  • Se hai creato un kernel del sistema operativo personalizzato, deve soddisfare le requisiti di configurazione hardware e kernel. La maggior parte delle distribuzioni Linux stock soddisfa già questi requisiti, quindi requisito è riservato agli utenti avanzati che creano i propri sistemi operativi per l'esecuzione su Compute Engine.
  • Il disco di avvio non deve essere più grande di 2048 GB (2 TB).
  • Il disco di avvio che importi deve avere una funzionalità Tabella di partizione MBR o una configurazione ibrida Tabella di partizione GPT con un bootloader MBR.
  • La partizione principale sul disco di avvio può essere nel formato che preferisci purché si avvii correttamente dal bootloader MBR.
  • Il bootloader sul disco di avvio non deve avere quiet, rhgb o splashimage= argomenti della riga di comando del kernel. Compute Engine non supporta le schermate iniziali all'avvio. Puoi rimuovere questi valori dal La configurazione di GRUB durante il passaggio di configurazione del bootloader.
  • Il sistema operativo sul disco di avvio deve supportare ACPI.

Requisiti per il file immagine

Il file immagine importato deve soddisfare i seguenti requisiti:

  • Esegui un controllo di coerenza dell'immagine disco utilizzando qemu-img check sul disco.
  • Per esportare il disco virtuale, utilizza la funzione di esportazione del software di gestione della VM. Non copiare il file VMDK dal file system di VM Manager.
  • Il file immagine deve essere un'immagine supportata.
  • Il nome file dell'immagine disco deve essere disk.raw.
  • Il file immagine RAW deve avere una dimensione in incrementi di 1 GB. Ad esempio: il file deve essere di 10 GB o 11 GB, ma non di 10,5 GB.
  • Il file compresso deve essere un file .tar.gz che utilizza compressione gzip e l'opzione --format=oldgnu per l'utilità tar (manuale).

Requisiti per il progetto

Quando crei un'istanza VM da un'immagine importata, L'istanza deve poter accedere al repository di pacchetti esterno e il sistema operativo configurato sul disco di avvio.

È possibile accedere a questo repository direttamente dal fornitore del sistema operativo o attraverso una connessione di rete all'infrastruttura on-premise che li ospita repository.

Per configurare l'accesso al repository esterno, completa uno dei seguenti passaggi nel progetto:

Limitazioni

Per importare i dischi utilizzando reti che non consentono indirizzi IP esterni, devi soddisfare requisiti di rete aggiuntivi. Per ulteriori informazioni, consulta Importazione dei dischi con reti che non consentono indirizzi IP esterni.

Costi di importazione delle immagini

Prima di iniziare, valuta i costi del processo di importazione. Non sono presenti Costo del caricamento del trasferimento di dati di rete in entrata il file immagine disco di avvio in Cloud Storage e non sono previsti costi importa l'immagine come Compute Engine immagine personalizzata. Tuttavia, sono i costi di alcuni passaggi specifici del processo di importazione:

  • Il costo per archiviare temporaneamente i file di immagini compresse in un bucket standard Cloud Storage. Devi utilizzare un bucket Cloud Storage temporaneo per conservare i tuoi file prima di poterli importare come immagini Compute Engine personalizzate. Puoi rimuovere il bucket dopo aver completato la procedura di importazione.
  • Il costo per l'archiviazione di immagini personalizzate dopo aver completato l'importazione in Compute Engine.
  • Il costo potenziale dei trasferimenti di dati in uscita sul data center e sulla rete esistenti o il tuo attuale servizio cloud. I file immagine possono essere molto grandi anche dopo averli compressi, quindi copiarli Compute Engine potrebbe comportare un significativo trasferimento di dati in uscita su alcune piattaforme.
  • Il costo per Compute Engine dischi permanenti e istanze VM in cui puoi e configurare l'immagine dopo averla importata in Compute Engine.

Pianifica e prepara il percorso di importazione

Il metodo di importazione del disco dipende dalla configurazione attuale del da trasferire su Compute Engine. È necessario un sistema dove puoi creare e comprimere il file immagine del disco di avvio, nonché un in cui puoi caricare il file immagine in Cloud Storage. Considera le quando pianifichi il percorso di importazione:

  • Il percorso di importazione dell'immagine richiede la configurazione del disco di avvio in un dell'ambiente del sistema operativo. Questo processo può far sì che il disco di avvio dall'ambiente di Compute Engine. È la tua la responsabilità di non perdere dati sui dischi o provocare interruzioni le tue app aziendali funzionali mentre importi il sistema in Compute Engine.
  • Identifica la configurazione di accesso al sistema esistente e pianifica come accedere al sistema dopo averlo importato in Compute Engine.
    • Se nel tuo sistema esistono già delle configurazioni di accesso utente o SSH, puoi solo il bootloader, quindi configura l'immagine in modo che venga eseguita in modo ottimale su Compute Engine. Puoi accedere all'istanza tramite la configurazione SSH esistente o tramite un accesso diretto dell'utente nella console seriale interattiva.
    • Se il sistema non dispone di configurazioni di accesso utente o SSH, devi configurare il disco di avvio in modo da potervi accedere dopo si avvia su Compute Engine.
  • La durata del processo di importazione può richiedere diverse ore o giorni, a seconda delle dimensioni del disco di avvio e della velocità della connessione di rete.
  • Il sistema in cui crei e comprimi l'immagine disco di avvio deve avere un numero sufficiente di spazio di archiviazione per creare i file immagine su un dispositivo di archiviazione diverso dal di avvio del disco. In genere, i file immagine e tar.gz occupano 2-3 volte lo spazio del disco di avvio stesso.
  • Comprendi la struttura del file system del sistema esistente che vuoi importare.
    • Se il sistema operativo e i file dell'app sono distribuiti su importali singolarmente e usali ciascuna immagine per creare un disco permanente univoco di un'istanza VM di Compute Engine.
    • Se i tuoi sistemi hanno volumi di avvio in un RAID in cui più dischi agiscono come un unico volume logico, una singola immagine dall'intero array anziché creare un'unica immagine ogni disco nell'array. I dischi permanenti di Compute Engine eliminano la necessità di configurazioni RAID.
  • Se il tuo sistema cripta i contenuti del disco di avvio con una Trusted Platform Module oppure, con la crittografia a livello di software, decripta il disco di avvio prima di creare il file immagine disco di avvio. Google non può leggere le immagini se sono criptate. Le immagini vengono criptate dopo averle caricate e ti consentiamo e fornire le tue chiavi di crittografia dischi permanenti e Bucket Cloud Storage.

Dopo aver identificato o creato un sistema in cui puoi completare l'importazione, per il processo, connetterti a quel sistema configurare il bootloader.

Prepara l'immagine disco di avvio

Su un sistema in esecuzione, prepara l'immagine disco di avvio in modo che possa funzionare in un ambiente Compute Engine.

  • Configura il bootloader sul disco di avvio in modo che l'immagine possa avviarsi su Compute Engine.
  • Configurare l'accesso SSH o l'accesso utente sul disco di avvio in modo da poter dopo l'importazione in Compute Engine e l'avvio come istanza VM.

Questo processo può rendere il sistema non avviabile all'esterno di Compute Engine, quindi la best practice è completare questo passaggio su un sistema isolato utilizzando del disco di avvio che vuoi importare.

Configura il bootloader

Configura il bootloader sul sistema in modo che possa avviarsi su Compute Engine.

  1. Connettiti al terminale del sistema con il disco di avvio che prevedi di importare.

  2. Modifica il file di configurazione GRUB. In genere questo file si trova in /etc/default/grub, ma su alcune distribuzioni precedenti potrebbe trovarsi in una directory non standard.

  3. Apporta le seguenti modifiche al file di configurazione GRUB:

    • Rimuovi tutte le righe con splashimage=. Compute Engine non supporta le schermate iniziali all'avvio.
    • Rimuovi gli argomenti della riga di comando del kernel rhgb e quiet.
    • Aggiungi console=ttyS0,38400n8d agli argomenti a riga di comando del kernel, in modo che l'istanza possa interagire con la console seriale.
  4. Rigenera il file grub.cfg. Utilizza uno dei seguenti comandi, a seconda della distribuzione.

    • Debian e Ubuntu: sudo update-grub
    • RHEL, CentOS, SUSE, openSUSE: sudo grub2-mkconfig -o /boot/grub2/grub.cfg
  5. Modifica il file /etc/fstab e rimuovi i riferimenti a tutti i dischi e le partizioni a parte il disco di avvio stesso e le partizioni su quel disco. Non valido in /etc/fstab possono causare l'arresto del processo di avvio del sistema.

Dopo aver configurato il bootloader, crea e comprimi il file immagine disco.

Configura l'accesso SSH o di accesso utente all'immagine

Dopo che l'immagine è in esecuzione in Compute Engine come una VM devi avere un modo per accedervi. Puoi collegare all'istanza utilizzando una configurazione SSH esistente oppure puoi accedere un nome utente e una password collegandoti al Console seriale.

Completa la configurazione dell'accesso SSH o utente prima di creare e comprimere il file immagine disco.

Crea e comprimi il file immagine disco

Crea e comprime il file immagine del disco di avvio per il sistema che vuoi importare in Compute Engine. Il processo di creazione e compressione del file immagine varia a seconda della piattaforma su cui operano i sistemi.

Generic

Su quasi tutti i sistemi, puoi utilizzare questa procedura per creare un file immagine RAW che puoi importare in Compute Engine. Puoi completare questa operazione sul sistema in esecuzione che stai importando, oppure puoi collegare il disco di avvio come disco secondario su un altro sistema e crea l'immagine disco dal disco arrestato. Assicurati di avere a disposizione abbastanza per conservare temporaneamente i file immagine disco. Questo esempio prende un'immagine da un sistema in esecuzione.

  1. Collegati al terminale sul sistema contenente il disco di avvio da importare.

  2. Utilizza il comando lsblk per identificare il disco di avvio di origine da cui vuoi creare un'immagine e il luogo in cui hai spazio sufficiente per scrivere i file immagine. In questo esempio, /dev/sda è il disco di avvio di origine e /dev/sdb è un disco secondario di grandi dimensioni montato nella directory /tmp. Anche se /dev/sda è in esecuzione, puoi comunque creare un'immagine. È preferibile eseguire questa operazione su un sistema inattivo che non stia elaborando attivamente dati o eseguendo app.

    lsblk
    
    NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sda      8:0    0  100G  0 disk
    ├─sda1   8:1    0   96G  0 part /
    ├─sda2   8:2    0    1K  0 part
    └─sda3   8:5    0    4G  0 part [SWAP]
    sdb      8:16   0  500G  0 disk /tmp
    sr0     11:0    1 1024M  0 rom
    
  3. Crea il file immagine dal disco di avvio.

    sudo dd if=/dev/sda of=/tmp/disk.raw bs=4M conv=sparse
    
  4. Passa alla directory in cui hai scritto il file disk.raw.

    cd /tmp
    
  5. Comprimi il disco non elaborato nel formato tar.gz. Questo passaggio comprime di immagine in modo da poterlo caricare più rapidamente di archiviazione ideale in Cloud Storage. Su OSX, installa gtar e lo utilizzerai per questo passaggio al posto di tar.

    tar --format=oldgnu -Sczf /tmp/compressed-image.tar.gz disk.raw
    

AWS EC2

Per saperne di più sull'importazione di immagini AMI (Amazon Machine Image) e di immagini dei dischi virtuali da Amazon Web Services (AWS) in Compute Engine, consulta Importare immagini da AWS.

VirtualBox

Se hai preparato il sistema in un ambiente VirtualBox, puoi utilizzare Strumento VBoxManage per convertire un'immagine disco .vdi o .qcow2 in disk.raw.

  1. Arresta la macchina guest VirtualBox che vuoi importare, sostituendo GUEST_NAME con il nome della macchina ospite. Puoi arresta la macchina guest con l'interfaccia VirtualBox o utilizzando VBoxManage utilità.

    VBoxManage controlvm GUEST_NAME acpipowerbutton
  2. Converti l'immagine ospite in formato RAW utilizzando il metodo VBoxManage che sostituisce GUEST_NAME con il percorso dell'utente dell'immagine. Questa immagine ospite può essere fornita come vdi o qcow2 file:

    VBoxManage clonemedium GUEST_NAME ~/disk.raw --format RAW
  3. Comprimi il disco non elaborato nel formato tar.gz. Questo passaggio comprime di immagine in modo da poterlo caricare più rapidamente di archiviazione ideale in Cloud Storage. Su OSX, installa gtar, e lo utilizzerai per questo passaggio al posto di tar.

    sudo tar --format=oldgnu -Sczf /tmp/compressed-image.tar.gz disk.raw
    

Il file immagine è compresso ed è pronto per essere caricato su Cloud Storage.

Importa l'immagine nell'elenco di immagini personalizzate

Carica il file su Cloud Storage e importa l'immagine nell'elenco delle immagini personalizzate. Se vuoi, puoi criptare l'immagine durante il passaggio di importazione dell'immagine.

Importa l'immagine con la console o gli strumenti Google Cloud CLI:

Console

Copia il file compressed-image.tar.gz sulla workstation locale e utilizzare la console Google Cloud crea un bucket e carica il file.

  1. Nella console Google Cloud, vai a Cloud Storage pagina del browser.

    Vai al browser

  2. Nella parte superiore della pagina, fai clic su Crea bucket.
  3. Specifica un nome univoco per il bucket, la classe di archiviazione Standard e una località in cui archiviare i file immagine.
  4. Fai clic su Crea per creare il bucket. La pagina del browser si apre nel nuovo bucket.
  5. Nella parte superiore della pagina, fai clic su Carica file.
  6. Nella finestra di dialogo del file, seleziona il file compressed-image.tar.gz scaricato dal sistema. Il file viene caricato workstation locale. Questo passaggio può richiedere diverse ore, a seconda del le dimensioni del file immagine compresso e la velocità della rete connessione.

Dopo aver caricato l'immagine in Cloud Storage, importa il file immagine. all'elenco di immagini personalizzate.

  1. Nella console Google Cloud, vai alla pagina Immagini.

    Vai a Google Immagini

  2. Nella parte superiore della pagina, fai clic su Crea immagine.
  3. Nel campo Nome, specifica un nome univoco per l'immagine.
  4. Se vuoi, specifica una famiglia di immagini per la nuova immagine oppure configura impostazioni di crittografia specifiche dell'immagine.
  5. Fai clic sul menu Origine e seleziona File Cloud Storage.
  6. Inserisci il percorso del file compressed-image.tar.gz che hai caricato in Cloud Storage.

    BUCKET_NAME/compressed-image.tar.gz
  7. Fai clic su Crea per importare l'immagine. Il processo può richiedere minuti, a seconda delle dimensioni dell'immagine disco di avvio.

L'immagine è ora inclusa nella Pagina Immagini. Puoi creare una VM utilizzando questa immagine importata. Se si verifica un errore di avvio, verifica e assicurati di aver configurato correttamente il bootloader.

gcloud e gcloud storage

Utilizza gcloud CLI per caricare del disco di avvio compresso. Puoi completare questa procedura nella in cui hai creato l'immagine disco di avvio, oppure puoi copiare il file in un altro sistema e completare da lì la procedura di caricamento.

  1. Installa e inizializza l'interfaccia a riga di comando gcloud sul sistema da cui prevedi di caricare il compressed-image.tar.gz.

  2. Utilizza gcloud CLI per creare un nuovo Cloud Storage di sincronizzare la directory di una VM con un bucket.

    gcloud storage buckets create gs://BUCKET_NAME
  3. Carica il file compressed-image.tar.gz nel nuovo bucket.

    gcloud storage cp compressed-image.tar.gz gs://BUCKET_NAME
  4. Importa il file immagine come nuova immagine personalizzata.

    gcloud compute images create IMAGE_NAME --source-uri gs://BUCKET_NAME/compressed-image.tar.gz
    

    Sostituisci quanto segue:

    • IMAGE_NAME: il nome dell'immagine che hai importato.
    • BUCKET_NAME: il nome del bucket in cui è stata importata l'immagine in cui vengono archiviati i container.

L'immagine è ora inclusa nell'elenco delle immagini personalizzate. Puoi creare una VM utilizzando questa immagine importata. Se si verifica un errore di avvio, verifica e assicurati di aver configurato correttamente il bootloader.

gcloud compute images list --no-standard-images
NAME                                            PROJECT                  FAMILY                    DEPRECATED  STATUS
[IMAGE_NAME]                                    [PROJECT_ID]                                                   READY

Testa l'immagine importata per assicurarti che funzioni

Verifica che l'immagine importata funzioni come previsto. Crea una VM con su un disco di avvio che utilizza l'immagine importata.

Console

  1. Nella console Google Cloud, vai alla pagina Crea un'istanza.

    Vai a Crea un'istanza

  2. Nella sezione Disco di avvio, fai clic su Cambia, quindi:

    1. Seleziona la scheda Immagini personalizzate.
    2. Per selezionare il progetto immagine, fai clic su Seleziona un progetto, poi le seguenti:
      1. Seleziona il progetto che contiene l'immagine.
      2. Fai clic su Apri.
    3. Nell'elenco Immagine, fai clic sull'immagine importata.
    4. Seleziona il tipo e le dimensioni del disco di avvio.
    5. Per confermare le opzioni del disco di avvio, fai clic su Seleziona.
  3. Fai clic su Crea.

gcloud

gcloud compute instances create VM_NAME --zone ZONE --image IMAGE_NAME

Sostituisci quanto segue:

  • VM_NAME: un nome univoco per la VM.
  • ZONE: la zona in cui hai creato il disco autonomo.
  • IMAGE_NAME: il nome dell'immagine importata.

Dopo aver creato la VM, verifica che sia stata avviata correttamente. Controlla il output della porta seriale:

Console

  1. Nella console Google Cloud, vai alla pagina Istanze VM.

    Vai a Istanze

  2. Nell'elenco delle VM, fai clic sul nome della VM che creati dall'immagine importata. Si apre la pagina dei dettagli della VM.
  3. Nella sezione Log, fai clic sulla porta seriale appropriata per espanderla e visualizzare l'output della porta seriale per questa VM.

Se la VM è stata arrestata alle ore Booting from Hard Disk 0..., devi risolvere i problemi risolvere i problemi dall'ambiente Compute Engine oppure riconfigurare il disco di avvio sul sistema originale e ripetere l'importazione e il processo di sviluppo.

gcloud

gcloud compute instances get-serial-port-output VM_NAME

Se la VM è stata arrestata alle ore Booting from Hard Disk 0..., devi risolvere i problemi risolvere i problemi dall'ambiente Compute Engine oppure riconfigurare il disco di avvio sul sistema originale e ripetere l'importazione e il processo di sviluppo.

Puoi anche testare la VM connettendoti. Connettiti alla VM tramite una delle seguenti opzioni:

  • SSH: se la VM aveva una configurazione SSH funzionale, puoi connetterti alla VM tramite SSH e la tua chiave privata. Puoi trovare l'IP dell'istanza VM nella pagina Istanze VM.
  • Console seriale: se devi accedere direttamente alla VM senza SSH, puoi attivare la console seriale e accedere con un nome utente e una password.

Passaggi successivi