Назад | Перейти на главную страницу

Изменение определения xml работающего домена KVM с помощью скрипта

Как я могу изменить xml-определение виртуальной машины по ssh? Я знаю, что могу сделать это в интерактивном режиме, войдя на хост и используя:

virsh edit <domain name>

Но я хочу автоматизировать эту модификацию xml с помощью сценария, который запускается на удаленном хосте, а затем выполняет команды через ssh в поле KVM.

Из того, что я заметил, это то, что virsh edit открывает редактор по умолчанию (vi в моем случае), чтобы я мог редактировать файл. Я хочу как-то перезаписать этот файл (который интерактивно открывается командой virsh edit) определением vm, содержащимся в другом текстовом файле.

Я нашел темы о том, как можно передать текст в vi, используя:

cat <file name> | vi -

Но в моем случае это не сработает, так как

  1. virsh открывает редактор по умолчанию с аргументами, которые я не могу контролировать. (или, по крайней мере, я не знаю, как изменить эти аргументы)
  2. Редактор по умолчанию может отличаться для разных блоков KVM.

Заранее спасибо за помощь.

Изменить: просто хотел прояснить, что у меня нет возможности выключить виртуальную машину и переопределить ее. Я хочу изменить Бег домен.

Использовать virsh dumpxml чтобы получить XML, а затем virsh define чтобы заменить определение домена вашими изменениями.