virsh attach-device для последовательного устройства

Вопрос или проблема

Я хотел бы добавить последовательное устройство (консоль) к гостю с помощью команды virsh attach-device.
У меня есть файл console.xml, содержащий:

<serial type="pty">
  <target port="0"/>
</serial>

И я выполняю следующую команду:

sudo virsh attach-device VMNAME console.xml

Но получаю следующую ошибку:

ошибка: Не удалось подключить устройство из console.xml
ошибка: XML ошибка: неизвестный тип устройства

Вот информация о моей версии:

Скомпилировано с библиотекой: libvir 0.9.8
Используемая библиотека: libvir 0.9.8
Используемый API: QEMU 0.9.8
Запускаемый гипервизор: QEMU 1.0.0

Что я делаю не так? Как я могу добавить это из скрипта? Любая помощь будет оценена!!

Заранее спасибо.

Ваш файл console.xml содержит только одну строку, этого достаточно:

<serial type="pty"/>

Затем вы можете подключить последовательный порт с помощью

virsh attach-device myvm console.xml --config

Вам нужно выключить и снова включить ВМ, чтобы активировать изменения.

Если вы хотите добавить это на свой Linux, вам нужно настроить этот порт как консольный порт (ttyS1 в этом примере), на RHEL8:

[root@myvm ~]# systemctl enable [email protected]
Создана символьная ссылка /etc/systemd/system/getty.target.wants/[email protected] → /usr/lib/systemd/system/[email protected].
[root@myvm ~]# systemctl start [email protected]

Согласно документации libvirt, вам также нужен элемент source. Что-то вроде этого:

<serial type="pty">
  <source path="/dev/pts/3"/>
  <target port="0"/>
</serial>

Ответ или решение

Как добавить последовательное устройство (консоль) к виртуальной машине с помощью команды virsh attach-device

Вам необходимо добавить последовательное устройство к виртуальной машине (VM) с использованием команды virsh attach-device, но возникла ошибка из-за неверной структуры XML файла. Давайте разберёмся, как правильно оформить ваш файл и выполнить необходимые команды.

Структура XML для последовательного устройства

Вы привели следующую структуру вашего файла console.xml:

<serial type="pty">
  <target port="0"/>
</serial>

Ошибка, которую вы получили:

error: XML error: unknown device type

указывает на то, что необходимо добавить также <source> элемент, указывающий путь к устройству. Чтобы избежать ошибок и успешно прикрепить последовательный порт, ваш XML файл должен выглядеть следующим образом:

<serial type="pty">
  <source path="/dev/pts/3"/> <!-- Укажите доступный PTY -->
  <target port="0"/>
</serial>

Обратите внимание, что вместо /dev/pts/3 можно использовать любой другой доступный PTY (например, /dev/pts/0, /dev/pts/1 и так далее).

Команда для прикрепления устройства

После корректировки файла console.xml, используйте следующую команду для прикрепления устройства:

sudo virsh attach-device VMNAME console.xml --config

Флаг --config обеспечит внесение изменений в конфигурацию виртуальной машины, которые сохранятся при перезагрузке.

Перезагрузка виртуальной машины

После выполнения команды, вам потребуется перезагрузить виртуальную машину. Это необходимо для активации изменений. Используйте следующие команды:

sudo virsh shutdown VMNAME  # Остановить виртуальную машину
sudo virsh start VMNAME     # Запустить её снова

Настройка консольного порта в гостевой системе

После того как последовательное устройство будет добавлено, необходимо настроить его в самой гостевой операционной системе. Например, для Red Hat Enterprise Linux 8 выполните следующие шаги:

  1. Включите консольный сервис для нового порта. Для ttyS1 это можно сделать следующим образом:
systemctl enable [email protected]  # Включите автозагрузку сервиса
systemctl start [email protected]   # Запустите сервис

Заключение

Следуя указанным шагам, вы сможете успешно добавить последовательное устройство к своей виртуальной машине. Пример приведенного файла и команд гарантируют, что вы избежите распространённых ошибок. Это решение идеально подходит для администраторов систем, стремящихся расширить функционал своих виртуальных машин с помощью последовательных портов.

Если у вас возникнут дополнительные вопросы, не стесняйтесь обращаться за помощью!

Оцените материал
Добавить комментарий

Капча загружается...