如何通过 ssh 修改虚拟机的 xml 定义?我知道我可以通过登录主机并使用以下命令以交互方式执行此操作:
virsh edit <domain name>
但是我想使用在远程主机上运行的脚本自动执行此 xml 修改,然后在 KVM 框上通过 ssh 执行命令。
据我观察,virsh edit 正在打开默认编辑器(在我的情况下是 vi)供我编辑文件。我想以某种方式用另一个文本文件中包含的 vm 定义覆盖此文件(由 virsh edit 命令以交互方式打开)。
我找到了有关如何使用以下命令将文本传送到 vi 的线索:
cat <file name> | vi -
但对我来说这行不通,因为,
- virsh 正在打开默认编辑器,并且带有我无法控制的参数。(或者至少我不知道如何修改这些参数)
- 不同的 KVM 盒上的默认编辑器可能不同。
提前感谢您的帮助。
编辑:只是想澄清一下,我没有关闭虚拟机并重新定义它的选项。我想修改跑步领域。
答案1
使用virsh dumpxml
来获取 XML,然后virsh define
用您的修改来替换域定义。