Después de crear los invitados KVM, puedo acceder a ellos a través de SSH, cliente VNC, Virt-viewer, Virt-manager y cabina consola web, etc. Pero no pude acceder a ellos usando virsh console
dominio. Para aquellos que se preguntan, la virsh console
El comando se usa para conectarse a la consola de la máquina invitada desde el sistema host. Después de revisar la documentación de KVM, descubrí que deberíamos habilitar la consola en serie en el sistema invitado de KVM para habilitar el acceso a la consola virsh para los invitados de KVM.
Tengo una máquina virtual CentOS 8 ejecutándose en mi sistema Ubuntu 20.04.
$ virsh list Id Name State ------------------------- 1 centos8 running
Traté de acceder a la consola de CentOS 8 VM usando el siguiente comando:
$ virsh console centos8
Obtuve esta salida:
Connected to domain centos8 Escape character is ^]

Dice que estoy conectado a la máquina virtual centos8, pero no veo la consola de la máquina virtual. No puedo pasar de esta pantalla. Seguía mostrando esta pantalla en blanco hasta que salí manualmente presionando CTRL+]
llave. Si alguna vez ha estado en esta situación, habilite el servicio de consola serie como se describe a continuación.
Habilite el acceso a la consola Virsh para invitados KVM
Como ya mencioné, debe agregar una consola serie en su máquina invitada para acceder a su consola virsh desde el sistema host.
Para hacerlo, inicie sesión en su máquina invitada a través de SSH, Virt-manager o Cockpit y ejecute los siguientes comandos para habilitar e iniciar una consola serie:
# systemctl enable [email protected]
# systemctl start [email protected]

Tenga en cuenta que los comandos anteriores deben ejecutarse en el sistema invitado KVM (máquina virtual) , no en el host KVM.
Eso es todo. Hemos habilitado la interfaz de la consola serie en el invitado.
Puede verificarlo mirando el archivo XML de configuración de la VM:
$ virsh edit centos8
Si la consola serial está habilitada, verá las siguientes líneas:
<serial type='pty'> <target type='isa-serial' port='0'> <model name='isa-serial'/> </target> </serial> <console type='pty'> <target type='serial' port='0'/> </console>
Cierre el archivo XML y salga de la máquina invitada.
Ahora inicie la consola virsh del sistema invitado desde el host usando el comando:
$ virsh console centos8
Será recibido con este mensaje:
Connected to domain centos8 Escape character is ^]
Presione ENTER nuevamente y escriba su nombre de usuario y contraseña para conectarse a la máquina invitada:

Ahora está dentro de la consola de la máquina invitada. Empieza a usarlo. Puede volver a la consola host en cualquier momento presionando "CTRL+]" llaves.
Lectura relacionada:
- Cómo encontrar la dirección IP de una máquina virtual KVM
- Cómo cambiar el nombre de la máquina virtual invitada KVM