REPORT TARGET PORT GROUPとSET TARGET PORT GROUPS
PERSISTENT RESERVE INとPERSISTENT RESERVE OUTに対応しました。
まだ未完成ではあるが、WS2008のフェールオーバークラスタにある
構成の検証で2ノードによる記憶域検証を通過します。
クラスタ時のパフォーマンスはきっとダメだろうな。<未検証
なにしろ永続予約がある場合はSCSIコマンド実行時に毎回strcmp発行してるからね。
ハッシュ値にして数値比較とかにしないときっと重い。
そもそもスレッド同期仕様だから重いのです。
早くタグ付きキューイングをサポートすべきです。
検証用の接続は以下のような構成です。
各ノードからはシングルiSCSIセッション(シングルパス)として、
ターゲットからみるとマルチセッションな状態です。
(istgt設計上はシングルパスでもMCSのフェールオーバーは可能)
+---------------+ TSIH N +-----------+ | Cluster Node1 |----------| | +---------------+ |iSCSI Node | | (Target) | +---------------+ TSIH M | | | Cluster Node2 |----------| | +---------------+ +-----------+ TSIH: Target Session Identifying Handle
マルチパスはまだ未対応です。マルチパス接続自体はすでに可能だけど、
各ポートを常時アクティブ/最適化とマークしているので、
パス障害時にターゲット側からフェールオーバー対応できないはず。
実際の結果はこんな感じに。
Hyper-Vに作った仮想マシン同士のせいなのかVPDの検証に失敗する。
istgt (tarball): istgt-20090227.tar.gz
更新版をご利用ください。
作成方法:
# cd /path/to/work
# tar zxf /path/to/istgt-20090227.tar.gz
# cd istgt-20090227
# ./configure
# make
# make install
デーモンの再起動方法:
# /usr/local/etc/rc.d/istgt restart
MD5 (istgt-20090227.tar.gz) = 31323dcfade9976892698387d996a48e
SHA256 (istgt-20090227.tar.gz) = a63c236eec56a3a350b65957d06f2ffb9c365b4a8f9ae0f971f107773c0da6eb
主な修正点:
ポータルグループ及びロジカルユニットグループをINQUIRYに出力するようになりました。
immediateにマークされたPDUに対してCmdSNを進めていた問題を修正しました。
認証データのメモリリークを修正しました。
SCSIコマンドのREPORT TARGET PORT GROUPSに応答するようにしました。
SCSIコマンドのSET TARGET PORT GROUPSに応答するようにしました。
SCSIコマンドのPERSISTENT RESERVE INに応答するようにしました。
SCSIコマンドのPERSISTENT RESERVE OUTに応答するようにしました。
イニシエータやターゲット名を小文字で保持するように変更しました。
ディスク型のRELEASE(6)/RELEASE(10)/RESERVE(6)/RESERVE(10)を
NOPからPERSISTENT RESERVE OUTを使ったエミュレートに変更しました。
