Estou trabalhando na configuração de um cluster de servidores com uma SAN iSCSI MD3200i para armazenamento compartilhado. Tudo está funcionando bem, mas tenho um pequeno detalhe que parece que não consigo trabalhar. O Multipath parece querer apenas fazer failover com as conexões iSCSI com a SAN. Eu gostaria de fazer isso funcionar no modo de balanceamento de carga para que ele use cada caminho e não apenas um ou outro.
Sempre aparece como fantasma aqui, o que significa que não está sendo usado.
[root@kvm-01]~# multipath -ll
mpath2 (36842b2b0006b9d87000004383bf558d9) dm-5 DELL,MD32xxi
[size=2.2T][features=3 queue_if_no_path pg_init_retries 50][hwhandler=1 rdac][rw]
\_ round-robin 0 [prio=100][active]
\_ 8:0:0:0 sdb 8:16 [active][ready]
\_ 7:0:0:0 sdc 8:32 [active][ghost]
Meu multipathd conf:
[root@kvm-01]~# egrep -v '(#|^$)' /etc/multipath.conf
blacklist {
device {
vendor "*"
product "Universal Xport"
}
device {
vendor "*"
product "MD3000"
}
device {
vendor "*"
product "MD3000i"
}
device {
vendor "*"
product "Virtual Disk"
}
devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*"
devnode "^hd[a-z][[0-9]*]"
devnode "^cciss!c[0-9]d[0-9]*[p[0-9]*]"
devnode "^sda$"
}
defaults {
user_friendly_names yes
polling_interval 5
selector "round-robin 0"
path_checker rdac
path_grouping_policy multibus
rr_weight uniform
no_path_retry 30
failback immediate
rr_min_io 100
prio_callout "/sbin/mpath_prio_rdac /dev/%n"
max_fds 8192
}
devices {
device {
vendor "DELL"
product "MD32xxi"
hardware_handler "1 rdac"
features "2 pg_init_retries 50"
}
device {
vendor "DELL"
product "MD32xx"
hardware_handler "1 rdac"
features "2 pg_init_retries 50"
}
device {
vendor "DELL"
product "MD36xxi"
hardware_handler "1 rdac"
features "2 pg_init_retries 50"
}
}
Eu tentei uma variedade de configurações de group_by e rr_weight, todas com o mesmo resultado.
[root@kvm-01]~# lsmod | grep rdac
dm_rdac 41673 1
dm_multipath 58457 3 dm_round_robin,dm_rdac
scsi_mod 199001 14 dm_rdac,be2iscsi,ib_iser,iscsi_tcp,bnx2i,cxgb3i,libiscsi2,scsi_transport_iscsi2,scsi_dh,sr_mod,sg,libata,megaraid_sas,sd_mod
Eu também tentei carregar o scsi_dh_rdac com isso também não fez diferença.
[root@kvm-01]~# egrep -v '(#|^$)' /etc/iscsi/iscsid.conf
node.startup = automatic
node.session.timeo.replacement_timeout = 30
node.conn[0].timeo.login_timeout = 15
node.conn[0].timeo.logout_timeout = 15
node.conn[0].timeo.noop_out_interval = 5
node.conn[0].timeo.noop_out_timeout = 15
node.session.err_timeo.abort_timeout = 15
node.session.err_timeo.lu_reset_timeout = 20
node.session.initial_login_retry_max = 8
node.session.cmds_max = 128
node.session.queue_depth = 32
node.session.iscsi.InitialR2T = No
node.session.iscsi.ImmediateData = Yes
node.session.iscsi.FirstBurstLength = 262144
node.session.iscsi.MaxBurstLength = 16776192
node.conn[0].iscsi.MaxRecvDataSegmentLength = 262144
discovery.sendtargets.iscsi.MaxRecvDataSegmentLength = 32768
node.conn[0].iscsi.HeaderDigest = None
node.session.iscsi.FastAbort = No
node.session.xmit_thread_priority = -20
node.conn[0].iscsi.MaxXmitDataSegmentLength = 0
Eu venho pesquisando isso há algum tempo, e eu encontrei muitas pessoas recebendo essa configuração para trabalhar com um MD3000i, mas nenhuma confirmação do 3200i. Encontrei uma pessoa dizendo que ela não é compatível porque o controlador secundário é passivo por design, mas não consegui confirmar isso na documentação da Dell.
[root@kvm-01]~# uname -a
Linux kvm-01 2.6.18-238.9.1.el5 #1 SMP Tue Apr 12 18:10:13 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux