Как включить доступ к консоли Virsh для гостей KVM
После создания гостей KVM я могу получить к ним доступ через SSH, клиент VNC, Virt-viewer, Virt-manager и веб-консоль Cockpit и т. д. Но я не смог получить к ним доступ с помощью команды virsh console
. Для тех, кому интересно: команда virsh console
используется для подключения к консоли гостевой машины из хост-системы. Изучив документацию KVM, я обнаружил, что нам следует включить последовательную консоль в гостевой системе KVM, чтобы обеспечить доступ к консоли virsh для гостей KVM.
У меня есть виртуальная машина CentOS 8, работающая в моей системе Ubuntu 20.04.
$ virsh list
Id Name State
-------------------------
1 centos8 running
Я попытался получить доступ к консоли виртуальной машины CentOS 8 с помощью следующей команды:
virsh console centos8
Я получил этот вывод:
Connected to domain centos8
Escape character is ^]
Доступ к консоли гостя KVM с помощью команды virsh в Linux
Там написано, что я подключен к виртуальной машине centos8, но не вижу консоли виртуальной машины. Я не могу пройти мимо этого экрана. Этот пустой экран продолжал отображаться до тех пор, пока я вручную не вышел из него, нажав клавишу CTRL+]
. Если вы когда-либо оказывались в такой ситуации, просто включите службу последовательной консоли, как описано ниже.
Включить доступ к консоли Virsh для гостей KVM
Как я уже упоминал, вам необходимо добавить последовательную консоль на гостевую машину, чтобы получить доступ к ее virsh-консоли из хост-системы.
Для этого войдите на свою гостевую машину через SSH, Virt-manager или Cockpit и выполните следующие команды, чтобы включить и запустить последовательную консоль:
systemctl enable serial-getty@ttyS0.service
systemctl start serial-getty@ttyS0.service
Включить доступ к консоли virsh для виртуальных машин KVM
Обратите внимание, что вышеуказанные команды следует запускать в гостевой системе KVM (виртуальной машине), а не на хосте KVM.
Вот и все. Мы включили последовательный интерфейс консоли в гостевой системе.
Вы можете убедиться в этом, просмотрев XML-файл конфигурации виртуальной машины:
virsh edit centos8
Если последовательная консоль включена, вы увидите следующие строки:
<serial type='pty'>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
</serial>
<console type='pty'>
<target type='serial' port='0'/>
</console>
Закройте XML-файл и выйдите с гостевой машины.
Теперь запустите консоль virsh гостевой системы с хоста командой:
virsh console centos8
Вас встретит такое сообщение:
Connected to domain centos8
Escape character is ^]
Нажмите Enter еще раз и введите имя пользователя и пароль для подключения к гостевому компьютеру:
virsh консоль виртуальной машины KVM
Теперь вы находитесь внутри консоли гостевой машины. Начните использовать его. Вы можете в любой момент вернуться к консоли хоста, нажав клавиши "CTRL+]".
Связанное чтение:
- Как узнать IP-адрес виртуальной машины KVM
- Как переименовать гостевую виртуальную машину KVM