A.19.10. 常见 XML 错误
libvirt 工具使用 XML 文档来存储结构化的数据。当 XML 文档通过 API 传递至 libvirt 时,会出现各种常见错误。有几个常见 XML 错误 - 包括不正确的 XML 标签、不当的值以及缺失的元素 - 如下所示。
A.19.10.1. 编辑域定义
虽然不建议您这样做,但有时需要手动编辑 guest 虚拟机(或域) XML 文件。要访问客户机的 XML 进行编辑,请使用以下命令:
# virsh edit name_of_guest.xml
此命令会在文本编辑器中打开文件,其中包含 guest 虚拟机的当前定义。完成编辑并保存更改后,libvirt 会重新加载并解析 XML。如果 XML 正确,则会显示以下消息:
# virsh edit name_of_guest.xml
Domain name_of_guest.xml XML configuration edited.
重要
在 virsh 中使用 edit 命令来编辑 XML 文档时,请在退出编辑器前保存所有更改。
保存 XML 文件后,使用 xmllint 命令验证 XML 的格式是否正确,或者 virt-xml-validate 命令检查用量问题:
# xmllint --noout config.xml
# virt-xml-validate config.xml
如果没有返回错误,XML 描述将正确格式,并与 libvirt 模式匹配。虽然架构没有捕获所有限制,但修复报告的所有错误将会进一步故障排除。
- libvirt存储的 XML 文档
- 这些文档包含客户机的状态和配置定义。这些文档会自动生成,不应手动编辑。这些文档中的错误包含损坏的文档的文件名。文件名仅在 URI 定义的主机上有效,这可能看到运行 命令的机器。libvirt 创建的文件中的错误很少见。但是,这些错误的一个可能源是 libvirt 的降级问题,而较新版本的 libvirt 总是可以读取由较旧版本生成的 XML,而较旧版本的 libvirt 可能会与新版本中添加的 XML 元素混淆。