Se non riesci a migrare il tuo server anche se hai installato il kernel più recente, è possibile che questo sia danneggiato. Ciò può accadere, ad esempio, se prima della migrazione la partizione di avvio del server aveva meno di 100 MB di spazio libero. Oltre a ciò, potrebbero esserci altre cause.

Se il kernel Linux è danneggiato, vari segnali possono indicare che qualcosa non funziona correttamente nel sistema. Presta attenzione ai seguenti indizi per riuscire a riconoscere se il kernel è danneggiato:

Problemi di avvio: il segnale più evidente di un kernel danneggiato sono i problemi di avvio. Il sistema potrebbe bloccarsi in un loop di avvio, arrestarsi con messaggi di errore o non avviarsi affatto.

Arresti anomali del sistema e messaggi di errore: se il tuo sistema Linux si blocca frequentemente o si verificano kernel panic inaspettati, ciò potrebbe essere indicativo di un kernel danneggiato. Spesso i kernel panic sono accompagnati da un messaggio di errore su una schermata blu o nera.

Dmesg e log di sistema: controlla i log, in particolare l'output di dmesg subito dopo l'avvio. dmesg fornisce messaggi relativi al kernel che possono essere utili per identificare errori o problemi specifici.

root@localhost:~# dmesg | less

 

Puoi anche utilizzare journalctl per controllare i log di sistema:

root@localhost:~# journalctl -xb

 

Moduli difettosi: un altro possibile indizio di un kernel danneggiato sono i problemi con i moduli del kernel. Controlla se tutti i moduli possono essere caricati o se vengono visualizzati messaggi di errore:

root@localhost:~# lsmod 
root@localhost:~# modprobe yourmodulename

 

Incoerenze nella funzionalità: se alcune funzioni di sistema (come le operazioni di rete, l'accesso al file system, le interazioni hardware, ecc.) risultano inaffidabili o si verificano errori inspiegabili, ciò potrebbe essere indicativo di problemi con il kernel.

Eseguire l'avvio da un kernel più vecchio e riparare l'ultima versione del kernel

Se sul tuo server è installato un kernel più vecchio, puoi avviare il server con uno di questi kernel ed eseguire la risoluzione dei problemi.

  • Accedi al tuo account IONOS.
  • Fai clic su Menu > Server & Cloud nella barra del titolo. Se disponi di più contratti, seleziona quello desiderato.
  • Fai clic su Azioni > Apri console remota.
    La console remota si apre in una nuova scheda.
  • Passa subito al Cloud Panel e fai clic su Azioni > Riavvia.
    La connessione alla console viene interrotta durante il riavvio.
  • Passa nuovamente alla console remota.
  • Fai clic su Options > Reconnect nell'angolo in alto a destra finché non viene visualizzato il seguente messaggio:
  • Premi subito il tasto ESC finché non viene visualizzata la finestra Grub version. Viene mostrato un elenco dei kernel disponibili. Il kernel più recente è situato in alto.
  • Seleziona il secondo kernel più recente e premi Invio. Se il kernel funziona correttamente, il server si avvierà normalmente e verrà visualizzata la finestra di login.
     
Nota bene

Non selezionare un kernel in Recovery Mode.

  • Inserisci i tuoi dati di accesso.
  • Per verificare se hai avviato il server da un kernel più vecchio, digita il seguente comando:

    [root@localhost ~]# uname -r

Eseguire il backup dei dati del server

Effettua il backup dei dati del tuo server prima di riparare il kernel. Per farlo, puoi utilizzare il servizio a pagamento Cloud Backup o salvare i dati sul tuo computer locale utilizzando Filezilla.

Per ulteriori informazioni su Cloud Backup, consulta il seguente articolo:

Cloud Backup: primi passi

Riparare il kernel

  • Usa il seguente comando per verificare quali kernel sono attualmente installati sul tuo server:

    [root@localhost ~]# rpm -q kernel


    Esempio:

    [root@localhost ~]# rpm -q kernel 
    kernel-5.14.0-70.13.1.el9_0.x86_64 
    kernel-5.14.0-427.16.1.el9_4.x86_64

    In questo esempio, kernel-5.14.0-427.16.1.el9_4.x86_64 è l'ultimo kernel installato e kernel-5.14.0-70.13.1.el9_0.x86_64 è il più vecchio.

  • Per riparare l'ultima versione del kernel, reinstalla il kernel corrispondente.

    Per farlo, inserisci il comando seguente sostituendo il segnaposto.

     

    CentOS

    [root@localhost ~]# sudo yum reinstall kernel-PACKAGE_VERSION

    Esempio:

    [root@localhost ~]# sudo yum reinstall kernel-5.14.0-427.16.1.el9_4.x86_64


    AlmaLinux e Rocky Linux

    [root@localhost ~]# sudo dnf reinstall kernel-PACKAGE_VERSION

    Esempio:

    [root@localhost ~]# sudo dnf reinstall kernel-5.14.0-427.16.1.el9_4.x86_64

  • Per verificare se la reinstallazione è avvenuta con successo, inserisci il seguente comando:

    [root@localhost ~]# rpm -q kernel

    Il kernel 4.18.0-240.el8.x86_64 mostra ora il codice di stato del pacchetto ii. Ciò significa che è stato installato e configurato correttamente. Per completare il processo, riavvia il server. Il kernel più recente verrà caricato automaticamente.

  • Per completare il processo, riavvia il server.

    [root@localhost ~]# reboot


 

Riparare il kernel se non c'è spazio sufficiente nella partizione di avvio

Se non c'è spazio sufficiente nella partizione di avvio, la reinstallazione del kernel con il metodo sopra descritto non andrà a buon fine.

Per risolvere questo problema, è necessario liberare spazio. Per farlo, procedi come segue:

  • Digita il seguente comando per visualizzare informazioni sulla memoria utilizzata

    [root@localhost ~]# df -h

  • Quindi libera spazio di memoria. in questo articolo trovi le istruzioni per rimuovere vecchi kernel e liberare spazio su un Server Cloud:

    Liberare spazio su un Server Cloud

Installare manualmente il kernel se la nuova installazione fallisce

Se la reinstallazione del kernel non riesce per un motivo diverso dalla mancanza di spazio sulla partizione di avvio, puoi provare a rimuovere e reinstallare manualmente il kernel.

 

Importante

Non rimuovere mai il kernel attualmente in uso. Ciò può causare gravi errori sul tuo server. Utilizza sempre il comando uname -r per verificare quale kernel stai utilizzando.

Per rimuovere e quindi reinstallare il kernel, procedi come segue:

  • Utilizza il seguente comando per verificare quali kernel sono installati attualmente sul tuo server:

    [root@localhost ~]# rpm -q kernel

  • Per rimuovere il pacchetto del kernel, digita il seguente comando:

     

    CentOS 7

    yum remove kernel-PACKAGE_VERSION


    CentOS Stream 8, CentOS Stream 9, AlmaLinux e Rocky Linux

    sudo dnf remove kernel-PACKAGE_VERSION


    Esempio

    sudo yum remove kernel-5.14.0-427.16.1.el9_4.x86_64

     

  • Per verificare se il pacchetto del kernel è stato rimosso, inserisci il seguente comando:

    [root@localhost ~]# rpm -q kernel

  • Per reinstallare il kernel, inserisci il seguente comando sostituendo il segnaposto:

     

    CentOS

    [root@localhost ~]# sudo yum reinstall kernel-PACKAGE_VERSION


    Esempio:

    [root@localhost ~]# sudo yum reinstall kernel-5.14.0-427.16.1.el9_4.x86_64


    AlmaLinux e Rocky Linux

    [root@localhost ~]# sudo dnf reinstall kernel-PACKAGE_VERSION

    Esempio:

    [root@localhost ~]# sudo dnf reinstall kernel-5.14.0-427.16.1.el9_4.x86_64

     

  • Verifica che il pacchetto del kernel sia stato installato correttamente:

    [root@localhost ~]# rpm -q kernel

  • Per riavviare il server, digita il seguente comando:

    [root@localhost ~]# reboot