KVM/QEMU CentOS 8 启动的虚拟机网络中断,无法访问

KVM/QEMU CentOS 8 启动的虚拟机网络中断,无法访问

我不明白为什么我使用 virt-install 和 kickstart 创建的虚拟机没有能够从外部主机可靠访问的网络。我使用 virt-manager 创建的虚拟机可以使用 ssh 登录,可以 ping 通等等,但 kickstarted 创建的虚拟机无法访问。

即使我使用 virsh 编辑了 kickstart 的虚拟机,并且更改在重启后仍然无法生效。kube2 是使用 virt-install 和 kickstart 创建的。其他两个是使用 virt-manager 创建的。

[root@kraken msh]# virsh dumpxml kube2 |grep bridge
    <interface type='bridge'>
      <source bridge='br0'/>

[root@kraken msh]# virsh dumpxml kube1 |grep bridge
    <interface type='bridge'>
      <source network='host-bridge' bridge='br0'/>

[root@kraken msh]# virsh dumpxml kube0 |grep bridge
    <interface type='bridge'>
      <source network='host-bridge' bridge='br0'/>

我在 virt-install 脚本中使用什么语法来确保源网络 (host-bridge) 已构建?我的 virt-install --network 语法变化很大,我甚至不想在这里发布它。有时我能够 ssh 到虚拟机的 IP,但不能 ssh 到主机名。

我的 virsh-install 语法中是否需要“--bridge br0”或其他内容?

答案1

我在 /etc/sysconfig/network-scripts/ifcfg-enp2s0f1 中输入了错误的 DEVICE= 名称,这是我从属于 br0 的 NIC。

我执行了

nmcli connection add type bridge-slave autoconnect yes con-name enp0s8 ifname enp0s8 master br0

而不是正确的

nmcli connection add type bridge-slave autoconnect yes con-name enp0s8 ifname enp2s0f1 master br0

所以问题出在复制粘贴或 pebkac 上。与 virt-install 无关。这是我的工作 virt-install 语法。

virt-install \
        --name kube2 \
        --memory 8192 \
        --graphics none \
        --vcpus 2 \
        --disk path=/pool/libvirt/images/kube2.qcow2 \
        --network bridge=br0 -w network=host-bridge \
        --os-variant centos8 \
        --console pty,target_type=serial \
        --location http://192.168.10.2/centos8 \
        --extra-args 'console=ttyS0,115200n8 serial' \
        -x "ks=http://192.168.10.2/kube-centos-8.cfg" 

相关内容