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

istgt (iSCSI target) 20111008版 for FreeBSD

2011年10月8日 土曜日

ロックの期間の調整、SendTargetsの応答追加などを行いました。
将来の拡張用にLUNオプションにReadCache/WriteCacheを追加しました。
これにより、以前からサポートしていた揮発性ライトキャッシュモード
(O_FSYNC)を最初から設定できるようになりました。
一応、これが今年の安定版になる予定です。

新規のコンフィグキー(LUNオプション):
  #LUN0の数字部分は各LUN番号(デフォルトは両方有効)
  LUN0 Option ReadCache Disable
  LUN0 Option WriteCache Disable

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

作成方法:

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

デーモンの再起動方法:

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

MD5 (istgt-20111008.tar.gz) = f9a685851e127f018502a07181d7799e
SHA256 (istgt-20111008.tar.gz) = 41ddc49dbd0cda81c3f7557e76d27b851e042a32acb448dac1b743c759b0b37e

主な修正点:
 ノーマルセッション中のSendTargetsに応答追加
 リードキャッシュ、ライトキャッシュ設定追加
 ロック期間などの改善

istgt (iSCSI target) 20110928版 for FreeBSD

2011年9月28日 水曜日

更新>istgt 2011/10/08版

10ギガビット上の処理がとても残念だったので、
ロックの削減など超高速化を行いました。

その結果、ESXi5のVM上から400MB/sの読込と800MB/sの書込処理が
可能になりました。
実際の速さはハードディスクの書き込み処理に依存します。
当方のRAIDZ2環境(RAID6相当、2TBx7)では
4GBで400MB/sの読込と200MB/sの書込でした。

※追記 – 書き忘れた。
モードフラグが増設されたので、従来の -m1 が -m2 になりました。

※2011/10/02追記
FreeNAS 8.0.1 リリース版に搭載されました。
※2011/10/14追記
改良版がFreeNAS 0.7.2.81917S-8191に搭載されました。

iSCSIターゲット側 (FreeBSD 8-STABLE)
AMD Phenom II X6 1065T (2.9GHz/6core) + Memory 16GB
Intel Ethernet Server Adapter X520-DA2 (Dual SFP+/82599)
Intel Gigabit ET Dual Port Server Adapter (82576)

ESXi5サーバ側 (ESXi 5.0.0, 474610)
Intel Pentium G6950 (2.8GHz/2core) + Memory 16GB
Qlogic QLE8152 (Dual SFP+/10Gbps CNA)
Intel Gigabit ET Dual Port Server Adapter (82576)

参考用10ギガビット1本での処理能力

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

作成方法:

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

デーモンの再起動方法:

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

MD5 (istgt-20110928.tar.gz) = f7f75e48edfa88809b54f9c2427ab69b
SHA256 (istgt-20110928.tar.gz) = 2add885c857470de3d24ba157f5c9e82f8caa76957ce6d12775f848f84da48ed

主な修正点:
 LUN処理の改善
 normalモードの追加
 フラグ操作をアトミック変数処理に変更
 送信スレッドにタイムアウトを設定

istgt (iSCSI target) 20110918版 for FreeBSD

2011年9月18日 日曜日

更新>istgt 2011/09/28版

ESXi5で警告がすごいのとEager Zeroedの処理が遅いと言う指摘が
ありましたので対処しました。

シカでした。さんにテスト用バイナリでの試験を行って頂きました。
ありがとうございました。結果は後日アップして頂けるとのこと。
VMWare ESXi 5.0 – 外部ストレージを試してみる。
FreeNAS – ESXi5.0 Eager Zeroed 対策版の動作確認について。

※9/21追記
結果が公開されたのでリンクを追加しました。

この修正版が8.0.1-RC2に搭載される予定です。8.0.1-RC2.1に搭載されました。
その後に7Sと安定板も更新する予定です。

※Eager Zeroedとは?
ストレージ上に領域を確保すると同時にゼロフィルを行って初期化する方式。
20110902から搭載されたBlock Zeroing機能とESXi5の機能により
ネットワークトラフィック不要で巨大な空ファイル作成を行えるようになります。
(現時点ではエクステント即時書き込み)

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

作成方法:

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

デーモンの再起動方法:

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

MD5 (istgt-20110918.tar.gz) = bbf6e99a53131bddadc8ac9c6fd225f6
SHA256 (istgt-20110918.tar.gz) = 00f2d9958437212d5a0131e06d1ea9d9f27daa673a56cc94abc134e2a555fed4

主な修正点:
 WRITE_SAMEを複数ブロックまとめて処理
 WRITE_SAMEの転送済みサイズの間違いを修正


Linux (arm) 版バイナリパッケージ (LANDISK HDL-GTなど)

istgt (arm binary): istgt-20110918-arm.tar.gz
(arm版実行ファイルとスクリプト)

インストール/アップグレード作業:

# cd work
# wget http://www.peach.ne.jp/archives/istgt/build/istgt-20110918-arm.tar.gz
# tar zxvf istgt-20110918-arm.tar.gz
# cd istgt-20110918-arm
# sh setup.sh

デーモンの再起動方法:

# /etc/init.d/istgt restart

自動起動スクリプトの登録方法:

# update-rc.d istgt defaults 30

設定ファイルパス:
/opt/istgt/etc/istgt.conf
/opt/istgt/etc/auth.conf
/opt/istgt/etc/istgtcontrol.conf

初期インストール参考用:http://shell.peach.ne.jp/aoyama/archives/1513

MD5 (istgt-20110918-arm.tar.gz) = a764263e3140ba887e60999876cca8b0
SHA256 (istgt-20110918-arm.tar.gz) = d341c7f2bb8f94218d91bb58a5157284e0430b7d34163be7f7889801b31d9d2e

arm版の注意点:
QueueDepth 32がデフォルトになったので、armではCPUとメモリが少ないので、
istgt.conf で QueueDepth 16 または QueueDepth 0 を推奨です。

前バージョンはスクリプトに問題があったので、もしも起動せず
プロセスが残ってしまう場合は一旦、

killall istgt

を実行して、プロセスが完全に停止した後に再度セットアップを行ってください。

istgt (iSCSI target) 20110907版 for FreeBSD

2011年9月8日 木曜日

更新>istgt 2011/09/18版

ESXi5に搭載されているハードウェアアクセラレーション向けに強化しました。
前回のBlock Zeroingに加えて、今回、Hardware Assisted Lockingを
追加しました。また、LUN毎のシリアル、回転数、形状が設定可能になりました。
副作用で複数LUNがESXiから認識されるようになりますが、
性能最適化はまだ行っていません。

新しい設定:
各LUNに対して以下のようなオプション設定が可能です。
例はLUN0のエクステントが7200回転HDD上にあると想定しています。
ここで回転数を非回転ドライブに指定するとSSDとしてESXi5から認識されます。

なお、すべてデフォルト値が予め設定してありますので、
こだわらない場合は修正する必要はありません。

[LogicalUnit1]
  LUN0 Storage /tank/iscsi/istgt-disk1 10GB

  # override the serial of LUN0 specified with UnitInquiry
  #LUN0 Option Serial “10000001″

  # for 3.5inch, 7200rpm HDD
  # RPM 0=not reported, 1=non-rotating(SSD), n>1024 rpm
  LUN0 Option RPM 7200
  # FormFactor 0=not reported, 1=5.25, 2=3.5, 3=2.5, 4=1.8, 5=less 1.8 inch
  LUN0 Option FormFactor 2

  # for 2.5inch, SSD
  #LUN0 Option RPM 1
  #LUN0 Option FormFactor 3

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

修正版をご利用ください。

作成方法:

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

デーモンの再起動方法:

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

MD5 (istgt-20110907.tar.gz) = 5e0805ae82f4bdcc9d09138ac055df29
SHA256 (istgt-20110907.tar.gz) = 49315e10a039fe08283cd32096487561f34e6552eee340a2afc2aceb59e75dd1

主な修正点:
LUN毎の回転数(RPM)、形状(FormFactor)設定を追加
LUN毎のシリアル設定を追加(デフォルト値は id+”L”+LUN番号)
COMPARE AND WRITEを実装
ターゲット名のチェックを強化

istgt (iSCSI target) 20110902版 for FreeBSD

2011年9月2日 金曜日

更新>istgt 2011/09/07版

できるだけ早い方が良いだろうと思ったので早速リリースします。
万一、この版でもESXi5で問題がある場合はブログで報告して頂けるとありがたいです。

ESXi5に接続できないと言う致命的問題が発覚したので修正しました。
また、前回のAIO関連は次のステップの邪魔になるので削除しました。

機能的な部分では WRITE_SAME コマンド(繰り返し書き込み)を追加したので、
ゼロフィルを要求するような場面で使えるけど効果の程は不明です。

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

作成方法:

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

デーモンの再起動方法:

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

MD5 (istgt-20110902.tar.gz) = a35d4b9bde2974f8f0a37c6db2206091
SHA256 (istgt-20110902.tar.gz) = 309c2c6ca2fbcbb261f77b02b53ed5692761038c95fe8b41ca7c7d6a53280ffb

主な修正点:
WRITE_SAME(10)/WRITE_SAME(16)を実装
Block LimitsなどのVPDを追加
ESXi5との接続問題を解消
Makefileなどビルド系を修正(Thanks to Arno Toell)


Linux (arm) 版バイナリパッケージ (LANDISK HDL-GTなど)

istgt (arm binary): istgt-20110902-arm.tar.gz
(arm版実行ファイルとスクリプト)

修正版をご利用ください。

インストール/アップグレード作業:

# cd work
# wget http://www.peach.ne.jp/archives/istgt/build/istgt-20110902-arm.tar.gz
# tar zxvf istgt-20110902-arm.tar.gz
# cd istgt-20110902-arm
# sh setup.sh

デーモンの再起動方法:

# /etc/init.d/istgt restart

自動起動スクリプトの登録方法:

# update-rc.d istgt defaults 30

設定ファイルパス:
/opt/istgt/etc/istgt.conf
/opt/istgt/etc/auth.conf
/opt/istgt/etc/istgtcontrol.conf

初期インストール参考用:http://shell.peach.ne.jp/aoyama/archives/1513

MD5 (istgt-20110902-arm.tar.gz) = 23b18115a5f1b79ef1b1481cbf6cdda9
SHA256 (istgt-20110902-arm.tar.gz) = 2776c39e8bfe3ffc59a36b6e20d05e63ec61c20cd015cfc99c99e2b624926964

arm版の注意点:
QueueDepth 32がデフォルトになったので、armではCPUとメモリが少ないので、
istgt.conf で QueueDepth 16 または QueueDepth 0 を推奨です。

前バージョンはスクリプトに問題があったので、もしも起動せず
プロセスが残ってしまう場合は一旦、

killall istgt

を実行して、プロセスが完全に停止した後に再度セットアップを行ってください。

istgt (iSCSI target) 20110717版 for FreeBSD

2011年7月17日 日曜日

更新>istgt 2011/09/02版

次の追加をやる前にAIO使えないかなぁと試してみたら、いまの処理だと
面倒なことがわかったので、とりあえず無効化しました・・・。
試してみたい人は configure に –with-aio を付けると有効になります。
(experimentalのさらにexperimental的なものですが)

一部で要望のあったイニシエータ名拒否機能を追加しました。

  InitiatorName “!iqn.1991-05.com.microsoft:moon”
  InitiatorName “ALL”

こんな感じで、iqn.1991-05.com.microsoft:moon 以外のすべてという指定が
可能です。

PR kern/157770 に接続問題が出ていたので、対処しました。
http://lists.freebsd.org/pipermail/freebsd-scsi/2011-June/004982.html

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

作成方法:

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

デーモンの再起動方法:

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

MD5 (istgt-20110717.tar.gz) = dfbf157762e1c8d79cc6a49820ade568
SHA256 (istgt-20110717.tar.gz) = b9605c6ca4286e25a581791871ca4c90d253b4aad6d25bbde6eed0713d50bdb3

主な修正点:
イニシエータ指定で!を先頭につけると拒否する機能を追加
初期ファイルサイズを最少サイズで割り当てるように変更(-m1)
ファイルの範囲外で全てゼロの場合は書き込みスキップに変更(-m1)
AIOを使った書き込み処理を追加(デフォルト無効)
無指定時のQueueDepthを32に変更
Discoveryセッションで処理するべきでないキーを追加


Linux (arm) 版バイナリパッケージ (LANDISK HDL-GTなど)

istgt (arm binary): istgt-20110717-arm.tar.gz
(arm版実行ファイルとスクリプト)
修正版をご利用ください。

インストール/アップグレード作業:

# cd work
# wget http://www.peach.ne.jp/archives/istgt/build/istgt-20110717-arm.tar.gz
# tar zxvf istgt-20110717-arm.tar.gz
# cd istgt-20110717-arm
# sh setup.sh

デーモンの再起動方法:

# /etc/init.d/istgt restart

自動起動スクリプトの登録方法:

# update-rc.d istgt defaults 30

設定ファイルパス:
/opt/istgt/etc/istgt.conf
/opt/istgt/etc/auth.conf
/opt/istgt/etc/istgtcontrol.conf

初期インストール参考用:http://shell.peach.ne.jp/aoyama/archives/1513

MD5 (istgt-20110717-arm.tar.gz) = 61ee36a564ab0c5518e507cbfab1414c
SHA256 (istgt-20110717-arm.tar.gz) = c9f46b9ddd826e5f3817f14d750e8f76b53dc84ec5b27253225d4bbac0a68ef5

arm版の注意点:
QueueDepth 32がデフォルトになったので、armではCPUとメモリが少ないので、
istgt.conf で QueueDepth 16 または QueueDepth 0 を推奨です。

前バージョンはスクリプトに問題があったので、もしも起動せず
プロセスが残ってしまう場合は一旦、

killall istgt

を実行して、プロセスが完全に停止した後に再度セットアップを行ってください。

istgt (iSCSI target) 20110529版 for FreeBSD

2011年5月29日 日曜日

更新>istgt 2011/07/17版

マルチセッションを使った場合にキューが不足して、
コマンド実行が失敗する問題を修正しました。

万が一失敗した場合は通常OSが再実行するので、実害は少ないのですが、
パフォーマンスが大幅に低下します。

特に experimental mode ではコマンド実行効率が大幅にあがったので、
この問題が発生しやすいです。<高負荷時など

※各iSCSIターゲットに対して1接続しかない場合はまったく影響を受けません。

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

作成方法:

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

デーモンの再起動方法:

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

MD5 (istgt-20110529.tar.gz) = 496fda4c93d561340ffc2dbdc503d44f
SHA256 (istgt-20110529.tar.gz) = 51a3bde2177780f1a9cd0b32d3949f5db5e614f8d2c520e408e329778f7c49e0

主な修正点:
マルチセッションの時にキューが不足する問題を修正
ports/156117 を適用

istgt (iSCSI target) 20110223版 for FreeBSD

2011年2月23日 水曜日

更新>istgt 2011/05/29版

ZFS仮想ボリュームとキューイングを使うなど一部の環境でメモリリークにより
予想外の動作をすることがあったのを修正しました。

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

作成方法:

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

デーモンの再起動方法:

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

MD5 (istgt-20110223.tar.gz) = daf03d011c25681d9f11b4b74f4e47c9
SHA256 (istgt-20110223.tar.gz) = 5ef5663f37932290d973954dc683b64938989ccc856eca08b4075699a22916aa

主な修正点:
メモリリーク問題を修正

istgt (iSCSI target) 20110219版 for FreeBSD

2011年2月19日 土曜日

更新>istgt 2011/02/23版

10ギガビットの環境で期待通りに伸びなくて頭打ちになる問題を
修正しました。1ギガビット環境でも多少の改善があるかも?
今後も “-m 1″ のexperimental modeでの動作を前提にするので、
マルチコア(4コア以上推奨)&メモリ潤沢(4GB以上)な事は大前提です。

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

作成方法:

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

デーモンの再起動方法:

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

MD5 (istgt-20110219.tar.gz) = add36abcc52ea0c1800a31d3b5db87bb
SHA256 (istgt-20110219.tar.gz) = 89980d656547989674c898f4b6244c4f9a06388517125298954807a862d5cb67

主な修正点:
10Gbpsで頭打ちになる問題を修正

istgt (iSCSI target) 20110103版 for FreeBSD

2011年1月3日 月曜日

更新>istgt 2011/02/19版

コンパイルオプションだと個々の確認が面倒なので、
起動オプションを追加しました。
ここに手を入れるのは何か月ぶりでしょうか。
/etc/rc.confに設定するには istgt_flags に追加します。
デフォルトは “-m 0″ です。

新規の起動オプション:
  -m 0
  従来の2スレッド稼働方式(20100707互換)
  -m 1
  新しい3スレッド稼働方式(今後のメイン)

/etc/rc.conf 設定例:

istgt_enable="YES"
istgt_flags="-m 1"

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

作成方法:

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

デーモンの再起動方法:

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

MD5 (istgt-20110103.tar.gz) = 11dd80da78b1f8f01662bbb9a018c093
SHA256 (istgt-20110103.tar.gz) = 9f889d1e738a477c6f6f3608838f9fad642bcd44ec235d38477e522723d93fed

主な修正点:
ISTGT_DISABLE_SENDER_THREAD を廃止
動作モードを切り替える起動オプションを追加
ダイジェスト機能を有効にすると接続できない問題を修正