Que razão poderia impedir a saída do console do “virsh -c qemu: /// system console guest1”?

9

Estou executando o KVM em um host Ubuntu 10.04. O sistema operacional convidado também é o Ubuntu 10.04.

Estou tentando conectar ao convidado usando o comando 'console'. Parece que posso estabelecer uma conexão, mas não recebo saída.

$ sudo virsh -c qemu:///system console guest1
Connected to domain guest1
Escape character is ^]
(NOTHING HERE)
^]
$

Não tenho um dispositivo 'serial' configurado, mas tenho esses dispositivos 'console'.

<console type='pty' tty='/dev/pts/2'>
  <source path='/dev/pts/2'/>
  <target port='0'/>
</console>
<console type='pty' tty='/dev/pts/2'>
  <source path='/dev/pts/2'/>
  <target port='0'/>
</console>

Eles são suficientes para um console ou também preciso de um dispositivo serial?

O que preciso fazer para que o console KVM funcione?

Stefan Lasiewski
fonte

Respostas:

7

Tenho certeza de que você precisa configurar o convidado para usar um console serial. Você precisa de três coisas para que isso funcione:

  1. forneça ao convidado um dispositivo serial virtual do tipo pty(por exemplo, adicionando um na virt-managerpágina de informações da vm)

  2. dizer ao kernel para usar isso para sua saída, adicionando parâmetros de inicialização como serial=tty0 console=ttyS0,115200n8em GRUB_CMDLINE_LINUXem /etc/default/grub; então corrasudo update-grub

  3. (opcional) coloque um getty em ttyS0 para obter um prompt de login

Veja http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507650 para obter mais informações.

poolie
fonte
1
E para adicionar um getty para ttyS0, eu segui as instruções aqui: ubuntuforums.org/showpost.php?p=9610421&postcount=7
Stefan Lasiewski
1

Uma possibilidade é que sua máquina virtual não tenha um console serial configurado.

virsh dumpxml guest1

mostrará se há um console serial configurado ou não. Deve haver algo semelhante a

<serial type='pty'>
<target port='0'/>
</serial>
txwikinger
fonte
Obrigado @txwikinger. Atualizei minha pergunta com alguma saída de virsh dumpxml. Não vejo um dispositivo serial, mas vejo alguns dispositivos de console. Você sabe se isso é suficiente?
Stefan Lasiewski
1

Eu acabei de encontrar isso.

Aqui está o que eu tenho na configuração XML no host (executando o KVM):

<serial type='pty'>
  <source path='/dev/pts/0'/>
  <target port='0'/>
</serial>
<console type='pty' tty='/dev/pts/0'>
  <source path='/dev/pts/0'/>
  <target port='0'/>
</console>

Eu também tive que adicionar o seguinte em /etc/default/grub.conf na VM (acrescente ao comando "kernel"):

kernel ..... serial=tty0 console=ttyS0,115200n8

Finalmente, eu protegi o ttyS0 adicionando "/ etc / securetty" para ativar o login root a partir daqui

vi /etc/securetty
ttyS0

Pode ser necessário mexer nas configurações do getty (como descrito na outra resposta) também

Espero que isto ajude

shreddd
fonte