RHEL7を実行している物理サーバーと共に、iSCSIストレージ(Lenovo)をセットアップしています。サーバーには、メインLAN(結合)用の2つのNICとiSCSIネットワーク用の2つのNICがあります。 Lenovoストレージには、2つの物理スイッチに接続された4つのポートがあります。サーバーのiSCSI NICは、各スイッチの1つのポートに接続されます。
Iscsi-initiator-utilsとdm-multipathをインストールしました。
このコマンドを実行すると、次の出力が表示されます
iscsiadm -m discovery -t sendtargets -p 192.168.1.11
192.168.1.13:3260,2 iqn.2002-09.com.lenovo:thinksystem.600a098000f8709a000000005cfff0e0
192.168.1.14:3260,2 iqn.2002-09.com.lenovo:thinksystem.600a098000f8709a000000005cfff0e0
192.168.1.11:3260,1 iqn.2002-09.com.lenovo:thinksystem.600a098000f8709a000000005cfff0e0
192.168.1.12:3260,1 iqn.2002-09.com.lenovo:thinksystem.600a098000f8709a000000005cfff0e0
これは、ディスカバリー・プロセスがLenovoストレージNIC上の4つのアドレスすべてを見つけたという点で安心です。
そして、rescan-scsi-bus.shを使用してSCSIバスで再スキャンします
Puppet multipathを使用して、lenovo01というディスクwwidのエイリアスを定義します
次に、このコマンドを実行すると、次の出力が表示されます
マルチパス-ll
lenovo01 (3600a098000f63bc40000027d5d680d78) dm-14 LENOVO ,DE_Series
size=16T features='0' hwhandler='0' wp=rw
|-+- policy='service-time 0' prio=1 status=active
| `- 11:0:0:1 sdg 8:96 active ready running
|-+- policy='service-time 0' prio=1 status=enabled
| `- 12:0:0:1 sdc 8:32 active ready running
|-+- policy='service-time 0' prio=1 status=enabled
| `- 13:0:0:1 sdd 8:48 active ready running
`-+- policy='service-time 0' prio=1 status=enabled
`- 14:0:0:1 sde 8:64 active ready running
これは、4つのLenovo NICを介してアクセス可能な「lenovo01」と呼ばれる私のストレージボリュームを示しているので、良いです。
人形を使用してiSCSI NICを構成していますが、ストレージへの接続にボンドを作成する必要があるかどうか疑問に思っていましたか?現在、それらは2つの別々のNICであり、ストレージはサーバーの単一の「ホストポート」を参照することを報告するだけです(私は2つのホストポートを参照することを期待していましたか?)。ストレージは、ホストポートとiscsiイニシエーター名を記述します(/etc/iscsi/initiatorname.iscsiにあります)
最初のストレージNIC=が失敗した場合、マルチパスは2番目のストレージを自動的に使用するのに十分インテリジェントであると想定していますか、それとも明示的に結合する必要がありますか?
おかげで、
ロブ。
ISCSIで使用する予定のNICをLACPできますが、「サイド」(ターゲットとイニシエーター)の両方がいわゆる「セッションごとの複数の接続」をサポートしている場合は、1つのケースのみです。そうでない場合、またはこの機能が適切に構成されていない場合(たとえば、接続の数= 1であることは明らかです)、稼働時間は長くなりますが、パフォーマンスは向上しません。理由は簡単です。すべての新しいTCPセッションは別の物理NICに属している必要があるため、いくつかのTCPセッションの増加はわずかです。これを処理する好ましい方法はMC/SではなくiSCSI MPIOを使用します。(これはSCSTページですが、すべてのターゲットとイニシエーターで同じです):
「ボンド」とは、「ポートチャネル」または「エーテルチャネル」を意味するものと想定しています。私はそれらを結合しません。マルチパスドライバーとストレージは、複数のアクティブパスの使用とストレージトランザクションを送信するパスのスケジューリングを処理するのに十分にインテリジェントでなければなりません。
サーバーでポートチャネル/ボンドを使用すると、サーバーに単一の論理NICは通常、単一のIPアドレスとMACアドレスを意味します。スイッチとサーバーは、サーバーの負荷分散の決定に関与します。ストレージとiSCSIイニシエーターではなくスイッチリンクスイッチトラフィックの負荷分散の決定を行うストレージインフラストラクチャを用意します。
ほとんどの人は、ベストプラクティスとして、それぞれに異なるサブネットを使用して、ストレージ/ iSCSIイニシエーターでサイドAとサイドBのセットアップを行います。私はそれを両方の方法で行いましたが、問題は一度もありませんでした。
ストレージインフラストラクチャは、ストレージパスのダウンを検出するのに十分なほどスマートであることが正しいです。