Risolvere gli errori di avvio dopo la modifica della forma nelle istanze Linux OCI

Introduzione

Questa esercitazione descrive la risoluzione degli errori di avvio nelle immagini OCI (Oracle Cloud Infrastructure) personalizzate, che possono verificarsi dopo una modifica della forma o anche dopo un semplice riavvio a causa di modifiche ai mapping dei dispositivi di base.

Prima di immergerci nella soluzione, capiamo prima cos'è un'immagine personalizzata.

Un'immagine personalizzata in OCI è un'istantanea del volume di avvio di un'istanza che acquisisce la configurazione del sistema operativo, il software installato e le impostazioni dell'ambiente. Le immagini personalizzate vengono comunemente utilizzate per replicare ambienti preconfigurati in più istanze o aree, garantendo coerenza su larga scala.

Queste immagini possono introdurre rischi, tuttavia, soprattutto se sono strettamente collegate all'hardware originale dell'istanza. Se non è stato progettato tenendo presente la portabilità, potrebbero verificarsi problemi durante la modifica delle forme (ad esempio, il passaggio da un'istanza VM.Standard3 a un'istanza VM.Standard4), poiché le modifiche hardware di base possono influire sul modo in cui i dispositivi vengono mappati.

Questo blog delinea uno scenario di errore di avvio reale che un cliente ha riscontrato utilizzando un'immagine Rocky Linux di Oracle Cloud Marketplace. Sebbene questo esempio sia specifico di Rocky Linux, la causa e la risoluzione della root si applicano ampiamente a qualsiasi immagine personalizzata basata su Linux che utilizza nomi di dispositivi statici nella sua configurazione.

Obiettivi

Questa guida consente agli utenti OCI di identificare e risolvere gli errori di avvio nelle immagini Linux personalizzate causati da modifiche alla forma o reboot, correggendo le configurazioni di accesso e migliorando la portabilità delle immagini.

Prerequisiti

Task 1: Comprendere il problema

  1. Esaminare in che modo le modifiche alla forma OCI influiscono sulla denominazione dell'hardware e del dispositivo di base.
  2. Riconoscere che i nomi dei dispositivi statici in /etc/fstab (ad esempio /dev/sdX) potrebbero diventare non validi dopo una modifica della forma o anche dopo un riavvio.
    • Quando la forma cambia, il sistema operativo può assegnare nuovi nomi ai volumi a blocchi collegati. Ad esempio, un disco /dev/sdb potrebbe ora apparire come /dev/sdc.
    • Se /etc/fstab si basa su questi nomi statici, è possibile che i volumi non vengano attivati al boot.
    • Per evitare questa situazione, utilizzare identificativi persistenti come i percorsi UUID o /dev/disk/by-uuid/ del volume in /etc/fstab.

Task 2: Identificazione di sintomi ed errori

  1. Controllare la presenza di errori nella console seriale o nei log di sistema (journalctl -xb):

    • Welcome to emergency mode! After logging in, type “journalctl -xb”...
    • Failed to mount /mnt/data: No such device
    • Duplicate mount point /mnt/data detected
    • Cannot mount /dev/sdX: No such file or directory
    • systemd[1]: Failed to mount /mnt/data.
    • systemd[1]: Dependency failed for Local File Systems.
    • systemd[1]: Job local-fs.target/start failed with result ‘dependency’.

Task 3: Avvio in modalità soccorso/emergenza

  1. Accedere alla console seriale dell'istanza.
  2. Eseguire il boot in modalità di soccorso o di emergenza per eseguire la diagnostica e le azioni correttive.

Task 4: Identificare i nomi dei dispositivi corretti

  1. Eseguire i comandi blkid o lsblk per elencare i dispositivi a blocchi correnti e i relativi UUID.

Task 5: Attivare manualmente il volume di avvio

  1. Attivare il volume di avvio utilizzando il nome del dispositivo corretto:

    • mount /dev/sdXn /mnt
    • chroot /mnt

Task 6: Modifica /etc/fstab

  1. Aprire /etc/fstab utilizzando un editor (ad esempio vi /etc/fstab)

    • Sostituire tutte le voci /dev/sdX con i valori UUID persistenti corrispondenti trovati da blkid.
    • Rimuovere tutte le opzioni di attivazione duplicate. Nota: questa è una correzione una tantum una volta utilizzati gli identificativi persistenti, le modifiche future alla forma non dovrebbero causare questo problema.

Task 7: Esci e riavvia

  1. Uscire dall'ambiente chroot: exit.
  2. Eseguire il NO MOUNT dei volumi se necessario.
  3. Riavviare l'istanza.

Suggerimenti di prevenzione per evitare errori di avvio dopo modifiche alla forma OCI

  1. Usa identificativi persistenti: specificare sempre i dischi in /etc/fstab utilizzando UUID= o LABEL= anziché i nomi di dispositivo come /dev/sdX. Ciò garantisce che i punti di attivazione rimangano coerenti nonostante le modifiche all'hardware.
  2. Eseguire gli audit blkid: eseguire blkid prima e dopo una modifica della forma per verificare che i mapping da dispositivo a UUID rimangano corretti.
  3. Backup prima delle modifiche: esegue sempre il backup dell'istanza o del volume di avvio prima di qualsiasi modifica della forma per abilitare il recupero in caso di problemi.
  4. Test delle modifiche delle forme in ambiente non di produzione: soprattutto quando si utilizzano immagini marketplace o personalizzate che potrebbero avere installazioni non modificabili, testare prima le modifiche delle forme in un ambiente non di produzione.

Conclusione

Sebbene questo problema sia stato osservato su Rocky Linux, può potenzialmente influire su qualsiasi immagine personalizzata basata su Linux se non vengono seguite le procedure ottimali per il montaggio su disco. La buona notizia è che questa è una correzione una tantum. Dopo l'aggiornamento di /etc/fstab per l'uso di identificativi persistenti come UUID o LABEL, le future modifiche alla forma OCI o anche i reboot non dovrebbero portare a errori di avvio. La convalida proattiva della configurazione garantisce transizioni fluide e affidabili tra le forme.

Conferme

Altre risorse di apprendimento

Esplora altri laboratori su docs.oracle.com/learn o accedi a più contenuti di formazione gratuiti sul canale YouTube di Oracle Learning. Inoltre, visitare education.oracle.com/learning-explorer per diventare Oracle Learning Explorer.

Per la documentazione del prodotto, visitare Oracle Help Center.