‘MPIO’ タグのついている投稿

istgt (iSCSI target) 20100105版 for FreeBSD 7.x

2010年1月6日 水曜日

更新>istgt 2010/01/12版

遅くなりましたが、あけましておめでとうございます。
今年もよろしくお願いします。

BSD系OSの場合はkqueue/keventを利用するようになりました。
FreeNASフォーラムで仮想テープに関する書き込みがあったので、
少し前倒しでリムーバブルメディアの扱いを調整しました。
最低限使えるところまで変更したのでお試しください。
WebGUIは開発中ですが、最低限の機能を搭載した版を用意しましたので、
こちらもすぐにアップします。
なお、ZFSボリュームは前バージョンから対応してあります。
本バージョンよりリムーバブルデバイス(DVD/TAPE)が/dev/null指定で
スロットにメディア挿入せずに起動できるようになりました。
空で起動した場合はistgtcontrolでメディア交換する必要があります。

istgt (tarball): istgt-20010105.tar.gz
修正版をご利用ください。

作成方法:

# cd /path/to/work
# tar zxf /path/to/istgt-20100105.tar.gz
# cd istgt-20100105
# ./configure
# make
# make install
# make install-doc

デーモンの再起動方法:

# /usr/local/etc/rc.d/istgt restart

MD5 (istgt-20100105.tar.gz) = a8e7ebb77eb3f1e23fd1cb8c538cfe39
SHA256 (istgt-20100105.tar.gz) = f4cb6e0df3f6e75ec1315a8d458d2593c57c2ebefbe3594d503b43463f19fc89

新規コンフィグキー:

  MediaDirectory /var/istgt

リムーバブルメディアのあるディレクトリを指定します。
(現時点は一個だけ指定可能です)

空メディアの指定例:

[LogicalUnit3]
  TargetName "dvd2"
  Mapping PortalGroup1 InitiatorGroup1
  AuthMethod Auto
  AuthGroup None
  UseDigest Auto
  ReadOnly Yes
  UnitType DVD
  LUN0 Removable "ro" /dev/null 0

主な修正点:
uctl: パススルーデバイスを出力するようになりました。
uctl: LUNタイプを出力するようになりました。
MediaDirectoryの中にないメディアへの交換を拒否するようになりました。
全書き込みビットがないファイルを読み込み専用と認識するようになりました。
テープ作成前に制御ブロックが破損していないか検査するようになりました。
istgtcontrol: 認証系の処理を改善しました。
/dev/nullのメディアを空スロットと認識するようになりました。
BSD系ではkqueue/keventを利用するになりました。

istgt (iSCSI target) 20091225版 for FreeBSD 7.x

2009年12月26日 土曜日

更新>istgt 2010/01/05版

規格外の文字があるとMSイニシエータから見えないようなので、
起動時に警告を出すようにしてみました。動作自体には変更ありません。
パススルーでモードセンスコマンドがない場合に起動できない問題がありました。

istgt (tarball): istgt-20091225.tar.gz

作成方法:

# cd /path/to/work
# tar zxf /path/to/istgt-20091225.tar.gz
# cd istgt-20091225
# ./configure
# make
# make install
# make install-doc

デーモンの再起動方法:

# /usr/local/etc/rc.d/istgt restart

MD5 (istgt-20091225.tar.gz) = baa35331503f15ac9807f480bf08ec78
SHA256 (istgt-20091225.tar.gz) = 7bbe4ec587788404ae6c15f3886124ea043b70585536f7577dbdf884339354b0

主な修正点:
パススルーでMODESENSEに失敗する場合を考慮するようにしました。
iSCSIターゲット名に規格外の文字があるか調べるようになりました。

istgt (iSCSI target) 20091222版 for FreeBSD 7.x

2009年12月22日 火曜日

更新>istgt 2009/12/25版

ESXから利用時に書き込み処理が間に合わないと、ESXからABORT_TASKが
発行されますが、その処理方法に問題がありました。
詳しくはわかりませんが、およそ5~10秒以内にSCSI反応できないと、
発行されるようです。
(シーケンシャル書き込みが連続しているとライトキャッシュで発生)
この為に再接続処理でVMFSに対する応答速度が犠牲になっていました。
ESXに関してはさらなる負荷テストを必要とします。
余裕があれば後ほどESX接続によるSSをアップします。

istgt (tarball): istgt-20091222.tar.gz
修正版をご利用ください。

作成方法:

# cd /path/to/work
# tar zxf /path/to/istgt-20091222.tar.gz
# cd istgt-20091222
# ./configure
# make
# make install
# make install-doc

デーモンの再起動方法:

# /usr/local/etc/rc.d/istgt restart

MD5 (istgt-20091222.tar.gz) = 67403ae7ea4035a226d86606bc6dc7b9
SHA256 (istgt-20091222.tar.gz) = 9d1f73667833339aee4bcc63f893436ad84dd97dd47913923300ce53f3ed89a6

主な修正点:
デフォルトのキューサイズを32に変更しました。
syslogプライオリティをconfigure時に変更可能にしました。
待ち時間を増加、タイムアウト値と連動するように修正しました。
タスクの処理開始時間を記録するようにしました。
ベンダ定義のVPDに対してエラーではなく警告を出すようにしました。
TASK管理のStatSN処理を変更しないようにしました。

istgt (iSCSI target) 20091218版 for FreeBSD 7.x

2009年12月18日 金曜日

更新>istgt 2009/12/22版

今回からWS08R2+HV2の環境下でのVM稼動を開始しました。
FreeNASのビルド及びテストも試験的にR2環境下で行っています。

istgt (tarball): istgt-20091218.tar.gz
修正版をご利用ください。

作成方法:

# cd /path/to/work
# tar zxf /path/to/istgt-20091218.tar.gz
# cd istgt-20091218
# ./configure
# make
# make install
# make install-doc

デーモンの再起動方法:

# /usr/local/etc/rc.d/istgt restart

MD5 (istgt-20091218.tar.gz) = f9a1f32136c2f69692147ede2fd63613
SHA256 (istgt-20091218.tar.gz) = 1f2830c76395d8d18f15f7286f0ea06f5c2eebab24ecda62495f563bc8fa2b98

主な修正点:
StarPortとの接続問題を修正しました。
サポート最大数の増加、予約セッション数の増加をしました。
syslogファシリティを変更するコマンドラインスイッチを追加しました。

istgt (iSCSI target) 20091211版 for FreeBSD 7.x

2009年12月11日 金曜日

更新>istgt 2009/12/18版

今回のパススルーデバイスの確認は、HP製DDS4ドライブ(C5683)と
WS2003付属のNtbackupで行っています。
イニシエーターはMS製2.08を利用して、WS2003のレジストリ調整は、

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class
\{4D36E97B-E325-11CE-BFC1-08002BE10318}\0000\Parameters

にある MaxTransferLength を 65536 に変更しています。

余談だけどDDS4の転送速度はかなり遅い。

istgt (tarball): istgt-20091211.tar.gz
修正版をご利用ください。

作成方法:

# cd /path/to/work
# tar zxf /path/to/istgt-20091211.tar.gz
# cd istgt-20091211
# ./configure
# make
# make install
# make install-doc

デーモンの再起動方法:

# /usr/local/etc/rc.d/istgt restart

MD5 (istgt-20091211.tar.gz) = e6874abf837fddc99cd01bea2007ec99
SHA256 (istgt-20091211.tar.gz) = b40497e01a0319e413cf06ffb26b8a89a6c081dcb39bad4e088a946f5dc58805

主な修正点:
DISK型でREQUEST_SENSEに応答するように修正しました。
センスデータのヘッダが正しく処理されない問題を修正しました。
パススルー型でチェンジャー型も通すように追加しました。
パススルー型のタイムアウト値を増加しました。
CAMエラー処理方法を変更しました。

istgt (iSCSI target) 20091130版 for FreeBSD 7.x

2009年11月30日 月曜日

更新>istgt 2009/12/11版

20091124をアップした直後で申し訳ないのだけど、
エラー処理でクラッシュする問題を修正しましたので急遽アップデート版をあげます。
既知問題のプロセス終了時の異常終了もおそらくこれが原因と思われます。
また、先日書いた警告を抑制するオプションを新設しました。

ネットワーク利用率が想定値よりあまりにも少ない場合は、
処理能力に問題があるかもしれないので、

  MaxBurstLength 65536
  MaxRecvDataSegmentLength 4096

の設定を一度お試しください。

追記:
ESXでQueueDepthを指定する場合32以上を推奨します。

portsには20091124が11/26にコミットされましたが、
再度この版で更新をかけますのでお待ちください。

FreeNASも20091124とRAWデバイスパッチがr4928としてマージされましたが、
こちらも早々に作成しますのでお待ちください。

istgt (tarball): istgt-20091130.tar.gz
修正版をご利用ください。

作成方法:

# cd /path/to/work
# tar zxf /path/to/istgt-20091130.tar.gz
# cd istgt-20091130
# ./configure
# make
# make install
# make install-doc

デーモンの再起動方法:

# /usr/local/etc/rc.d/istgt restart

MD5 (istgt-20091130.tar.gz) = 5a323354bf5a18fbd0f0a6bf4d8dd569
SHA256 (istgt-20091130.tar.gz) = a717ac3cc2d3201b1ab75f210afb28efc3780e25aa02d91bbbd734977f8b50f9

主な変更点:
エラー処理中(処理後)にクラッシュする問題を修正しました。
リセットとタイムアウトはイニシエータ名をログに残すようにしました。
警告を抑制するオプション -q を追加しました。

istgt (iSCSI target) 20091124版 for FreeBSD 7.x

2009年11月24日 火曜日

更新>istgt 2009/11/30版

旧版およびLiveCDによる試験でもらった報告に基づき修正をしました。
また、XenServer5.5での接続を確認しました。

istgt (tarball): istgt-20091124.tar.gz
修正版をご利用ください。

作成方法:

# cd /path/to/work
# tar zxf /path/to/istgt-20091124.tar.gz
# cd istgt-20091124
# ./configure
# make
# make install
# make install-doc

デーモンの再起動方法:

# /usr/local/etc/rc.d/istgt restart

MD5 (istgt-20091124.tar.gz) = 844d8cbf001e0a10f117c361abfb2253
SHA256 (istgt-20091124.tar.gz) = 1a3afa973de93904aa797c64694f438c893489f2c25f63680af9a2b977c0b4cb

主な変更点:
iSCSIブート(ディスクレス)に失敗することがあったのを修正しました。
接続リセットとタイムアウトを通常エラーとしないように変更しました。
マルチイニシエータでのSCSI2互換ユニット予約解放の問題を修正しました。
StatSNのチェックにキューサイズを考慮するように修正しました。

istgt (iSCSI target) 20091112版 for FreeBSD 7.x

2009年11月13日 金曜日

更新>istgt 2009/11/24版

マイナーバグフィックス版です。
改良バージョンが期待したほど改善できなかったので白紙撤回します。
今回からタイトルのZFSを削除します。あまりにもFAQなので。
現在の版はデバイスファイル直接もUFS上でも動作確認はしてあります。

FreeBSD7.2 + ESXi4.0 の環境下での動作テストを行っています。
istgtがデバイス識別子としてNAA=3を利用しているのでESX側のログに
「3というIDは知りません」と言う警告が出ます。
LUN0のみの場合はNAA=3でも認識はされるようです。

LUN0以外の認識と警告をなくすには正規のOUIを取得してNAA=5とか6を
デバイスの固有識別子に指定するしかないと思われます。
(設定ファイルで変更できたほうがいいのかな?)

具体的な構成は、FreeBSD7.2上のiSCSIディスク(120GB)をVMFSとして
ESXi4.0のデータストアに利用して、そのESX上にUbuntu9.10デスクトップ版を
仮想マシンに導入して、Ubuntuからopen-iscsiで別のFreeBSD上の
iSCSIディスク(20GB)に接続してテスト中です。

istgt (tarball): istgt-20091112.tar.gz
修正版をご利用ください。

作成方法:

# cd /path/to/work
# tar zxf /path/to/istgt-20091112.tar.gz
# cd istgt-20091112
# ./configure
# make
# make install
# make install-doc

デーモンの再起動方法:

# /usr/local/etc/rc.d/istgt restart

MD5 (istgt-20091112.tar.gz) = 59e0df28673f4eb52256927e8d96a34d
SHA256 (istgt-20091112.tar.gz) = 555bc59be5067adbed564b797123d5608541b65a3c76f4302126438bdf7a539f

既知の問題:
セッション接続中のままプロセスを終了すると異常終了する事がある。
特定環境下において書き込み速度が異常に低下する事がある。
超高負荷時にリード/ライトのどちらかが遅延しすぎてVM上のOSレベルでエラーが出る事がある。

※再現できる環境等の情報があればぜひご一報ください。

関連事項:
FreeBSDイニシエータの新しい版が出ています。
ftp://ftp.cs.huji.ac.il/users/danny/freebsd/iscsi-2.2.3.tar.gz

 


ESXi4.0 データストア


Ubuntu9.10 ディスク管理

istgt (iSCSI target) 20090428版 for FreeBSD 7.x with ZFS

2009年4月28日 火曜日

更新>istgt 2009/11/12版

キューに入るようになったらバグが発現するようになってしまった。
いまさらだけどシリアル番号演算(RFC1982)を適用しました。

現在、書き込み速度がありえない程遅いという報告をもらっています。
テスト環境ではまったく同様な状態にはならないので推測ですが、
Delayed ACKによって速度低下が発生している可能性があります。
コマンドキューイングを無効にして試して、もしだめであれば、
istgtを起動しているマシンで、

# sysctl net.inet.tcp.delayed_ack=0

を試してみてください。もちろんこの設定によりネットワーク負荷が
上がるのでご注意ください。このあたりの意見あったらよろしく。
また、MaxRecvDataSegmentLengthを60KB程度(61440)に下げて
設定するのもいいかもしれない。

追記:
# sysctl net.inet.tcp.delacktime=10
も有効なようです。

FreeBSDイニシエータ側のキューイング数の調整はcamcontrolで、

# camcontrol tags da0 -N 64

のような感じで指定すると変更できます。
(現時点ではクラッシュする問題がある為に-N 1を推奨)
現在の設定は-vで見ることができます。
初期値は/etc/iscsi.confでTags=32のように指定しておきます。

WindowsServer2008は何故か3個以上のREADコマンドを同時に発行してくれません。
(これはターゲット側の問題かもしれない)

istgt (tarball): istgt-20090428.tar.gz
修正版をご利用ください。

作成方法:

# cd /path/to/work
# tar zxf /path/to/istgt-20090428.tar.gz
# cd istgt-20090428
# ./configure
# make
# make install
# make install-doc

デーモンの再起動方法:

# /usr/local/etc/rc.d/istgt restart

MD5 (istgt-20090428.tar.gz) = a5ae3d6ea56b9727dd99b7cbb7e0cf34
SHA256 (istgt-20090428.tar.gz) = 1e30960136f5b168c9c5b0de09b35bd48837205e7d683e66220b4eb46a6a49f0

FreeBSD iSCSI initiator 2.1.3 はこちらからどうぞ。
ftp://ftp.cs.huji.ac.il/users/danny/freebsd/iscsi-2.1.3.tar.gz

主な修正点:
接続情報が正しく取得できない問題を修正しました。
コマンド番号の比較にシリアル番号演算を適用するようになりました。
キューイング数の計算間違いを修正しました。

追記:
リンクを追加しました。

istgt (iSCSI target) 20090427版 for FreeBSD 7.x with ZFS

2009年4月28日 火曜日

更新>istgt 2009/4/28版

キューの処理が早いと送信前のセンスデータを破壊する可能性があったので
コマンド毎に確保するように修正しました。
現時点でコマンドキューイング利用時の問題がまだ解決されていないので、
FreeBSDのイニシエータからはキューイングを利用しない事を推奨しておきます。

追記:
どっちにも取れる表現だったので修正しました。

istgt (tarball): istgt-20090427.tar.gz
修正版をご利用ください。

作成方法:

# cd /path/to/work
# tar zxf /path/to/istgt-20090427.tar.gz
# cd istgt-20090427
# ./configure
# make
# make install
# make install-doc

デーモンの再起動方法:

# /usr/local/etc/rc.d/istgt restart

MD5 (istgt-20090427.tar.gz) = 93968aa99261e2a4c61a42756f3d70bf
SHA256 (istgt-20090427.tar.gz) = ea9c9a42519845d2968ca65db4fe1b583aa43d8e5b6d661c2c71d6070e88e775

FreeBSD iSCSI initiator 2.1.3 はこちらからどうぞ。
ftp://ftp.cs.huji.ac.il/users/danny/freebsd/iscsi-2.1.3.tar.gz

主な修正点:
センスデータが破壊されないようにコマンド毎に確保するようになりました。