Как создать временный домен в libvirt?
как создать переходный домен с помощью libvirt? (Используя QEMU/KVM в качестве back-end)
в документации рассматривается разница между переходными и постоянными доменами по этой ссылке: http://wiki.libvirt.org/page/VM_lifecycle#Transient_guest_domains_vs_Persistent_guest_domains
тем не менее, я не нашел конкретного примера о том, как его создать.
единственный указатель, который я нашел в этом письме: https://www.redhat.com/archives/libvirt-users/2011-August/msg00057.html, где сопровождающий предлагает добавить <transient/>
в теге <disk>
поле описания XML.
когда я попытался, я получил этот неутешительный ответ:"libvirtError: unsupported configuration: transient disks not supported yet"
.
эта функция действительно "не поддерживается", или я что-то пропустила? Документация заставляет меня думать, что это должно быть поддержано.
любой ответ, связанный с привязкой C или Python, virsh или virt-manager будет высоко оценен!
1 ответов
помощью virsh
если вы используете virsh
, чем есть команды:
define
-- эта команда принимает XML-файл в качестве параметра и делает домен известным libvirt (вы можете ссылаться на этот домен, используя его имя или UUID).start
-- эта команда принимает имя домена или UUID в качестве параметра и запускает (загружает) домен.-
create
-- эта команда принимает XML-файл в качестве параметра и создает (запускает) домен с параметрами, описанными в этом файле. В зависимости от того, известен ли домен libvirt (ранее определенный с этим UUID), это может привести к двум вещам:если он уже определен, известный домен помечается как запущенный, это постоянный домен, но он запускается с предоставленными настройками, а не с теми, с которыми он был определен).
в случае, если он не определен, домен started теперь является переходным доменом (он исчезает, когда он уничтожается,выключается и т. д.).
undefine
-- эта команда принимает доменное имя или UUID (или ID, если он запущен) и делает его неизвестным libvirt, но если этот домен запущен, он не уничтожает его, просто помечает его переходным.
функции C
в C API, которые virsh использует для этих команд являются:
-
define
-- virDomainDefineXML -
start
-- virDomainCreate -
create
-- virDomainCreateXML -
undefine
-- virDomainUndefine
Примечания:
имена могут быть немного запутанными, но из-за обратной совместимости он хранится от Xen раз.
большинство из этих команд упоминания имеют параметры, которые могут изменить поведение, это может привести к использованию различных функций C для этой цели.