Поиск по сайту:

Как включить доступ к консоли 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

Статьи по данной тематике