У меня следующая настройка: 1 x узел управления (узел A) 2 x вычислительных узла (узлы B и C) 1 x узел тома (узел D)
Соответствующие конфигурации: VlanManager multi_host = true
Узел B [eth0 = 192.168.6.102; br100 = 10.1.0.6] Узел C [eth0 = 192.168.6.103; br100 = 10.1.0.4]
Я могу пинговать между экземплярами на одном узле, но не с экземплярами в разных узлах. Если я запускаю "brctl br100 eth0", экземпляры могут пинговать между узлами, но я теряю связь на eth0 (192.168.6.102/192.168.6.103)
Что мне нужно изменить, чтобы иметь возможность пинговать экземпляры между узлами, сохраняя при этом нормальное соединение на eth0?
Мне кажется, что вы хотите запускать свои узлы с помощью единого физического сетевого интерфейса. То, что вы видите, это нормально, потому что когда вы порабощаете eth0
физический интерфейс к br100
мосту, вы должны назначить IP-адреса самому мосту, а не физическому интерфейсу.
Eсть хороший пример в руководстве OpenStack, но оно не охватывает случай, когда ваш узел обрабатывает две разные IP-сети на одном физическом интерфейсе. Вы можете сделать это, добавив адрес в br100
. Подытоживая соответствующие части:
В /etc/nova/nova.conf
на узле B у вас будет что-то вроде:
my_ip=10.1.0.6
public_interface=br100
vlan_interface=eth0
flat_network_bridge=br100
flat_interface=eth0
В /etc/network/interfaces
на узле B у вас будет что-то вроде:
auto br100
iface br100 inet static
bridge_ports eth0
bridge_stp off
bridge_maxwait 0
bridge_fd 0
address 192.168.6.102
netmask 255.255.255.0
network 192.168.6.0
broadcast 192.168.6.255
gateway 192.168.6.xxx
auto br100:1
iface br100:1 inet static
address 10.1.0.6
netmask 255.255.255.0
broadcast 10.1.0.255
Я считаю, что это должно работать правильно.