Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "ivantu/Virtualizzazione/Kvm/Accesso"
Differenze tra le versioni 1 e 2
Versione 1 del 18/10/2025 15.28.16
Dimensione: 6190
Autore: ivantu
Commento: 1° stesura
Versione 2 del 20/10/2025 02.15.06
Dimensione: 5763
Autore: jeremie2
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 6: Linea 6:
<<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?t=371617"; rilasci="25.10 25.04 24.04 22.04 10.04")>> <<Informazioni(forum="http://forum.ubuntu-it.org/viewtopic.php?t=371617"; rilasci="25.10 25.04 24.04 22.04")>>
Linea 10: Linea 10:
È 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 il debugging, per accedere a sistemi senza interfaccia di rete funzionante, o per un'alternativa all'accesso tramite SSH o altre connessioni di rete. È 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.
Linea 12: Linea 12:
L'accesso avviene tramite [[http://linux.die.net/man/1/virsh|virsh]], l'interfaccia a [[AmministrazioneSistema/Terminale|riga di comando]] per [[http://libvirt.org/|libvirt]]. L'accesso avviene tramite [[http://linux.die.net/man/1/virsh|virsh]], interfaccia a [[AmministrazioneSistema/Terminale|riga di comando]] per [[http://libvirt.org/|libvirt]].
Linea 14: Linea 14:
= Configurare una console seriale nel sistema ospite = = Configurare console seriale nel sistema ospite =
Linea 16: Linea 16:
Per abilitare l'accesso seriale, è necessario configurare sia il sistema ospite che l'host '''KVM'''. Per abilitare l'accesso seriale è necessario configurare sia il sistema ospite che l'host '''KVM'''.
Linea 18: Linea 18:
== Lato Ospite (all'interno della Macchina Virtuale) == == Lato ospite (interno alla macchina virtuale) ==
Linea 20: Linea 20:
Per Ubuntu 18.04 e versioni successive (inclusa la 22.04), [[AmministrazioneSistema/Systemd|systemd]] gestisce i servizi di console seriale. Da Ubuntu 18.04 in poi [[AmministrazioneSistema/Systemd|systemd]] gestisce i servizi di console seriale.
Linea 22: Linea 22:
 0. Aggiungere una console seriale alla configurazione del kernel GRUB (all'interno della VM). Aprire con un [[Ufficio/EditorDiTesto|editor di testo]] e con i [[AmministrazioneSistema/PrivilegiDiAmministrazione/Sudo|privilegi di amministratore]] il file `/etc/default/grub`:{{{  0. Aggiungere una console seriale alla configurazione del kernel GRUB (all'interno della VM) aprendo con un [[Ufficio/EditorDiTesto|editor di testo]] e con i [[AmministrazioneSistema/PrivilegiDiAmministrazione/Sudo|privilegi di amministratore]] il file `/etc/default/grub`, ad esempio:{{{
Linea 24: Linea 24:
 }}} Trovare la riga `GRUB_CMDLINE_LINUX_DEFAULT` e `GRUB_CMDLINE_LINUX` e aggiungere:{{{  }}}
 0.
Trovare la riga `GRUB_CMDLINE_LINUX_DEFAULT` e `GRUB_CMDLINE_LINUX` e aggiungere:{{{
Linea 26: Linea 27:
}}} Salvare e chiudere il file. Aggiornare GRUB (all'interno della VM):{{{ }}}e quindi salvare e chiudere il file.
 0.
Aggiornare '''GRUB''':{{{
Linea 29: Linea 31:
 0. Abilitare il servizio `getty` per la console seriale (all'interno della VM). I sistemi basati su [[AmministrazioneSistema/Systemd|systemd]] su Ubuntu 18.04+ gestiscono automaticamente i servizi `ttyS0.service`. Per assicurarsi che sia abilitato, digitando:{{{  0. Abilitare il servizio '''getty''' per la console seriale. I sistemi basati su [[AmministrazioneSistema/Systemd|systemd]] gestiscono automaticamente i servizi '''ttyS0.service'''. Per assicurarsi che sia abilitato digitare:{{{
Linea 31: Linea 33:
}}}{{{
Linea 32: Linea 35:
 }}}
 {{{#!wiki note
 Se si usano le istruzioni del ttyS0.conf per `upstart`, come nell'esempio originale, quel metodo è obsoleto per Ubuntu 18.04+ e non dovrebbe essere utilizzato.
 }}}
 0. Riavviare la Macchina Virtuale, necessario per applicare le modifiche a GRUB e avviare il servizio getty.
}}}
 0. Riavviare la macchina virtuale per applicare le modifiche a '''GRUB''' e avviare il servizio '''getty'''.
Linea 38: Linea 38:
== Lato Host (Macchina fisica che esegue KVM) == == Lato host (macchina fisica che esegue KVM) ==
Linea 40: Linea 40:
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. 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.
Linea 42: Linea 42:
Per verificare o aggiungere un dispositivo seriale: === Tramite virt-manager (GUI) ===
 0. Aprire '''virt-manager''' e selezionare la VM.
 0. Fare clic sull'icona '''Mostra dettagli hardware''' (icona "i").
 0. Cercare '''Console Seriale''' nell'elenco hardware. Se non presente fare clic su '''Aggiungi hardware''' e selezionare '''Seriale'''.
 0. Assicurarsi che il '''Tipo di destinazione''' sia `pty` e '''Percorso di origine''' sia un dispositivo pseudo-terminale.
=== Tramite virsh edit (CLI) ===
 0. Digitare nel [[AmministrazioneSistema/Terminale|terminale]] dell'host:{{{
virsh edit NOME_DELLA_VM
}}}sostituendo `NOME_DELLA_VM` con il nome effettivo della macchina virtuale.
 0. 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>
}}}
 0. Salvare e chiudere il file XML.
Linea 44: Linea 66:
 * Tramite '''virt-manager (GUI)''':
  0. Aprire `virt-manager` e selezionare la VM.
  0. Cliccare sull'icona "Mostra dettagli hardware" (icona "i").
  0. Cercare "Console Seriale" nell'elenco Hardware. Se non presente, cliccare "Aggiungi hardware" e selezionare "Seriale". Assicurarsi che "Tipo di destinazione" sia `pty` e "Percorso di origine" sia un dispositivo pseudo-terminale.
 * Tramite '''virsh edit (CLI)''':
  0. Eseguire su un [[AmministrazioneSistema/Terminale|terminale]] dell'host `virsh edit [nome_della_vm]`.
  {{{#!wiki note
  Sostituire [nome_della_vm] con il nome effettivo della macchina virtuale.
  }}}
  0. Assicurarsi che esista una sezione <console> e <serial> simile a questa:{{{
  <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>
  }}} Salvare e chiudere il file XML.
== Configurazione variabile TERM (opzionale) ==
Linea 67: Linea 68:
== Configurazione della variabile TERM (opzionale) ==

La variabile d'ambiente TERM indica il tipo di terminale in uso. Impostarla correttamente può migliorare l'esperienza della console seriale.

Per verificare la variabile TERM nel terminale host/client:{{{
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:{{{
Linea 73: Linea 70:
}}} Per 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, con il comando:{{{
}}}Ad esempio se si sta eseguendo '''screen''' sarà `screen`, per '''byobu''' sarà `screen-bce`, ecc.<<BR>>
È anche possibile impostare la variabile temporaneamente quando si è già connessi alla console digitando:{{{
Linea 76: Linea 73:
}}} Si consiglia di utilizzare un tipo di terminale generico e ampiamente supportato come `xterm` o `screen`. }}}Si consiglia di utilizzare un tipo di terminale generico e ampiamente supportato come `xterm` o `screen`.
Linea 80: Linea 77:
 0. Connettersi alla sessione qemu:///system. Eseguire il seguente comando in un [[AmministrazioneSisteam|terminale]] dell'host:{{{  0. Per connettersi alla sessione ''qemu:///system'' digitare nel [[AmministrazioneSisteam|terminale]] dell'host:{{{
Linea 82: Linea 79:
 }}} Si entrerà nella shell interattiva di virsh.
 0. Avviare la macchina virtuale (se non già avviata). Nella shell virsh, digitare:{{{
start [nome_della_vm]
 }}}
 {{{#!wiki note
 Sostituire [nome_della_vm]
con il nome effettivo della macchina virtuale.
 }}}
 
0. Connettersi alla console. Quando la VM sarà avviata, connettersi alla sua console seriale digitando:{{{
console [nome_della_vm]
 }}}
 {{{#!wiki note
 Sostituire [nome_della_vm]
con il nome effettivo della macchina virtuale.
 }}}
 
0. Premere "Invio" per arrivare alla richiesta di autenticazione e autenticarsi come di consueto.
}}}Si entrerà nella shell interattiva di '''virsh'''.
 0. 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.
 0. 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.
 0. Premere '''Invio''' per arrivare alla richiesta di autenticazione e autenticarsi come di consueto.
Linea 98: Linea 89:
L'input per il nome utente è attivo anche se la richiesta di autenticazione non dovesse essere immediatamente visualizzata. L'input per il nome utente sarà attivo anche se la richiesta di autenticazione non dovesse essere immediatamente visualizzata.
Linea 101: Linea 92:
= Uscire dalla console seriale di virsh = = Uscire dalla console seriale =
Linea 103: Linea 94:
Utilizzare la combinazione di tasti `Ctrl` + `]`. È sufficiente utilizzare la combinazione di tasti '''Ctrl + ]'''.
Linea 107: Linea 98:
== La console si comportarta in modo inatteso (caratteri strani, problemi di visualizzazione) ==

C
ontrollare che la variabile d'ambiente TERM sia impostata correttamente.

==
Il terminale taglia la parte superiore della visualizzazione ==

I
mpostare la finestra del [[AmministrazioneSistema/Terminale|terminale]] per avere un'area visualizzata standard (es. 80x24 caratteri).
 * 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).


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