web-dev-qa-db-ja.com

CentOSクライアント-イニシエーター上の複数のインターフェースとのiSCSI接続を確立できません

そのため、CentOS 6.2にアップグレードした後、iSCSIターゲットにログインできなくなったようです。私はシステムの異なるサブネット上に複数のインターフェースを持っています、そして私は最初に私が正しいインターフェースをバインドしていないかもしれないという事実と関係があると思いました、これは明らかに間違っているのでnetstatを見るときのようです:

[root]⌘ netstat -na|grep .90
tcp        0      1 10.10.100.60:42354          10.10.8.90:3260             SYN_SENT    
tcp        0      1 10.10.100.60:40777          10.10.9.90:3260             SYN_SENT 

次に、先に進み、1つを除くすべてのインターフェイスを無効にしました。その結果、netstatは正しいように見えますが、ログインの問題は残っています。 SYN_SENTで何も表示されないため、ターゲットにパケットが表示されないことは確かです。ターゲットがCentOS6.2ではない複数のシステムにサービスを提供しているため、問題がクライアントにあることはわかっています。この時点で、CentOS 6.0 /6.1と6.2の間でいくつかの変更があったことを確信しています。ですから、誰かが何か考えを持っているか、これに遭遇した場合、私はあなたの考えを聞いてみたいと思います。

[root]⌘ iscsiadm --mode node --targetname iqn.2011-12.dom.homer:01:lab-centos-servers-00001 --portal 10.10.8.90:3260,2 --interface=sw-iscsi-0 --login
Logging in to [iface: sw-iscsi-0, target: iqn.2011-12.dom.homer:01:lab-centos-servers-00001, portal: 10.10.8.90,3260] (multiple)
iscsiadm: Could not login to [iface: sw-iscsi-0, target: iqn.2011-12.dom.homer:01:lab-centos-servers-00001, portal: 10.10.8.90,3260].
iscsiadm: initiator reported error (8 - connection timed out)
iscsiadm: Could not log into all portals


[root]⌘ netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
10.10.8.0       0.0.0.0         255.255.255.0   U         0 0          0 eth2.7
10.10.9.0       0.0.0.0         255.255.255.0   U         0 0          0 eth3.7
10.10.100.0     0.0.0.0         255.255.252.0   U         0 0          0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth1
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth2
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth3
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth2.7
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth3.7
0.0.0.0         10.10.100.1     0.0.0.0         UG        0 0          0 eth0

関連する2つのインターフェイスのip addr showの出力:

[root]⌘ for i in 2.7 3.7; do ip addr show eth$i; done
6: eth2.7@eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP 
    link/ether 00:0c:29:94:5b:8d brd ff:ff:ff:ff:ff:ff
    inet 10.10.8.60/24 brd 10.10.8.255 scope global eth2.7
    inet6 fe80::20c:29ff:fe94:5b8d/64 scope link 
       valid_lft forever preferred_lft forever
7: eth3.7@eth3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP 
    link/ether 00:0c:29:94:5b:97 brd ff:ff:ff:ff:ff:ff
    inet 10.10.9.60/24 brd 10.10.9.255 scope global eth3.7
    inet6 fe80::20c:29ff:fe94:5b97/64 scope link 
       valid_lft forever preferred_lft forever

2012年1月6日更新:

この問題は、日ごとにさらに興味深いものになっています。数週間前に戻って、6.2にアップグレードする前からこのシステムのスナップショットを取得しました。スナップショットから新しいシステムを起動し、インターフェイス情報とホストキー、およびiSCSIイニシエーターとiscsiインターフェイス情報を新しいMACに一致するように再構成しました。他に何も変更しませんでした。

次に、ターゲットに接続しようとしましたが、まったく問題はありませんでした。これは予想外だったとは言えません。次に、両方のシステムのsysctl設定を比較しました。アップグレード後に違いがありましたが、これに寄与する可能性のあるiSCSIまたはIPに関連するものはないようです。また、アップグレード後にデフォルトで接続ごとに2つのセッションが有効になっていることにも気付きましたが、/ etc/iscsi /iscsid.confで1つのセッションに戻しました。

問題のあるシステムでは、ソースインターフェイスが間違っているように見えますが、10.10.100インターフェイスを無効にしても、問題は解決しません。したがって、これは関連があるかもしれませんが、私はそれを確実に検証することができませんでした。言うまでもなく、さらなる研究が必要です。リリース間で明らかに何かが異なります。動作中のシステムは6.1で、非動作中は6.2です。

::Working System::
tcp        0      0 10.10.8.210:39566           10.10.8.90:3260             ESTABLISHED 
tcp        0      0 10.10.9.210:46518           10.10.9.90:3260             ESTABLISHED 

[root]⌘ ip route show
10.10.8.0/24 dev eth2.6  proto kernel  scope link  src 10.10.8.210 
10.10.9.0/24 dev eth3.7  proto kernel  scope link  src 10.10.9.210 
10.10.100.0/22 dev eth0  proto kernel  scope link  src 10.10.100.210 
169.254.0.0/16 dev eth0  scope link  metric 1002 
169.254.0.0/16 dev eth2.6  scope link  metric 1006 
169.254.0.0/16 dev eth3.7  scope link  metric 1007 
default via 10.10.100.1 dev eth0

::Non-working System::
tcp        0      1 10.10.100.60:44737          10.10.9.90:3260             SYN_SENT    
tcp        0      1 10.10.100.60:55479          10.10.8.90:3260             SYN_SENT

[root]⌘ ip route show
10.10.8.0/24 dev eth2.6  proto kernel  scope link  src 10.10.8.60 
10.10.9.0/24 dev eth3.7  proto kernel  scope link  src 10.10.9.60 
10.10.100.0/22 dev eth0  proto kernel  scope link  src 10.10.100.60 
169.254.0.0/16 dev eth0  scope link  metric 1002 
169.254.0.0/16 dev eth2.6  scope link  metric 1006 
169.254.0.0/16 dev eth3.7  scope link  metric 1007 
default via 10.10.100.1 dev eth0 

And the result is still same:

[root]⌘ iscsiadm: Could not login to [iface: sw-iscsi-0, target: iqn.2011-12.dom.homer:01:lab-centos-servers-00001, portal: 10.10.8.90,3260].
iscsiadm: initiator reported error (8 - connection timed out)
iscsiadm: Could not login to [iface: sw-iscsi-1, target: iqn.2011-12.dom.homer:02:lab-centos-servers-00001, portal: 10.10.9.90,3260].
iscsiadm: initiator reported error (8 - connection timed out)
iscsiadm: Could not log into all portals

2012年1月8日更新:

私は自分の問題に対する答えを理解することができたと信じています。それはかなりあいまいであり、これがすぐに他の誰かに起こるとは思えません。インターフェイス設定ファイルのiface.iscsi_ifacenameおよびiface.hwaddressの設定は不正であることが判明しました。以下のように手動でiscsiターゲットを追加すると、インターフェイス構成ファイルのすべての設定がノード構成ファイルにコピーされ、以下のコマンドで作成されます。結果は、同じ構成ファイル内のパラメーターiface.iscsi_ifacenameiface.hwaddressです。これらのパラメータは相互に排他的であるように見えますが、これは正確には意味がありません。または、コードパスに見落としがある可能性があります。おそらく私はさらに調査します。

# iscsiadm -m node --op new -T iqn.2011-12.dom.homer:01:lab-centos-servers-00001 -p 10.10.8.90,3260,2 -I sw-iscsi-0
# iscsiadm -m node --op new -T iqn.2011-12.dom.homer:02:lab-centos-servers-00001 -p 10.10.9.90,3260,2 -I sw-iscsi-1

以下でコメントアウトしましたiface.hwaddressおよびiface.ipaddressその後、上記と同じコマンドでターゲットを再度追加しました。すべて正常に動作します。

[root]⌘ cat *
# BEGIN RECORD 2.0-872.33.el6
iface.iscsi_ifacename = sw-iscsi-0
iface.net_ifacename = eth2.6
#iface.hwaddress = XX:XX:XX:XX:XX:XX 
#iface.ipaddress = 10.10.8.60
iface.transport_name = tcp
iface.vlan_id = 6
iface.vlan_priority = 0
iface.iface_num = 0
iface.mtu = 0
iface.port = 0
# END RECORD
# BEGIN RECORD 2.0-872.33.el6
iface.iscsi_ifacename = sw-iscsi-1
iface.net_ifacename = eth3.7
#iface.hwaddress = XX:XX:XX:XX:XX:XX
#iface.ipaddress = 10.10.9.60
iface.transport_name = tcp
iface.vlan_id = 7
iface.vlan_priority = 0
iface.iface_num = 0
iface.mtu = 0
iface.port = 0
# END RECORD

繰り返しになりますが、これが他の誰かに起こる可能性はほとんどないので、これを入力するのに時間の無駄になる可能性があります。しかし、誰かがこの問題に遭遇した場合は、この投稿がお役に立てば幸いです。

3
slashdot

同じ問題が見つかりましたが、CentOS6.2の新規インストールで発生しました。イーサネットアダプタを介してKVMのブリッジを作成した後、iSCSIログインがタイムアウトします。これまで(ブリッジは作成されていません)、iSCSIログインは問題なく行われました。

Iscsiadmは定義されたiface.hwaddressに接続しようとし(ただし、セットアップにはeth1インターフェイスとbr1インターフェイスの2つがあります)、eth1を使用しているようです。接続がタイムアウトしました。

Iface.hwaddressを削除し、(提案されているように)iface.net_ifacenameを正しいインターフェイス名(br1)に設定すると、うまくいきます。問題が解決しました。

1