【问题标题】:Unable to edit KVM config file无法编辑 KVM 配置文件
【发布时间】:2012-05-18 03:43:20
【问题描述】:
我已经在我的 Ubuntu 系统上安装了 KVM。使用vmbuilder,我设置了一个 linux VM。当我尝试使用virsh console vm 命令访问控制台时,我得到了error。我尝试遵循该解决方案,但似乎无法对配置文件进行任何永久性更改。我尝试手动编辑 xml 配置文件以及使用 virsh edit 命令。但是在我编辑文件并关闭它之后,如果我再次使用virsh edit 重新打开配置文件,我会在没有任何编辑的情况下取回原始文件。
谁能告诉我哪里出错了。
【问题讨论】:
标签:
virtualization
virtual-machine
qemu
kvm
libvirt
【解决方案1】:
首先,确保您有一个 XML 文件。
然后,请确保您没有定义任何机器。
virsh list --all
如果这返回任何机器,请在所有机器上运行。
virsh undefine <machine>
现在您应该有一个清晰的系统。
现在开始为您要设置的机器编辑您的 xml 文件。确保它具有 tty 的定义,以便您稍后可以连接到控制台。设备下应该有一个控制台或串行部分。具体不记得了。
xml文件准备好后,就可以定义了。
virsh define <path_to_xml>
它所做的是将 xml 放入 virsh 中,所以现在它是实际用于机器的副本,而不是磁盘上的 xml 文件。这意味着对该文件的任何修改都不会反映在 virsh 中。您仍然可以修改 xml,但现在为了这样做,您需要取消定义并再次定义它或使用。
您可以列出机器并使用这些命令检查特定机器的配置(机器的名称是 xml 文件中定义的名称)。
virsh list --all
virsh edit <machine>
现在启动机器
virsh start <machine>
应该说机器已经启动,你应该可以使用控制台连接到机器
virsh console <machine>
前面的两个命令可以写成一个命令,让你立即进入控制台。
virsh start <machine> --console
【解决方案2】:
取消定义 XML 时要小心。
取消定义之前的第一步是复制实际的xml。
否则你会发现 $> virsh undefine file.xml 从 virsh 列表中删除虚拟机并删除实际的 xml 文件。
制作一个副本并按照为 origamicoder 定义的程序进行操作。