共有ストレージ用にiSCSIMD3200i SANを使用してサーバーのクラスターをセットアップする作業を行っています。すべてが正常に機能していますが、機能していないように見える小さな詳細が1つあります。マルチパスのようですSANへのiSCSI接続でのみフェイルオーバーを実行する必要があります。これを負荷分散モードで機能させて、どちらか一方だけでなく各パスを使用するようにします。
ここでは常にゴーストとして表示されます。つまり、使用されていません。
[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]
私のマルチパス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"
}
}
さまざまな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のどちらの方法でも確認はありません。セカンダリコントローラは設計上パッシブであるため、サポートされていないと言う人が1人見つかりましたが、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
実行できる唯一の負荷分散は、コントローラー間でLUNを分散することです。自身をアクティブ-アクティブとしてアドバタイズしますが、実際にはデュアルアクティブSANです。したがって、LUNは一度に最大で1つのストレージプロセッサにのみ関連付けることができますが、両方のコントローラをアクティブにして、各コントローラ専用のLUNを駆動できます。これが、この場合のアクティブ/アクティブの意味です。SANを完全に利用でき、1つのLUNを2つのコントローラーで同時に負荷分散できるわけではありません。
Sdcのパスステータスはすべてを示していますghost ==パッシブなので、マルチパス構成はすべてフェイルオーバーに適しています。定義上、構成はアクティブ/パッシブです。
http://sourceware.org/lvm2/wiki/MultipathUsageGuide
そのスタンバイストレージコントローラーは、目的を達成するためにアクティブ/アクティブモード用に構成する必要があります。 SANの制限である可能性があります。
同じSAN)を使用して別の質問に答える際に、Web上でSANのドキュメントを発見し、このメーカーとモデルが実際にデュアルアクティブであることを確認しました。 見る:
Dell PowerVault MD3200i dm-Debian 6.0でのマルチパス構成とパフォーマンスの問題(スクイーズ)
MD3200i(および他のすべてのLSIブランド変更)はRDACを使用します。これはa/pアルゴリズムです。