Bloquear sessão com iscsiadm & multipath

0

Eu tenho um cluster de servidores CentOS que se conectam a dispositivos NAS via iSCSI. O NAS mais recente que preciso adicionar é o LenovoEMC px4-400r. Neste Lenovo NAS, quando o iSCSI está ativado, ele é ativado em todas as interfaces de rede. No lado da Lenovo, não há como desabilitar o iSCSI em apenas uma interface de rede. Isso representa um problema para mim, porque eu tenho uma rede de gerenciamento onde não quero tráfego iSCSI.

As VLANs iSCSI são 10.100.100.0/24 e 10.100.101.0/24. A VLAN de gerenciamento é 10.50.55.0/24.

Primeiro, faço uma descoberta iSCSI.

# iscsiadm -m discovery -t st -p 10.100.100.16
10.100.100.16:3260,1 iqn.2012-07.com.lenovoemc:storage.onapp-lenovo.lun0
10.100.101.16:3260,1 iqn.2012-07.com.lenovoemc:storage.onapp-lenovo.lun0
10.50.55.16:3260,1 iqn.2012-07.com.lenovoemc:storage.onapp-lenovo.lun0

Como você pode ver, ele descobre o alvo iSCSI em todas as três redes. Se eu prosseguir normalmente e efetuar login nesses nós, o multipathd usará todos os três caminhos.

# iscsiadm -m node -l
Logging in to [iface: default, target: iqn.2012-07.com.lenovoemc:storage.onapp-lenovo.lun0, portal: 10.50.55.16,3260] (multiple)
Logging in to [iface: default, target: iqn.2012-07.com.lenovoemc:storage.onapp-lenovo.lun0, portal: 10.100.100.16,3260] (multiple)
Logging in to [iface: default, target: iqn.2012-07.com.lenovoemc:storage.onapp-lenovo.lun0, portal: 10.100.101.16,3260] (multiple)
Login to [iface: default, target: iqn.2012-07.com.lenovoemc:storage.onapp-lenovo.lun0, portal: 10.50.55.16,3260] successful.
Login to [iface: default, target: iqn.2012-07.com.lenovoemc:storage.onapp-lenovo.lun0, portal: 10.100.100.16,3260] successful.
Login to [iface: default, target: iqn.2012-07.com.lenovoemc:storage.onapp-lenovo.lun0, portal: 10.100.101.16,3260] successful.
# multipath -ll
mpathj (35005907fe5a778fb) dm-3 SCST_FIO,lun0
size=7.2T features='0' hwhandler='0' wp=rw
|-+- policy='round-robin 0' prio=1 status=enabled
| '- 4:0:0:0  sdc 8:32  active ready running
|-+- policy='round-robin 0' prio=1 status=active
| '- 9:0:0:0  sdt 65:48 active ready running
'-+- policy='round-robin 0' prio=1 status=enabled
  '- 10:0:0:0 sdu 65:64 active ready running

Eu olhei para a possibilidade de colocar um caminho na lista negra em multipath.conf, mas eu não vi uma maneira de colocar caminhos na lista negra, apenas dispositivos inteiros. Quando tentei isso, o multipath não criava caminhos para esse NAS.

A solução mais provável que encontrei, mas não consigo trabalhar, é definir a sessão iSCSI na rede de gerenciamento para o login "manual". Eu fiz isso:

iscsiadm -m node -T iqn.2012-07.com.lenovoemc:storage.onapp-lenovo.lun0 -p 10.50.55.16 -o update -n node.startup -v manual

Em seguida, saí dessa sessão e assegurei que as sessões nas VLANs do iSCSI permanecessem:

# iscsiadm -m node -u -T iqn.2012-07.com.lenovoemc:storage.onapp-lenovo.lun0 -p 10.50.55.16:3260
Logging out of session [sid: 9, target: iqn.2012-07.com.lenovoemc:storage.onapp-lenovo.lun0, portal: 10.50.55.16,3260]
Logout of [sid: 9, target: iqn.2012-07.com.lenovoemc:storage.onapp-lenovo.lun0, portal: 10.50.55.16,3260] successful.
# iscsiadm -m session
tcp: [10] 10.100.100.16:3260,1 iqn.2012-07.com.lenovoemc:storage.onapp-lenovo.lun0 (non-flash)
tcp: [11] 10.100.101.16:3260,1 iqn.2012-07.com.lenovoemc:storage.onapp-lenovo.lun0 (non-flash)

Isso funciona, mas apenas temporariamente até que uma das situações a seguir aconteça:

  • Eu faço login em mais destinos por meio de iscsiadm -m node -l
  • O servidor é reinicializado

Alguém sabe de uma boa maneira de bloquear permanentemente uma sessão iSCSI para o mesmo LUN?

    
por Brad Johnson 28.01.2018 / 01:08

1 resposta

0

Um método que você pode usar é adicionar um filtro iptables em suas cadeias INPUT e OUTPUT de firewall, como tal (coloque conforme apropriado em suas cadeias):

-A INPUT -s 10.50.55.0/24 -p tcp -m tcp --sport 3260 -j DROP
-A OUTPUT -d 10.50.55.0/24 -p tcp -m -tcp --dport 3260 -j DROP

Isso seria uma alteração mínima e, como tal, não impediria que outros computadores na rede de gerenciamento acessassem os LUNs iSCSI. O único outro método que posso pensar em cima da minha cabeça é colocar um servidor / firewall em ponte na frente da interface de gerenciamento para o NAS cuja única tarefa é filtrar o tráfego iSCSI lá.

    
por 28.01.2018 / 01:34

Tags