Я работаю над настройкой кластера серверов с iSCSI MD3200i SAN для общего хранилища. Все работает хорошо, но у меня есть одна маленькая деталь, с которой я не могу работать. Похоже, что многопутевое переключение выполняется только с подключениями iSCSI к SAN. Я бы хотел, чтобы это работало в режиме балансировки нагрузки, чтобы он использовал каждый путь, а не только один или другой.
Здесь всегда отображается призрак, что означает, что он не используется.
[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]
Моя конфигурация multipathd:
[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"
}
}
Я пробовал различные настройки group_by и rr_weight, все с одинаковым результатом.
[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
Я также пробовал загрузить scsi_dh_rdac, но это тоже не имело значения.
[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
Я уже некоторое время занимаюсь этим исследованием и обнаружил, что множество людей заставляют эту установку работать с MD3000i, но ни в одном случае не подтверждают 3200i. Я обнаружил, что один человек сказал, что он не поддерживает его, потому что вторичный контроллер пассивен по конструкции, но мне не удалось подтвердить это в документации 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
MD3200i (как и любой другой ребрендинг LSI) использует RDAC. Это алгоритм A / P.
Единственное, что вы можете сделать для балансировки нагрузки, - это распределить LUN между контроллерами. Хотя он рекламирует себя как активный-активный, на самом деле это SAN с двойным активным действием. Таким образом, LUN может быть связан не более чем с одним процессором хранения одновременно, но оба контроллера могут быть активными и управлять LUN, выделенными для каждого контроллера. Это то, что в данном случае означает «Активный / Активный», что SAN может быть полностью использована, а не то, что один LUN может балансировать нагрузку двумя контроллерами одновременно.
Статус вашего пути для SDC говорит сам за себя, призрак == пассивный, так что вся ваша многопутевая конфигурация подходит для аварийного переключения. Ваша конфигурация активна / пассивна по определению.
http://sourceware.org/lvm2/wiki/MultipathUsageGuide
Этот резервный контроллер хранилища необходимо настроить для режима «Активный / Активный», чтобы выполнить то, что вам нужно; Это может быть ограничение SAN.
Отвечая на другой вопрос с использованием того же SAN, я обнаружил документацию для SAN в Интернете и подтвердил, что эта марка и модель фактически являются двойными активными. Видеть: