Por isso, estou tentando configurar uma rede Infiniband ao lado da minha rede Ethernet.
Eu tenho 10 nós de computação e um nó condutor. Todas as 11 máquinas estão rodando o CentOS e estão conectadas a um switch Infiniband e a um switch Ethernet.
Ethernet: 192.168.1.0/24 Infiniband: 192.168.2.0/24
O nó condutor é 192.168.1.125 (Ethernet) e 192.168.2.125 (Infiniband). O nó de cálculo X é 192.168.1.10X (Ethernet) e 192.1.168.2.10X (Ethernet). Todos os endereços IP são atribuídos estaticamente.
Então, eu efetuo login em um dos nós de computação (compute-7):
Aqui está /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
Aqui está /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
Quando faço:
sudo network restart
neste nó de cálculo, aqui está 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)
E route -nn
dá:
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
Isso não é o que eu quero! Eu quero 192.168.2.107 (compute node 7) para poder falar com 192.168.2.108 (compute node 8) através da rede 192.168.2.x. A rota acima está incorreta!
Meus nós Infiniband não podem se comunicar neste caso ... - pedidos para a sub-rede 192.168.2.0/24 são roteados via 192.168.1.125 ( Ethernet), que é muito lento ...
Eu tenho tentado definir os arquivos
/etc/sysconfig/network-scripts/route-em1
e
/etc/sysconfig/network-scripts/route-ib0
Com linhas como:
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
Mas toda vez que eu reinicio a rede, recebo o roteamento errado ...
Alguém pode me ajudar, por exemplo, sobre como posso obter o roteamento correto?
Eu tenho medo de não ter uma compreensão completa da rede e estou achando que estou "hackeando" muito aqui ...
Alguém pode me ajudar? Tudo que eu quero fazer é poder fazer ssh ostrich@compute-8-ib
(Infiniband) da maneira que eu atualmente posso fazer ssh ostrich@compute-8
(Ethernet)
Uma vez que eu tenha uma rede estática planejada, farei tudo usando DHCP e nomeando, mas por enquanto; Estou apenas focando em acertar estaticamente.
@Frederic Nielsen:
Aqui está a tabela de roteamento no nó do condutor:
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