#format wiki #LANGUAGE it <
> <> <> = 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 [[http://linux.die.net/man/1/virsh|virsh]], interfaccia a [[AmministrazioneSistema/Terminale|riga di comando]] per [[http://libvirt.org/|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 [[AmministrazioneSistema/Systemd|systemd]] gestisce i servizi di console seriale. 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:{{{ sudo nano /etc/default/grub }}} 0. Trovare la riga `GRUB_CMDLINE_LINUX_DEFAULT` e `GRUB_CMDLINE_LINUX` e aggiungere:{{{ console=ttyS0,115200 }}}e quindi salvare e chiudere il file. 0. Aggiornare '''GRUB''':{{{ sudo update-grub }}} 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:{{{ sudo systemctl enable serial-getty@ttyS0.service }}}{{{ sudo systemctl start serial-getty@ttyS0.service }}} 0. 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) === 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 `` e `` simili a queste:{{{ }}} 0. 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 = 0. Per connettersi alla sessione ''qemu:///system'' digitare nel [[AmministrazioneSistema/Terminale|terminale]] dell'host:{{{ virsh -c qemu:///system }}}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. {{{#!wiki important 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 = * [[https://help.ubuntu.com/community/KVM/Access|Documento originale sul sito internazionale di Ubuntu]] * [[https://libvirt.org/|Sito ufficiale di Libvirt]] ---- CategoryVirtualizzazione