检索虚拟机管理程序的 libvirt 命令

检索虚拟机管理程序的 libvirt 命令

Libvirt 很棒,但我需要将虚拟机从其配置移植到裸机 QEMU 或 Xen。要重现设置,我需要将命令发送到特定的虚拟机管理程序,以便在目标系统中重现虚拟机。

所以我基本上需要对 Xen 和 QEMU 的 libvirt xml 配置进行解释。最好的方法是在 Libvirt 本身中查找命令。必须进行这一步,否则甚至无法启动一台机器。

理论上,不同版本的 Libvirt 之间 XML 配置的评估可能会有所不同。因此,追踪由此导致的错误可能很困难,而且在科学场景中也无法重现。

一种解决方法是询问正在运行的 QEMU 或 Xen 实例的配置。但我不确定该怎么做。

你有什么想法?

编辑:我不会检索 libvirt 在后台提供的所有网络设置。只是简单的机器。因此,例如,有一个针对特定操作系统优化 libvirt 客户端的选项。我想知道它对 QEMU 或 Xen 的基本命令有何影响。

我只寻找命令行选项

# commands of creating machines withe the Hypervisors:
qemu-system-... [kvm / cpu / basics]
xl create [Myconfigfile.conf]

*[desired arguments]

答案1

答案完全取决于所讨论的虚拟机管理程序的工作方式,因此没有单一的方法可以实现这一点。对于 QEMU,libvirt 只是生成一个带有一组特定参数的 QEMU 二进制文件。您可以通过运行命令virsh domxml-to-native或查看来/var/log/libvirt/qemu/$GUESTNAME.log查看这些参数。请注意,管理 QEMU 客户机不仅仅是运行 QEMU - libvirt 还设置 cgroups、防火墙规则、SELinux/AppArmor,并为某些内容传入预先打开的文件描述符。因此,在 libvirt 之外复制这项工作需要大量工作,建议不要尝试这样做。对于 Xen 虚拟机管理程序,libvirt 会调用各种库 API,因此如果不编写代码来执行相同的操作,就无法复制它。

相关内容