Итак, я пытаюсь настроить сеть Infiniband вместе с моей сетью Ethernet.
У меня 10 вычислительных узлов и один узел-проводник. Все 11 машин работают под управлением CentOS и подключены к коммутатору Infiniband и коммутатору Ethernet.
Ethernet: 192.168.1.0/24 Infiniband: 192.168.2.0/24
Узел-проводник - 192.168.1.125 (Ethernet) и 192.168.2.125 (Infiniband). Вычислительный узел X - 192.168.1.10X (Ethernet) и 192.1.168.2.10X (Ethernet). Все IP-адреса назначаются статически.
Итак, я вхожу в один из вычислительных узлов (compute-7):
Вот это /etc/sysconfig/network-scripts/ifcfg-em1
DEVICE=em1
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
IPV6INIT=no
USERCTL=no
IPADDR=192.168.1.107
NETMASK=255.255.255.0
NETWORK=192.168.1.0
BROADCAST=192.168.1.255
GATEWAY=192.168.1.125 #via conductor node
DNS1=192.168.1.125 #via conductor node
Вот это /etc/sysconfig/network-scripts/ifcfg-ib0
DEVICE=ib0
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
IPV6INIT=no
USERCTL=no
TYPE=InfiniBand
IPADDR=192.168.2.107
NETMASK=255.255.255.0
NETWORK=192.168.2.0
BROADCAST=192.168.2.255
Когда я делаю:
sudo network restart
на этом вычислительном узле вот ifconfig -a
:
em1 Link encap:Ethernet HWaddr xx:xx:xx:xx:3A:FB
inet addr:192.168.1.107 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1236641045 errors:0 dropped:0 overruns:0 frame:0
TX packets:1239585124 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1561224959733 (1.4 TiB) TX bytes:1560979085053 (1.4 TiB)
Memory:91220000-91240000
ib0 Link encap:InfiniBand HWaddr 80:00:00:48:FE:80:00:00:00:00:00:00:00:00:00:00:00:00:00:00
inet addr:192.168.2.107 Bcast:192.168.2.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:2044 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:256
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
И route -nn
дает:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 ib0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 em1
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 em1
169.254.0.0 0.0.0.0 255.255.0.0 U 1004 0 0 ib0
0.0.0.0 192.168.1.125 0.0.0.0 UG 0 0 0 em1
Это не то, что я хочу! Я хочу, чтобы 192.168.2.107 (вычислительный узел 7) мог взаимодействовать с 192.168.2.108 (вычислительный узел 8) через сеть 192.168.2.x. Указанный выше маршрут неверен!
Мои узлы Infiniband не могут разговаривать друг с другом в этом случае ... - запросы к подсети 192.168.2.0/24 маршрутизируются через 192.168.1.125 (Ethernet), что очень медленно ...
Я пытался установить файлы
/etc/sysconfig/network-scripts/route-em1
и
/etc/sysconfig/network-scripts/route-ib0
С такими строками, как:
192.168.1.0 netmask 255.255.255.0 gw 192.168.1.125 dev em1
192.168.2.0 netmask 255.255.255.0 gw 192.168.2.125 dev ib0
Но каждый раз, когда я перезагружаю сеть, я получаю неправильную маршрутизацию ...
Может ли кто-нибудь помочь мне, как я могу получить правильную маршрутизацию?
Боюсь, у меня нет полного понимания сети и я обнаруживаю, что здесь много "хакерю" ...
Может кто-нибудь помочь мне? Все, что я хочу сделать, это уметь делать ssh ostrich@compute-8-ib
(Infiniband) так, как я сейчас могу ssh ostrich@compute-8
(Ethernet)
Как только у меня будет определена статическая сеть, я сделаю все это, используя DHCP и имя, но пока; Я просто сосредотачиваюсь на том, чтобы все было правильно статически.
@ Фредерик Нильсен:
Вот таблица маршрутизации на узле проводника:
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 ib0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 em1
137.43.92.0 0.0.0.0 255.255.254.0 U 0 0 0 em2
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 em1
169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 em2
169.254.0.0 0.0.0.0 255.255.0.0 U 1004 0 0 ib0
0.0.0.0 187.42.92.1 0.0.0.0 UG 0 0 0 em2