Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati

Versione 2 del 20/10/2025 02.15.06

Nascondi questo messaggio


Attenzione! Questa è una Pagina di prova. Le informazioni riportate potrebbero essere incomplete, errate e potenzialmente pericolose. Per contribuire alla realizzazione di questa pagina consultare la discussione di riferimento.

Guida verificata con Ubuntu: 22.04 24.04 25.04 25.10

Problemi in questa pagina? Segnalali in questa discussione

Introduzione

È possibile accedere direttamente a un sistema ospite di KVM utilizzando come interfaccia una console seriale. Questo metodo fornisce un accesso a basso livello alla macchina virtuale utile per: debugging, accedere a sistemi senza interfaccia di rete funzionante, alternativa all'accesso via SSH o altre connessioni di rete.

L'accesso avviene tramite virsh, interfaccia a riga di comando per libvirt.

Configurare console seriale nel sistema ospite

Per abilitare l'accesso seriale è necessario configurare sia il sistema ospite che l'host KVM.

Lato ospite (interno alla macchina virtuale)

Da Ubuntu 18.04 in poi systemd gestisce i servizi di console seriale.

  1. Aggiungere una console seriale alla configurazione del kernel GRUB (all'interno della VM) aprendo con un editor di testo e con i privilegi di amministratore il file /etc/default/grub, ad esempio:

    sudo nano /etc/default/grub
  2. Trovare la riga GRUB_CMDLINE_LINUX_DEFAULT e GRUB_CMDLINE_LINUX e aggiungere:

    console=ttyS0,115200
    e quindi salvare e chiudere il file.
  3. Aggiornare GRUB:

    sudo update-grub
  4. Abilitare il servizio getty per la console seriale. I sistemi basati su systemd gestiscono automaticamente i servizi ttyS0.service. Per assicurarsi che sia abilitato digitare:

    sudo systemctl enable serial-getty@ttyS0.service
    sudo systemctl start serial-getty@ttyS0.service
  5. Riavviare la macchina virtuale per applicare le modifiche a GRUB e avviare il servizio getty.

Lato host (macchina fisica che esegue KVM)

Assicurarsi che la macchina virtuale abbia un dispositivo seriale configurato nel suo hardware virtuale. Le VM create con virt-manager o virt-install di solito includono un dispositivo seriale per impostazione predefinita. Verificarne la presenza o aggiungerne uno nei seguenti modi.

Tramite virt-manager (GUI)

  1. Aprire virt-manager e selezionare la VM.

  2. Fare clic sull'icona Mostra dettagli hardware (icona "i").

  3. Cercare Console Seriale nell'elenco hardware. Se non presente fare clic su Aggiungi hardware e selezionare Seriale.

  4. Assicurarsi che il Tipo di destinazione sia pty e Percorso di origine sia un dispositivo pseudo-terminale.

Tramite virsh edit (CLI)

  1. Digitare nel terminale dell'host:

    virsh edit NOME_DELLA_VM

    sostituendo NOME_DELLA_VM con il nome effettivo della macchina virtuale.

  2. Assicurarsi che esistano una sezione <console> e <serial> simili a queste:

    <devices>
      <serial type='pty'>
        <target type='isa-serial' port='0'>
          <model name='isa-serial'/>
        </target>
      </serial>
      <console type='pty'>
        <target type='serial' port='0'/>
      </console>
      <!-- Altri dispositivi... -->
    </devices>
  3. Salvare e chiudere il file XML.

Configurazione variabile TERM (opzionale)

La variabile d'ambiente TERM indica il tipo di terminale in utilizzo. Impostarla correttamente può migliorare l'esperienza della console seriale. Per verificare la variabile TERM nel terminale host/client digitare:

echo $TERM

Ad esempio se si sta eseguendo screen sarà screen, per byobu sarà screen-bce, ecc.
È anche possibile impostare la variabile temporaneamente quando si è già connessi alla console digitando:

export TERM=screen

Si consiglia di utilizzare un tipo di terminale generico e ampiamente supportato come xterm o screen.

Connessione alla console seriale

  1. Per connettersi alla sessione qemu:///system digitare nel terminale dell'host:

    virsh -c qemu:///system

    Si entrerà nella shell interattiva di virsh.

  2. Avviare la macchina virtuale se non già avviata. Nella shell virsh digitare:

    start NOME_DELLA_VM

    sostituendo NOME_DELLA_VM con il nome effettivo della macchina virtuale.

  3. Quando la VM sarà avviata connettersi alla sua console seriale digitando:

    console NOME_DELLA_VM

    sostituendo NOME_DELLA_VM con il nome effettivo della macchina virtuale.

  4. Premere Invio per arrivare alla richiesta di autenticazione e autenticarsi come di consueto.

L'input per il nome utente sarà attivo anche se la richiesta di autenticazione non dovesse essere immediatamente visualizzata.

Uscire dalla console seriale

È sufficiente utilizzare la combinazione di tasti Ctrl + ].

Risoluzione Problemi

  • Caratteri strani e problemi di visualizzazione nella console: controllare che la variabile d'ambiente TERM sia impostata correttamente.

  • Il terminale taglia la parte superiore della visualizzazione: impostare la finestra del terminale per avere un'area visualizzata standard (es. 80x24 caratteri).

Ulteriori risorse


CategoryHomepage CategoryNuoviDocumenti