先日のエントリーでは、複数の I/F (IP アドレス) を持つ QUADStor が利用するターゲット I/F を iptables で擬似的に制御していました。...その後、QUADStor が内部で利用している iSCSI Enterprise Target のマニュアルとコマンドのオプション ヘルプに Listen する I/F を指定する方法の記述があったので、ズボラな回避策ではなく基本に立ち返った設定方法を残します。
ietd のヘルプを見ると Listen する IP アドレスを指定出来ることがわかります。
[root@stg-l-01b ~]# /quadstor/sbin/ietd --help Usage: iscsid [OPTION] iSCSI target daemon. -c, --config=[path] Execute in the config file. -f, --foreground make the program run in the foreground -d, --debug debuglevel print debugging information -u, --uid=uid run as uid, default is current user -g, --gid=gid run as gid, default is current user group -a, --address=address listen on specified local address instead of all -p, --port=port listen on specified port instead of 3260 -h, --help display this help and exit [root@stg-l-01b ~]#
コンフィグファイルで Listen する IP アドレスやポートを指定する方法は、残念ながら iET にはないようなので、QUADStor サービスを起動するスクリプト (/etc/init.d/quadstor) を直接編集します。こちらを見る限り Debian では /etc/defaults/iscsitarget に IETD_ARGS というパラメータが入ったようですが、今後に期待したいところです。
if [ -f /quadstor/sbin/ietd ]; then /sbin/insmod /quadstor/lib/modules/$kvers/iscsit.ko > /dev/null 2>&1 check_error "Failed to insert iscsi target module" $DAEMON_CMD /quadstor/sbin/ietd -a 192.168.220.201 fi
このサーバーでは、192.168.210.201 と 192.168.220.201 という 2 つの IP アドレスを持っていて、192.168.220.0/24 をストレージアクセス用のセグメントとしています。保存したら、QUADStor を再起動するか、OS を再起動させます。 編集する前は以下のようなポートの開き具合だったのが、
[root@stg-l-01b ~]# netstat -an | grep 3260 tcp 0 0 0.0.0.0:3260 0.0.0.0:* LISTEN tcp 0 0 :::3260 :::* LISTEN [root@stg-l-01b ~]#
次のように、狙い撃った I/F (IP アドレス) でサービスを提供するようになります。
[root@stg-l-01b ~]# netstat -an | grep 3260 tcp 0 0 192.168.220.201:3260 0.0.0.0:* LISTEN [root@stg-l-01b ~]#
自宅環境、閉鎖ネットワーク、かつ、Nested 環境での稼働なので、iptables を停止し 少しでも負荷を下げることに努めます。
0 コメント:
コメントを投稿