web-dev-qa-db-ja.com

md3200iでのマルチパス負荷分散

共有ストレージ用に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
2
sinping

概要

実行できる唯一の負荷分散は、コントローラー間で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でのマルチパス構成とパフォーマンスの問題(スクイーズ)

1
ppetraki

MD3200i(および他のすべてのLSIブランド変更)はRDACを使用します。これはa/pアルゴリズムです。

1
dyasny