virt-install 抱怨“错误:没有这样的选项:--network-bridge:br0”

virt-install 抱怨“错误:没有这样的选项:--network-bridge:br0”

我正在关注这里的路线在 CentOS 6.4 i386/686 中设置虚拟机。但我收到这个错误:

$ sudo virt-install --network-bridge:br0 --name vm1 --ram=1024 --vcpus=1 --disk path=/var/lib/libvirt/images/vm1.img,size=10 --cdrom ~/winxp.iso
Usage: virt-install --name NAME --ram RAM STORAGE INSTALL [options]

virt-install: error: no such option: --network-bridge:br0

果然,virt-install --help没有将其列为选项。但它也没有列出--cdrom--disk...

是不是说明我没设置br0好? (我非常仔细地遵循了指南。我不确定如何验证它正在寻找的内容是否存在。)

我应该指出,我没有安装 GUI——使用了“最小”ISO。

更新

$ sudo -i brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.0040caab50b8       no              eth0
virbr0          8000.525400dfd8ac       yes             virbr0-nic

也许我不明白——我以为虚拟机需要创建操作系统?或者我猜你创建了虚拟机,它假装是裸机,然后你可以进入虚拟机并告诉它使用 CD ISO 作为 CD 驱动器,然后从那里安装操作系统?

那么此时,修改完 XML 文件并重新启动 libvirtd,我就可以运行 KVM 并在其上运行 vm1,准备好安装操作系统了吗?

问题是,virt-install 仍然给出这个错误。 IMO 由于某种原因,它没有内置名为 --network-bridge 的交换机,但我不知道为什么会这样。版本错误?编译时没有选项?我忘记安装某种依赖项?这些对我来说似乎不太可能,我认为网络桥接对于虚拟机来说是相当标准的,因此我首先在这里发布一个问题。 :) 抱歉,如果我胡言乱语,但我真的只是停留在 virt-install 命令步骤上。

答案1

打字错误

--network-bridge当我搜索时,我没有看到任何参考您引用 PDF 的 URL也不PDF 的原始来源。将开关修复为virt-install应该可以解决您的问题。这是我相信您正在使用的文档中的示例:

# virt-install \
--network bridge:br0 \
--name vm1 \
--ram=1024 \
--vcpus=1 \
--disk path=/vm-images/vm1.img,size=10 \
--graphics none \ 
--location=http://my.server.com/pub/rhel6.1/install-x86_64/ \
--extra-args="console=tty0 console=ttyS0,115200"

设置网络的其他方法

以下是为 VM 创建桥接设备的其他方法,而不是使用virt-install.

虚拟管理器

您可以在启动使用 br0 网络的虚拟机之前创建该网络。看这里:

    virt-manager 的 ss

维尔什

如果您无权访问 GUI 或无法远程显示virt-manager到另一个可以访问 GUI 的系统,您可以使用命令行工具创建网络设备,virsh

首先通过编辑文件将 eth0 网络设备添加到网桥 br0 中/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
BRIDGE=br0
BOOTPROTO=none
HWADDR=[[your mac address]]
ONBOOT=yes
USERCTL=yes
PEERDNS=yes
NM_CONTROLLED=no

然后创建文件/etc/sysconfig/network-scripts/ifcfg-br0并添加以下内容:

DEVICE=br0
ONBOOT=yes
BOOTPROTO=dhcp 
TYPE=Bridge
PEERNTP=yes

接下来重新启动网络:

$ sudo service network restart

现在创建一个 libvirt VM 配置/etc/libvirt/qemu/<vmname>.xml并向其中添加以下内容:

<interface type='bridge'>
  <mac address='11:22:33:44:55:66'/>
  <source bridge='br0'/>
  <model type='virtio'/>
</interface>

现在您可以启动 libvirtd 和虚拟机,运行以下命令时您应该看到 br0 网络:

$ sudo -i brctl show
bridge name bridge id       STP enabled interfaces
br0     8000.bcaec534c9e8   no      vnet5
                            vnet4
                            vnet3
                            vnet2
                            vnet1
                            vnet0
                            eth0
virbr0      8000.000000000000   yes     

相关内容