我跟着这些说明部署Landscape时安装在失败。
我仔细研究了一下,发现 juju 容器无法获取 IP 地址:
Apr 28 16:20:50 juju-machine-0-lxc-1 dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 17 (xid=0x4e269150)
Apr 28 16:21:07 juju-machine-0-lxc-1 dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 10 (xid=0x4e269150)
Apr 28 16:21:17 juju-machine-0-lxc-1 dhclient: DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 12 (xid=0x4e269150)
看起来接口已桥接到 eth0:
# brctl show
bridge name bridge id STP enabled interfaces
juju-br0 8000.005056880a1b no eth0
veth770EL2
vethOULXGG
vethQ7I7K9
vethR8J2R4
vethTQOU5J
vethVID53L
lxcbr0 8000.000000000000 no
当主机上的 dhcpd 即将在 lxcbr0 上提供地址时:
dnsmasq -u lxc-dnsmasq --strict-order --bind-interfaces --pid-file=/run/lxc/dnsmasq.pid --conf-file= --listen-address 10.0.3.1 --dhcp-range 10.0.3.2,10.0.3.254 --dhcp-lease-max=253 --dhcp-no-override --except-interface=lo --interface=lxcbr0 --dhcp-leasefile=/var/lib/misc/dnsmasq.lxcbr0.leases --dhcp-authoritative
关于如何解决它有什么提示吗?
答案1
我找到了一个解决方法。
问题的核心是我在 ESXi 上使用虚拟机。我启用了嵌套虚拟化并通过 virsh 管理它们。为了使网络正常工作,我必须在 ESXi 端口组上启用所谓的混杂模式,从而将其变成集线器(遗憾的是 vSwitch 不支持 MAC 学习)。
由于虚拟交换机使用两个 NIC 连接到上行链路交换机,因此混杂模式不知何故导致数据包重复(尽管所有通信都发生在单个 ESXi 主机内!)。Linux 桥接器检测到这些重复项,因此拒绝桥接数据包。
从 vmware 交换机上移除一个物理 NIC 解决了问题(禁用一个 NIC 或将其设置为待机或未使用则不能解决问题)。由于从交换机上移除 NIC 对我来说不是一个好的解决方案,因此我创建了一个没有连接任何 NIC 的虚拟交换机,并创建了一个将流量路由到它的 Linux 机箱。之后,安装就没有任何进一步的问题了。
我无法纯粹在 Linux 桥接级别上解决这个问题。