Estou tentando executar o teste openmpi simples em dois servidores.
mpirun --report-bindings --host serv1.cell,serv2.cell -np 2 hostname
Ambos os servidores executam o OpenSuse 13.2 e têm configuração de interface de rede semelhante:
ens2f0 - conexão com a internet, zona de firewall externa
ens2f1 - conexão lan (192.168.0.0), zona de firewall interna
ens2f2 - escravo de ligação, zona de firewall interna
ens2f3 - escravo de ligação, zona de firewall interno
bond0 - interface de ligação (192.168.6.0), sub-rede diferente de ensf1, zona de firewall interna
serv1.cell e serv2.cell são definidos em / etc / hosts como endereços na rede de ligação (192.168.6.0)
O Openmpi foi instalado a partir de repositórios padrão usando o zypper.
Se ambos os firewalls estiverem desligados - tudo está bem, mas quando um deles está rodando, coisas estranhas acontecem.
Se eu desligar o firewall no serv1 e executá-lo no serv2, o openmpi funcionará no serv1:
serv1.cell:~ # mpirun --report-bindings --host serv1.cell,serv2.cell -np 2 hostname
serv2.cell
serv1.cell
E não funciona no serv2:
serv2.cell:~ # mpirun --report-bindings --host serv1.cell,serv2.cell -np 2 hostname
Se eu desligar o firewall no serv2 e executá-lo no serv1, ocorre o inverso: o serv2 funciona bem, mas o serv1 stucks.
Eu também tentei um teste simples usando o netcat: o firewall está ativado, o netcat escuta no serv1, a conexão e os dados do serv2 estão ok, e vice-versa, então os firewalls permitem qualquer coisa que seja bond0.
Não é uma solução para desativar firewalls, então como eu devo configurar o OpenMPI (ou firewall) para fazer os dois servidores funcionarem corretamente?