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?