IBM Cloud Docs
Creazione di un'immagine personalizzata Linux

Creazione di un'immagine personalizzata Linux

Puoi creare la tua propria immagine basata su Linuxpersonalizzata da importare in IBM Cloud® Virtual Private Cloud. Puoi quindi utilizzare l'immagine personalizzata per distribuire un server virtuale o un server bare metal nell'infrastruttura IBM Cloud® Virtual Private Cloud.

Puoi iniziare con un template dell'immagine dall'infrastruttura classica IBM Cloud. Per ulteriori informazioni, vedi Migrazione di un server virtuale dall'infrastruttura classica. Lo sapevate che è possibile creare anche un'immagine personalizzata di un volume di avvio collegato a un'istanza al momento dell'importazione? Per ulteriori informazioni, vedi Informazioni sulla creazione di un'immagine dal volume.

Tutte le immagini personalizzate devono soddisfare i seguenti requisiti

  • Contenere un singolo file o volume.
  • Essere dentro qcow2 o formato VHD.
  • Essere abilitato per cloud-init o avviabile utilizzando ESXi kickstart.
  • Le dimensioni non superano i 250 GB.
  • La dimensione minima è 10 GB. Per qualsiasi immagine inferiore a 10 GB, la dimensione viene arrotondata a 10 GB.

Per creare immagini personalizzate sicure basate sull'esecuzione utilizzando l'opzione IBM Cloud Object Storage, consulta Preparazione del carico di lavoro. Per ulteriori informazioni sulla creazione di immagini sicure basate sull'esecuzione, IBM Secure Execution per Linux.

Per immagini Linux , il tipo di chiave SSH Ed25519 può essere utilizzato solo se il server SSH per il sistema operativo supporta questo tipo di chiave. Per ulteriori informazioni, vedi Introduzione alle chiavi SSH.

Completa la seguente procedura per assicurarti di poter distribuire correttamente la tua immagine personalizzata Linux nell'ambiente dell'infrastruttura IBM Cloud VPC. Tieni presente che non puoi creare un'immagine da un volume di avvio crittografato (immagine da un volume) che non sia 100 GB. L'operazione è bloccata.

Passo 1 - Inizia con un singolo file di immagine in qcow2 o in formato VHD

Se stai creando la tua immagine personalizzata basata su Linux, inizia con un singolo file di immagine in formato qcow2 o VHD. Potrebbe essere utile iniziare con un'immagine del fornitore abilitata per il cloud.

I log del kernel sono importanti per il debug dei problemi relativi all'avvio. Per assicurarsi che i log del kernel siano stampati sulla console seriale, utilizzare l'argomento della riga comandi del kernel console=ttyS0. Inoltre, i parametri kernel di nomodeset e nofb vengono utilizzati per risolvere i problemi relativi alla visualizzazione durante il processo di avvio per i kernel più vecchi rilasciati prima della metà del 2021. I kernel più recenti utilizzano l'impostazione della modalità video nel kernel.

Passo 2 - Verifica la presenza di driver virtio

  1. Assicurarsi che i driver virtio siano installati sull'immagine del sistema operativo, insieme a qualsiasi codice necessario a virtio. I driver di rete Virtio sono necessari per abilitare la rete. Verificare se i driver virtio sono installati nel kernel, eseguendo il seguente comando:

    grep -i virtio /boot/config-$(uname -r)
    

    Ricercare VIRTIO_BLK e VIRTIO_NET nell'output. Se queste linee non sono presenti, il driver virtio non è integrato nel kernel.

  2. Se le righe VIRTIO_BLK e VIRTIO_NET sono presenti, verificare che i programmi di controllo siano presenti nel file system root temporaneo emettendo il seguente comando:

    lsinitrd /boot/initramfs-$(uname -r).img | grep virtio
    

    Se si sta utilizzando un sistema operativo Debian, utilizzare il seguente comando:

    lsinitramfs /boot/initrd.img-$(uname -r) | grep virtio
    

    Verificare che il driver virtio blk e le relative dipendenze virtio.ko, virtio_pci e virtio_ring siano presenti. Se le dipendenze virtio non sono presenti, è necessario ripristinare il file system root.

Passo 3 - L'interfaccia di rete è impostata per la configurazione automatica

Se le interfacce di rete sono definite nell'immagine guest, assicurarsi che almeno un'interfaccia di rete sia impostata per la configurazione automatica. Non è possibile designare tutte le interfacce per la configurazione manuale. Generalmente, l'interfaccia è impostata per utilizzare DHCP. Per ulteriori informazioni sulla configurazione di DHCP, consultare la documentazione per la propria distribuzione Linux.

Passo 4 - Assicurati che l'immagine sia abilitata a cloud - init

Assicurati che la tua immagine sia abilitata a cloud-init. È richiesta la versione Cloud - init 0.7.9 o successiva.

  1. Per determinare se cloud - init è installato, eseguire il seguente comando: cloud-init --version

    • In alcuni casi, cloud - init potrebbe essere installato ma non nel tuo ambiente PATH.
    • Per trovare il percorso di cloud-init su ExecStart, eseguire il comando seguente:systemctl cat cloud-init
  2. Per installare cloud - init, utilizza uno dei seguenti comandi.

    • Per Ubuntu o Debian, eseguire il seguente comando: apt-get install cloud-init
    • Per CentOS o Red Hat, immetti il seguente comando: yum install cloud-init
  3. Se la proprietà datasources_list esiste in /etc/cloud/cloud.cfg, verificare che contenga solo NoCloud o rimuovere completamente la proprietà datasources_list. ConfigDrive non è supportato. Per ulteriori informazioni sulle origini dati, vedi origini dati. IBM Cloud le immagini cloud - init vengono create per l'ambiente utilizzando l'origine dati NoCloud per fornire i metadati.

    Viene fornita una periferica a blocchi. Vedi il seguente esempio.

    blkid
    /dev/vdb: UUID="2023-03-15-16-50-02-00" LABEL="cidata" TYPE="iso9660"
    

    Questo dispositivo di blocco viene trovato da cloud - init e contiene i seguenti file.

    • ID - istanza metadati: INSTANCE_ID local - hostname: NAME
    • user - data Dati utente facoltativi forniti quando è stata creata l'istanza. Per ulteriori informazioni, consultare Dati utente.
    • vendor - data Un file formattato MIME contenente l'autorizzazione SSH di configurazione cloud derivata dalle chiavi SSH fornite quando è stata creata l'istanza e ulteriori informazioni di inizializzazione.
  4. Nel file /etc/cloud/cloud.cfg, verificare che la sezione cloud_final_modules includa il modulo scripts-vendor e che sia abilitato. Per default, Red Hat Enterprise Linux e CentOS non includono il modulo scripts-vendor richiesto per il provisioning delle istanze nell'infrastruttura IBM Cloud VPC. Devi abilitare il modulo scripts-vendor per eseguire il provisioning di un'istanza del server virtuale IBM Cloud VPC con l'immagine personalizzata Linux.

    Per le immagini Red Hat Enterprise Linux (RHEL), i seguenti pacchetti sono inclusi di default nell'immagine di base e sono necessari affinché cloud-init venga eseguito correttamente: subscription-manager, ethtool, e rpm. Inoltre, accertarsi che questi servizi siano abilitati: cloud-init-local.service, cloud-init.service, cloud-config.service e cloud-final.service.

  5. Assicurarsi di configurare l'immagine in modo da utilizzare SSH per l'accesso al server virtuale.

L'utente predefinito per le immagini personalizzate basate su RHEL è cloud-user. Per ulteriori informazioni sull'abilitazione di cloud-init, vedere Impostazione di cloud-init.

Passo 5 - Dimensione del disco di avvio

Assicurarsi che l'immagine abbia una dimensione del disco di avvio di 10-250 GB. Le immagini che sono inferiori a 10 GB vengono arrotondate fino a 10 GB.

Se stai personalizzando un server virtuale per migrare dall'infrastruttura classica, torna a Migrazione di un server virtuale da un'infrastruttura classica e continua a completare la procedura di migrazione.

Passo 6 - Carica l'immagine in IBM Cloud Object Storage

Carica la tua immagine su IBM Cloud Object Storage. Nella pagina Oggetti del bucket IBM Cloud® Object Storage, fare clic su Carica. È possibile utilizzare il plug-in di trasferimento ad alta velocità Aspera per caricare immagini di dimensioni superiori a 200 MB. Per ulteriori informazioni sul caricamento su IBM Cloud Object Storage, vedi Carica i dati.

Passi successivi

Quando la tua immagine personalizzata Linux viene creata e disponibile in IBM Cloud Object Storage, puoi importare l'immagine personalizzata nel VPC e eseguire l'onboarding di un'immagine del server virtuale per VPC. Assicurati di aver concesso l'accesso a IBM Cloud Object Storage per importare immagini.

Se intendi utilizzare un Catalogo privato per gestire le tue immagini personalizzate, devi prima importare tale immagine in IBM Cloud VPCe quindi eseguire l'onboarding dell'immagine del server virtuale in un catalogo privato.

Una volta importata l'immagine personalizzata, puoi quindi utilizzarla per distribuire un server virtuale nell'infrastruttura IBM Cloud® Virtual Private Cloud.