【问题标题】:Pass kickstart file to virtual manager xml file将 kickstart 文件传递​​给虚拟管理器 xml 文件
【发布时间】:2017-01-13 09:17:27
【问题描述】:

我需要将 kickstart 文件传递​​给 xml 以使用 virt-install 创建虚拟设备。

<os>
    <type arch="x86_64" machine="pc-i440fx-xenial">hvm</type>
    <loader>/usr/lib/xen/boot/hvmloader</loader>
    <kernal>/boot/vmlinuz-3.10.0-327.el7.x86_64</kernal>
    <initrd>/boot/initrd.img-4.4.0-59-generic</initrd>
    <cmdline>ks=http://ipaddr/try.cfg ip=ip netmask=255.255.255.0</cmdline>
    <bootmenu enable="yes" />
</os>

这是正确的方法吗?我按照this 教程中给出的步骤进行操作。但我收到以下错误:

文件“/usr/lib64/python2.7/site-packages/libvirt.py”,第 1029 行,在 创建

if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self) libvirt.libvirtError: unable to stat:

/boot/vmlinuz-3.10.0-327.el7.x86_64: 没有这样的文件或目录

【问题讨论】:

    标签: python xml virtual-machine libvirt


    【解决方案1】:

    您使用的整体语法是正确的,但您提供的数据中有一些错误。特别是您为 选项提供了一个内核映像——它应该指向一个 initrd 映像。此外,您通常根本不想使用主机操作系统/boot 目录中的内核+initrd。相反,您希望获得操作系统安装程序的内核+initrd。如果你试图在你的访客中安装 Fedora,你会从

    获取文件

    http://dl.fedoraproject.org/pub/fedora/linux/releases/25/Server/x86_64/os/images/pxeboot/

    并将它们放入 /var/lib/libvirt/images/ 并将您的 XML 指向那些。

    【讨论】:

    • 谢谢@DanielB 是的,先生,这是拼写错误。我现在已经编辑了。但我不太清楚要为元素放置哪些数据:内核和 initrd。详细信息:OS-centos-7 linux。你能详细解释一下吗?谢谢。
    • 只需从相关操作系统的 pxeboot/ 目录下载 initrd.img 和 vmlinuz 文件,并将它们保存到 /var/lib/libvirt/images。 XML 只需要 /var/lib/libvirt/images/{vmlinuz 文件名}/var/lib/libvirt/images/{initrd.img 文件名}跨度>
    • 是的,先生。我得到了它。谢谢。它是通过 xml 传递 kickstart 文件的唯一方法吗?
    • 是的,使用 kernel+initrd+cmdline 元素是通过 XML 进行 kickstart 的唯一明确方式。替代方法是获取 boot.iso 映像,解压缩它,添加一个 kickstart 文件,然后从内容创建一个新的 ISO 映像。这比直接使用 kernel+initrd 要复杂得多。或者使用文件在某处设置 PXE 引导服务器
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-27
    • 2011-10-17
    • 2011-06-19
    • 2012-01-18
    • 2014-07-09
    • 2011-09-07
    相关资源
    最近更新 更多