<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>環境さんぷる &#187; Windows</title>
	<atom:link href="http://shell.peach.ne.jp/aoyama/archives/category/windows/feed" rel="self" type="application/rss+xml" />
	<link>http://shell.peach.ne.jp/aoyama</link>
	<description>WordPress 2.9.2</description>
	<lastBuildDate>Fri, 30 Jul 2010 08:13:43 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>FreeBSD 7.3/8.1 on Windows Server 2008 + Hyper-V</title>
		<link>http://shell.peach.ne.jp/aoyama/archives/1231</link>
		<comments>http://shell.peach.ne.jp/aoyama/archives/1231#comments</comments>
		<pubDate>Thu, 08 Jul 2010 10:09:42 +0000</pubDate>
		<dc:creator>aoyama</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[仮想化]]></category>
		<category><![CDATA[Hyper-V]]></category>
		<category><![CDATA[patch]]></category>

		<guid isPermaLink="false">http://shell.peach.ne.jp/aoyama/?p=1231</guid>
		<description><![CDATA[すでに賞味期限切れですが公開しておきます。
このバージョンはFreeNAS 0.7.1(7S) および 0.7.2 に搭載されているものです。
Windows Server 2008 R2 ではこれがなくても動くようになっているはずです。
for FreeBSD 7.3 or later
パッチファイル：fbs73-hv-20100528.patch.gz
for FreeBSD 8.1 or later
パッチファイル：fbs81-hv-20100528.patch.gz
パッチ済みカーネルの作成とインストール(8.1の実行例)：
# cd /usr/src
# gzcat &#60; /path/to/fbs81-hv-20100528.patch.gz &#124; patch -p1
# make buildkernel
# make installkernel
# shutdown -r now
vmwp.exeの終了のしかた：
１．タスクマネージャを起動します。
２．プロセスタブを開きます。
３．表示(V)＞列の選択(S)で「コマンドライン」のチェック入れて表示します。
４．イメージ名の部分をクリックしてソートします。
５．vmconnect.exeの後ろにホスト名、仮想マシン名、オプションと続くので、
停止したい仮想マシンのコマンドラインにあるGUIDを見つけます。
６．同じGUIDのvmwp.exeがありますので、右クリックして
「プロセスの終了(E)」を選択します。
 
（クリックで拡大）
]]></description>
			<content:encoded><![CDATA[<p>すでに賞味期限切れですが公開しておきます。<br />
このバージョンはFreeNAS 0.7.1(7S) および 0.7.2 に搭載されているものです。<br />
Windows Server 2008 R2 ではこれがなくても動くようになっているはずです。</p>
<p>for FreeBSD 7.3 or later<br />
パッチファイル：<a href="http://shell.peach.ne.jp/~aoyama/wordpress/download/fbs73-hv-20100528.patch.gz" target="_blank">fbs73-hv-20100528.patch.gz</a></p>
<p>for FreeBSD 8.1 or later<br />
パッチファイル：<a href="http://shell.peach.ne.jp/~aoyama/wordpress/download/fbs81-hv-20100528.patch.gz" target="_blank">fbs81-hv-20100528.patch.gz</a></p>
<p>パッチ済みカーネルの作成とインストール(8.1の実行例)：<br />
# cd /usr/src<br />
# gzcat &lt; /path/to/fbs81-hv-20100528.patch.gz | patch -p1<br />
# make buildkernel<br />
# make installkernel<br />
# shutdown -r now</p>
<p>vmwp.exeの終了のしかた：<br />
１．タスクマネージャを起動します。<br />
２．プロセスタブを開きます。<br />
３．表示(V)＞列の選択(S)で「コマンドライン」のチェック入れて表示します。<br />
４．イメージ名の部分をクリックしてソートします。<br />
５．vmconnect.exeの後ろにホスト名、仮想マシン名、オプションと続くので、<br />
停止したい仮想マシンのコマンドラインにあるGUIDを見つけます。<br />
６．同じGUIDのvmwp.exeがありますので、右クリックして<br />
「プロセスの終了(E)」を選択します。</p>
<p><a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/11/hvtaskmgr1.jpg" target="_blank"></a><a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/11/hvtaskmgr1.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-114" title="hvtaskmgr1" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/11/hvtaskmgr1-e1278583158734-150x119.jpg" alt="" width="150" height="119" /></a><a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/11/hvtaskmgr2.jpg" target="_blank"> </a><a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/11/hvtaskmgr2.jpg"></a><a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/11/hvtaskmgr2.jpg" target="_blank"><img class="alignnone size-medium wp-image-115" title="hvtaskmgr2" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/11/hvtaskmgr2-299x106.jpg" alt="" width="299" height="106" /></a><br />
（クリックで拡大）</p>
]]></content:encoded>
			<wfw:commentRss>http://shell.peach.ne.jp/aoyama/archives/1231/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows 7 環境がかなり使えるようになってきた</title>
		<link>http://shell.peach.ne.jp/aoyama/archives/1114</link>
		<comments>http://shell.peach.ne.jp/aoyama/archives/1114#comments</comments>
		<pubDate>Thu, 03 Jun 2010 16:07:18 +0000</pubDate>
		<dc:creator>aoyama</dc:creator>
				<category><![CDATA[Windows]]></category>
		<category><![CDATA[iSCSI]]></category>
		<category><![CDATA[Windows 7]]></category>

		<guid isPermaLink="false">http://shell.peach.ne.jp/aoyama/?p=1114</guid>
		<description><![CDATA[Windows XP SP3 + Office 2003 + Virtul PC 2007 + VirtualBox 3.1.6
↓
Windows 7 (x64) + CT Desktop (iSCSI起動) + Windows Live Mail
 + Office 2010 + Windows Virtual PC (XP mode) + VirtualBox 3.2.0
こんな感じに移動しました。UIの変更が大きいのでまだ戸惑いが隠せない。
TeraTerm(SSH) と VNC viewer と vSphere Client が使えるならば、
どうにでもなるとも言える。
Windows 7 で困った事？
iSCSIのマルチパスができないのは仕様ですが、MCSで接続しようと思っても
ブートドライブは起動したNICのルートでしか構成できないような気がする。
なおデータドライブについてはMCSで問題なく利用できます。
※サーバ系OS (Server 2008 R2 など) であればMPIOをインストールして複数
パスをまとめられるので、このような問題は出ません。
さて、今回はiSCSI起動をやってみたいけど、購入前に実機で動くか動作確認
したい人向けに評価版へのリンクを置いておきます。
Intel Gigabit CT Desktop Adaptor (実売価格3,500円程度) と 40GB以上の
iSCSIターゲットを [...]]]></description>
			<content:encoded><![CDATA[<p>Windows XP SP3 + Office 2003 + Virtul PC 2007 + VirtualBox 3.1.6<br />
↓<br />
Windows 7 (x64) + CT Desktop (iSCSI起動) + Windows Live Mail<br />
 + Office 2010 + Windows Virtual PC (XP mode) + VirtualBox 3.2.0</p>
<p>こんな感じに移動しました。UIの変更が大きいのでまだ戸惑いが隠せない。<br />
TeraTerm(SSH) と VNC viewer と vSphere Client が使えるならば、<br />
どうにでもなるとも言える。</p>
<p>Windows 7 で困った事？<br />
iSCSIのマルチパスができないのは仕様ですが、MCSで接続しようと思っても<br />
ブートドライブは起動したNICのルートでしか構成できないような気がする。<br />
なおデータドライブについてはMCSで問題なく利用できます。</p>
<p>※サーバ系OS (Server 2008 R2 など) であればMPIOをインストールして複数<br />
パスをまとめられるので、このような問題は出ません。</p>
<p>さて、今回はiSCSI起動をやってみたいけど、購入前に実機で動くか動作確認<br />
したい人向けに評価版へのリンクを置いておきます。<br />
Intel Gigabit CT Desktop Adaptor (実売価格3,500円程度) と 40GB以上の<br />
iSCSIターゲットを FreeNAS や FreeBSD + istgt に用意すれば既存環境を<br />
壊す事なく評価できます。</p>
<p>Windows 7 Enterprise 評価版<br />
<a href="http://technet.microsoft.com/ja-jp/evalcenter/cc442495.aspx" target="_blank">http://technet.microsoft.com/ja-jp/evalcenter/cc442495.aspx</a><br />
Microsoft Office Professional Plus 2010 評価版<br />
<a href="http://technet.microsoft.com/ja-jp/evalcenter/ee390818.aspx" target="_blank">http://technet.microsoft.com/ja-jp/evalcenter/ee390818.aspx</a></p>
<p>補足：<br />
初めてiSCSI起動に挑戦する場合は、既存の内蔵ハードディスクの接続をすべて<br />
外してOSのインストールを行う事をお勧めします。<br />
既存OSとのデュアルブートをするには、インストール後にブートマネージャを<br />
iSCSIドライブに導入します。導入後にハードディスクの接続を戻し、起動順序を<br />
iSCSIドライブが最初になるようにBIOS設定を調整します。<br />
今回の移行では64GBのターゲットとMBMというソフトを利用しています。<br />
<a href="http://elm-chan.org/fsw/mbm/mbm.html" target="_blank">http://elm-chan.org/fsw/mbm/mbm.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://shell.peach.ne.jp/aoyama/archives/1114/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Windows7にデータ移行Now?</title>
		<link>http://shell.peach.ne.jp/aoyama/archives/1107</link>
		<comments>http://shell.peach.ne.jp/aoyama/archives/1107#comments</comments>
		<pubDate>Sun, 30 May 2010 16:51:11 +0000</pubDate>
		<dc:creator>aoyama</dc:creator>
				<category><![CDATA[Windows]]></category>
		<category><![CDATA[iSCSI]]></category>
		<category><![CDATA[Windows 7]]></category>

		<guid isPermaLink="false">http://shell.peach.ne.jp/aoyama/?p=1107</guid>
		<description><![CDATA[とりあえず初期アプリのインストール作業が終わったので、
XPからメールデータ(約5GB)をWin7(iSCSIターゲット)にインポートしています。
が、予想以上にインポート速度が遅い・・・。
ある程度の時間がかかるのは想定していたけれど、結構つらい。
この後にはVirtualPCとVirtualBoxで使っている仮想ハードディスクイメージの
移動も控えてるので完了するのは当分先になりそうです。
というわけで作業はあまりできないので、
今回はXPモードで使うファイルをインストールした時のメモを残しておきます。
Windows XP Mode のダウンロード
http://www.microsoft.com/japan/windows/virtual-pc/download.aspx
ここから取得するらしいです。
XPモードを使うかどうかは別にして導入してみました。
ちなみに既存のVirtualPCの設定ファイルの .vmc をダブルクリックすると、
仮想マシンの項目に .vmcx ファイルが作成されて編集できるようになります。
もとのvmcを編集してしまうとVirtualPCで動かなくなるかもしれないから、
念の為にコピーして保存しておいたほうがいいでしょう。
※バックアップを取るのは基本中の基本ですよ。
]]></description>
			<content:encoded><![CDATA[<p>とりあえず初期アプリのインストール作業が終わったので、<br />
XPからメールデータ(約5GB)をWin7(iSCSIターゲット)にインポートしています。<br />
が、予想以上にインポート速度が遅い・・・。<br />
ある程度の時間がかかるのは想定していたけれど、結構つらい。</p>
<p>この後にはVirtualPCとVirtualBoxで使っている仮想ハードディスクイメージの<br />
移動も控えてるので完了するのは当分先になりそうです。</p>
<p>というわけで作業はあまりできないので、<br />
今回はXPモードで使うファイルをインストールした時のメモを残しておきます。</p>
<p>Windows XP Mode のダウンロード<br />
<a href="http://www.microsoft.com/japan/windows/virtual-pc/download.aspx" target="_blank">http://www.microsoft.com/japan/windows/virtual-pc/download.aspx</a></p>
<p>ここから取得するらしいです。<br />
XPモードを使うかどうかは別にして導入してみました。</p>
<p>ちなみに既存のVirtualPCの設定ファイルの .vmc をダブルクリックすると、<br />
仮想マシンの項目に .vmcx ファイルが作成されて編集できるようになります。<br />
もとのvmcを編集してしまうとVirtualPCで動かなくなるかもしれないから、<br />
念の為にコピーして保存しておいたほうがいいでしょう。</p>
<p>※バックアップを取るのは基本中の基本ですよ。</p>
]]></content:encoded>
			<wfw:commentRss>http://shell.peach.ne.jp/aoyama/archives/1107/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows7をistgtで作成したiSCSIターゲットに直接インストールする</title>
		<link>http://shell.peach.ne.jp/aoyama/archives/1077</link>
		<comments>http://shell.peach.ne.jp/aoyama/archives/1077#comments</comments>
		<pubDate>Mon, 24 May 2010 17:51:24 +0000</pubDate>
		<dc:creator>aoyama</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[ZFS]]></category>
		<category><![CDATA[iSCSI]]></category>
		<category><![CDATA[Windows7]]></category>

		<guid isPermaLink="false">http://shell.peach.ne.jp/aoyama/?p=1077</guid>
		<description><![CDATA[先日の結果からIntelのCTデスクトップアダプタでもWS2008がiSCSI起動可能
であることが実証できたので今度はWindows7をインストールしてみました。
今回は20100522版のターゲットを使って検証しました。
利用したターゲットの主な設定は以下の通り。
[Global]
  MaxSessions 16
  MaxConnections 4
  MaxR2T 256
  MaxOutstandingR2T 16
  DefaultTime2Wait 2
  DefaultTime2Retain 60
  FirstBurstLength 262144
  MaxBurstLength 1048576
  MaxRecvDataSegmentLength 262144
[LogicalUnit80]
  TargetName &#8220;iqn.2007-09.jp.ne.peach:artemis-boot&#8221;
  Mapping PortalGroup1 InitiatorGroup80
  AuthMethod Auto
  UseDigest Auto
  UnitType Disk
  QueueDepth 64
  LUN0 Storage /tank/isboot/artemis-boot 64GB
結論から言うと、インストールできません。（すみません・・・
追加したR2Tの処理にバグがありました。
TL&#62;FB+MBの特殊な条件下で追加のR2Tを送信しないため、データ受信待ちが
タイムアウトしてしまいます。＜再処理になりますが同じ場所で同様に略
不幸中の幸い？（皮肉にも？）、タイムアウトのエラー処理が正しく実行できる
と言う事が実証できたわけですが。
とりあえずの修正は以下のようにすると動きます。
Index: src/istgt_iscsi.c
===================================================================
--- src/istgt_iscsi.c   (revision 36)
+++ src/istgt_iscsi.c   (working copy)
@@ -4016,6 +4016,10 @@
                                ISTGT_WARNLOG("pending_pdus &#62; 0\n");
                        }
                        if (offset &#60; transfer_len) {
+                               [...]]]></description>
			<content:encoded><![CDATA[<p>先日の結果からIntelのCTデスクトップアダプタでもWS2008がiSCSI起動可能<br />
であることが実証できたので今度はWindows7をインストールしてみました。<br />
今回は20100522版のターゲットを使って検証しました。<br />
利用したターゲットの主な設定は以下の通り。</p>
<p>[Global]<br />
  MaxSessions 16<br />
  MaxConnections 4<br />
  MaxR2T 256<br />
  MaxOutstandingR2T 16<br />
  DefaultTime2Wait 2<br />
  DefaultTime2Retain 60<br />
  FirstBurstLength 262144<br />
  MaxBurstLength 1048576<br />
  MaxRecvDataSegmentLength 262144</p>
<p>[LogicalUnit80]<br />
  TargetName &#8220;iqn.2007-09.jp.ne.peach:artemis-boot&#8221;<br />
  Mapping PortalGroup1 InitiatorGroup80<br />
  AuthMethod Auto<br />
  UseDigest Auto<br />
  UnitType Disk<br />
  QueueDepth 64<br />
  LUN0 Storage /tank/isboot/artemis-boot 64GB</p>
<p>結論から言うと、インストールできません。（すみません・・・<br />
追加したR2Tの処理にバグがありました。<br />
TL&gt;FB+MBの特殊な条件下で追加のR2Tを送信しないため、データ受信待ちが<br />
タイムアウトしてしまいます。＜再処理になりますが同じ場所で同様に略<br />
不幸中の幸い？（皮肉にも？）、タイムアウトのエラー処理が正しく実行できる<br />
と言う事が実証できたわけですが。</p>
<p>とりあえずの修正は以下のようにすると動きます。</p>
<pre id="ex"><code>Index: src/istgt_iscsi.c
===================================================================
--- src/istgt_iscsi.c   (revision 36)
+++ src/istgt_iscsi.c   (working copy)
@@ -4016,6 +4016,10 @@
                                ISTGT_WARNLOG("pending_pdus &gt; 0\n");
                        }
                        if (offset &lt; transfer_len) {
+                               if (offset &gt;= (first_burst_len + max_burst_len)) {
+                                       /* need more data */
+                                       r2t_flag = 0;
+                               }
                                len = DMIN32(max_burst_len,
                                    (transfer_len - offset));
                                memset(&amp;data_pdu.bhs, 0, ISCSI_BHS_LEN);
</code></pre>
<p>ベンチマークの結果は以下の通りで、ほぼ期待通りのピーク性能が検証できました。</p>
<p><a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2010/05/w7-ct00.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-1078" title="w7-ct00" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2010/05/w7-ct00-150x136.jpg" alt="" width="150" height="136" /></a> <a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2010/05/w7-ct01.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-1079" title="w7-ct01" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2010/05/w7-ct01-150x136.jpg" alt="" width="150" height="136" /></a><br />
（20100522＋パッチとW7による性能）</p>
<p><a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2010/05/ws2k8r2-ct00.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-1029" title="ws2k8r2-ct00" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2010/05/ws2k8r2-ct00-150x134.jpg" alt="" width="150" height="134" /></a><br />
（参考：旧版とWS2008R2の値）</p>
<p>というわけで、今後の事もあるので、作業用マシンをXPからW7に移行しようと思いました。</p>
]]></content:encoded>
			<wfw:commentRss>http://shell.peach.ne.jp/aoyama/archives/1077/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Intel Gigabit CT Desktop Adapter は iSCSI Remote Boot でサポートされている</title>
		<link>http://shell.peach.ne.jp/aoyama/archives/1028</link>
		<comments>http://shell.peach.ne.jp/aoyama/archives/1028#comments</comments>
		<pubDate>Mon, 03 May 2010 13:51:25 +0000</pubDate>
		<dc:creator>aoyama</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[ZFS]]></category>
		<category><![CDATA[iSCSI]]></category>

		<guid isPermaLink="false">http://shell.peach.ne.jp/aoyama/?p=1028</guid>
		<description><![CDATA[システムワークスさんのページに書かれていた一言にびっくりしました。
製品情報およびiSCSI Remote Bootサポート製品はこちらから
http://www.intel.com/products/desktop/adapters/gigabit-ct/gigabit-ct-overview.htm
http://www.intel.com/support/network/adapter/pro100/sb/CS-028681.htm
私は PT Server Adapter で満足していたので CT Desktop Adapter には
まったく興味がなかったのですがiSCSIブートできるとなれば話は別です^^;
さっそく Intel CT Desktop Adapter を購入して確認してみました。
ファームはインテルのサイトから15.2版をダウンロードして書き込みました。
iSCSIファームバージョンは2.5.12でした。
起動試験はFreeNASの確認に使っている NEC Express5800/110Ge
(GIGABYTE GA-5YASV-RH)、ASUS P5K、ASUS M2A-VM、MSI K9NGM3-FIH
の4台で行いました。
OSはWindows Server 2008 R2を利用しました。
iSCSIターゲットはいつものistgt 20100407 on FreeBSD 7.3(ZFS/RAIDZ2)に
40GBの領域をQueueDepth 64で作成しました。
M2A-VM はオプションROMのBIOSが起動しませんでした。
これに限らず、マザーによっては拡張カード上にあるRAID BIOSなどが
起動しない事はありますのでご注意ください。
以下にP5Kの時のスクリーンショットを掲載します。
 
（クリックで拡大）
うおー、予想以上に早いですね。
むしろシーケンシャル書き込みが遅いistgtの欠点がばればれではないか･･･。
理由はおそらくコマンド(と書き込みデータ先頭64KB)のキューイングは行うけど、
後続データのキューイングは現時点ではできないせいです。
私自身がリード＞ライトな使い方が多い上にシーケンシャル書き込みを
それほど必要としていないのであまり気にしていなかったけど、
CT Desktop Adapterで使えるとなると改善したほうが良いですよね。きっと。
補足：
試験に使ったZFSプールは以下のように80%超の利用率であるので、
新品の場合はもっと速度が出ると推測されます。
[root@hera ~]# zpool list
NAME   SIZE   USED  AVAIL    CAP  HEALTH  ALTROOT
tank  2.73T  2.30T   435G    84%  ONLINE  -
]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.systemworks.co.jp/?p=373" target="_blank">システムワークスさんのページ</a>に書かれていた一言にびっくりしました。</p>
<p>製品情報およびiSCSI Remote Bootサポート製品はこちらから<br />
<a href="http://www.intel.com/products/desktop/adapters/gigabit-ct/gigabit-ct-overview.htm" target="_blank">http://www.intel.com/products/desktop/adapters/gigabit-ct/gigabit-ct-overview.htm</a><br />
<a href="http://www.intel.com/support/network/adapter/pro100/sb/CS-028681.htm" target="_blank">http://www.intel.com/support/network/adapter/pro100/sb/CS-028681.htm</a></p>
<p>私は PT Server Adapter で満足していたので CT Desktop Adapter には<br />
まったく興味がなかったのですがiSCSIブートできるとなれば話は別です^^;</p>
<p>さっそく Intel CT Desktop Adapter を購入して確認してみました。<br />
ファームはインテルのサイトから15.2版をダウンロードして書き込みました。<br />
iSCSIファームバージョンは2.5.12でした。</p>
<p>起動試験はFreeNASの確認に使っている NEC Express5800/110Ge<br />
(GIGABYTE GA-5YASV-RH)、ASUS P5K、ASUS M2A-VM、MSI K9NGM3-FIH<br />
の4台で行いました。</p>
<p>OSはWindows Server 2008 R2を利用しました。<br />
iSCSIターゲットはいつものistgt 20100407 on FreeBSD 7.3(ZFS/RAIDZ2)に<br />
40GBの領域をQueueDepth 64で作成しました。</p>
<p>M2A-VM はオプションROMのBIOSが起動しませんでした。<br />
これに限らず、マザーによっては拡張カード上にあるRAID BIOSなどが<br />
起動しない事はありますのでご注意ください。</p>
<p>以下にP5Kの時のスクリーンショットを掲載します。</p>
<p><a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2010/05/ws2k8r2-ct00.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-1029" title="ws2k8r2-ct00" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2010/05/ws2k8r2-ct00-150x134.jpg" alt="" width="150" height="134" /></a> <a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2010/05/ws2k8r2-ct01.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-1030" title="ws2k8r2-ct01" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2010/05/ws2k8r2-ct01-150x106.jpg" alt="" width="150" height="106" /></a><br />
（クリックで拡大）</p>
<p>うおー、予想以上に早いですね。<br />
むしろシーケンシャル書き込みが遅いistgtの欠点がばればれではないか･･･。<br />
理由はおそらくコマンド(と書き込みデータ先頭64KB)のキューイングは行うけど、<br />
後続データのキューイングは現時点ではできないせいです。</p>
<p>私自身がリード＞ライトな使い方が多い上にシーケンシャル書き込みを<br />
それほど必要としていないのであまり気にしていなかったけど、<br />
CT Desktop Adapterで使えるとなると改善したほうが良いですよね。きっと。</p>
<p>補足：<br />
試験に使ったZFSプールは以下のように80%超の利用率であるので、<br />
新品の場合はもっと速度が出ると推測されます。</p>
<pre id="ex"><code>[root@hera ~]# zpool list
NAME   SIZE   USED  AVAIL    CAP  HEALTH  ALTROOT
tank  2.73T  2.30T   435G    84%  ONLINE  -</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://shell.peach.ne.jp/aoyama/archives/1028/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>物理ディスクをiSCSIターゲットに利用した場合の転送速度(参考用)</title>
		<link>http://shell.peach.ne.jp/aoyama/archives/679</link>
		<comments>http://shell.peach.ne.jp/aoyama/archives/679#comments</comments>
		<pubDate>Wed, 23 Dec 2009 12:21:07 +0000</pubDate>
		<dc:creator>aoyama</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[ZFS]]></category>
		<category><![CDATA[iSCSI]]></category>
		<category><![CDATA[仮想化]]></category>
		<category><![CDATA[ESXi]]></category>
		<category><![CDATA[FreeNAS]]></category>
		<category><![CDATA[Hyper-V]]></category>

		<guid isPermaLink="false">http://shell.peach.ne.jp/aoyama/?p=679</guid>
		<description><![CDATA[FreeNASには7S-amd64版にアップデータを適用したものを利用しました。
7S-FreeNAS-amd64-LiveCD-0.7.1.4947.iso
FreeNAS 0.7用 iSCSIターゲット(istgt)アップデータ 20091222版
FreeNASのチューンは以下の３点です。
ZFSテスト用の/cf/boot/loader.confの追加設定
vm.kmem_size="3072M"
vfs.zfs.arc_min="1024M"
vfs.zfs.arc_max="1024M"
System&#124;Advanced の Enable tuning of some kernel variables のチェック
System&#124;Advanced&#124;sysctl.confの値修正
net.inet.tcp.recvspace 393216
net.inet.tcp.sendspace 393216
テスト環境の主要構成パーツは以下の通りです。
FreeNAS 7S-amd64(4947):
M/B: ASUS M2A-VM (AMD 690G + SB600)
Mem: DDR2-800(PC6400) 2GB x 2
CPU: AMD X2 5200+ (2.7GHz, 2core)
Net: onboard Realtek 8111 (LAN management)
NIC: Intel PRO/1000 PT Server Adapter (OPT1 for iSCSI primary)
NIC: Intel PRO/1000 PT Server Adapter (OPT2 for iSCSI secondary)
HDD: Maxtor 4K080H4 [...]]]></description>
			<content:encoded><![CDATA[<p>FreeNASには7S-amd64版にアップデータを適用したものを利用しました。</p>
<p><a href="http://shell.peach.ne.jp/aoyama/archives/664" target="_blank">7S-FreeNAS-amd64-LiveCD-0.7.1.4947.iso</a></p>
<p><a href="http://shell.peach.ne.jp/aoyama/archives/673" target="_blank">FreeNAS 0.7用 iSCSIターゲット(istgt)アップデータ 20091222版</a></p>
<p>FreeNASのチューンは以下の３点です。</p>
<p>ZFSテスト用の/cf/boot/loader.confの追加設定</p>
<pre><code>vm.kmem_size="3072M"
vfs.zfs.arc_min="1024M"
vfs.zfs.arc_max="1024M"</code></pre>
<p>System|Advanced の Enable tuning of some kernel variables のチェック</p>
<p>System|Advanced|sysctl.confの値修正</p>
<pre><code>net.inet.tcp.recvspace 393216
net.inet.tcp.sendspace 393216</code></pre>
<p>テスト環境の主要構成パーツは以下の通りです。</p>
<pre><code>FreeNAS 7S-amd64(4947):
M/B: ASUS M2A-VM (AMD 690G + SB600)
Mem: DDR2-800(PC6400) 2GB x 2
CPU: AMD X2 5200+ (2.7GHz, 2core)
Net: onboard Realtek 8111 (LAN management)
NIC: Intel PRO/1000 PT Server Adapter (OPT1 for iSCSI primary)
NIC: Intel PRO/1000 PT Server Adapter (OPT2 for iSCSI secondary)
HDD: Maxtor 4K080H4 (U100/80GB) (/mnt/data)
HDD: Western Digital WD5000AAKS (SATAII/500GB) (/dev/ad4)

ESXi4.0 Host:
M/B: MSI K9NGM3-FIH (nVidia GeForce7050PV + nForce 630a)
CPU: AMD X2 BE-2400 (2.4GHz, 2core)
Mem: DDR2-800(PC6400) 2GB x 2
Net: onboard nForce integrated (VMKernel for iSCSI primary)
NIC: Realtek 8169S (32bitPCI) (VM Network for LAN management)
USB: SILICON POWER Ultima II I-Series 2GB (ESXi boot device)
iSCSI: 120GB on FreeBSD 7.2 + UFS (temporary, iso images, etc)
iSCSI: 465GB on FreeNAS (/dev/ad4)

WS2008R2 Hyper-V Host:
M/B: GIGABYTE GA-G33-DS3R (Intel G33 + ICH9R)
CPU: Intel C2Q Q6600 (2.4GHz, 4core)
Mem: DDR2-800(PC6400) 2GB x 4
Net: onboard Realtek 8111 (for iSCSI secondary)
NIC: Intel PRO/1000 PT Desktop Adapter (for iSCSI primary)
NIC: Realtek 8169S (32bitPCI) (LAN management)
HDD: Western Digital WD5000ABYS (SATAII/500GB) (boot device)
iSCSI: 180GB on FreeBSD 7.1 + ZFS RAIDZ2 (main storage, VHD)
iSCSI: 120GB on FreeBSD 7.2 + UFS (backup, iso images, etc)
</code></pre>
<p>FreeNAS shell 上でのディスク情報</p>
<pre id="ex"><code>freenas:/mnt# diskinfo -t ad4
ad4
        512             # sectorsize
        500107862016    # mediasize in bytes (466G)
        976773168       # mediasize in sectors
        969021          # Cylinders according to firmware.
        16              # Heads according to firmware.
        63              # Sectors according to firmware.
        ad:WD-WCAPW3808248      # Disk ident.

Seek times:
        Full stroke:      250 iter in   8.933453 sec =   35.734 msec
        Half stroke:      250 iter in   5.990421 sec =   23.962 msec
        Quarter stroke:   500 iter in   9.154314 sec =   18.309 msec
        Short forward:    400 iter in   2.128259 sec =    5.321 msec
        Short backward:   400 iter in   2.014236 sec =    5.036 msec
        Seq outer:       2048 iter in   0.330524 sec =    0.161 msec
        Seq inner:       2048 iter in   0.330175 sec =    0.161 msec
Transfer rates:
        outside:       102400 kbytes in   1.222357 sec =    83773 kbytes/sec
        middle:        102400 kbytes in   1.394441 sec =    73434 kbytes/sec
        inside:        102400 kbytes in   2.501426 sec =    40937 kbytes/sec
&nbsp;</code></pre>
<p>FreeNAS -&gt; WS2008R2 Host (direct)<br />
<a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2009/12/istgt23.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-681" title="istgt23" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2009/12/istgt23-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>FreeNAS -&gt; ESXi4.0 VMFS -&gt; WS2008R2 Guest<br />
<a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2009/12/istgt24.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-682" title="istgt24" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2009/12/istgt24-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>ESXiゲストでCrystalDiskMark 3.0beta2を実行した時のFreeNAS負荷<br />
<a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2009/12/istgt25.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-683" title="istgt25" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2009/12/istgt25-150x150.jpg" alt="" width="150" height="150" /></a> <a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2009/12/istgt26.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-684" title="istgt26" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2009/12/istgt26-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>FreeNASの設定など各種<br />
<a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2009/12/7s-freenas01.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-687" title="7s-freenas01" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2009/12/7s-freenas01-150x150.jpg" alt="" width="150" height="150" /></a> <a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2009/12/7s-freenas02.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-688" title="7s-freenas02" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2009/12/7s-freenas02-150x150.jpg" alt="" width="150" height="150" /></a><br />
<a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2009/12/7s-freenas03.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-689" title="7s-freenas03" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2009/12/7s-freenas03-150x150.jpg" alt="" width="150" height="150" /></a> <a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2009/12/7s-freenas04.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-690" title="7s-freenas04" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2009/12/7s-freenas04-150x150.jpg" alt="" width="150" height="150" /></a><br />
<a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2009/12/7s-freenas05.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-691" title="7s-freenas05" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2009/12/7s-freenas05-150x150.jpg" alt="" width="150" height="150" /></a> <a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2009/12/7s-freenas06.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-692" title="7s-freenas06" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2009/12/7s-freenas06-150x150.jpg" alt="" width="150" height="150" /></a><br />
<a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2009/12/7s-freenas08.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-697" title="7s-freenas08" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2009/12/7s-freenas08-150x150.jpg" alt="" width="150" height="150" /></a> <a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2009/12/7s-freenas07.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-693" title="7s-freenas07" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2009/12/7s-freenas07-150x150.jpg" alt="" width="150" height="150" /></a><br />
（クリックで拡大） (click to see large image)</p>
<hr /> </p>
<p>ESXi上で実行した場合はおよそ、</p>
<p>Seq.Read 72MB/s CPU load 10%<br />
Seq.Write 52MB/s CPU load 25%</p>
<p>ぐらいが期待できるようです。</p>
]]></content:encoded>
			<wfw:commentRss>http://shell.peach.ne.jp/aoyama/archives/679/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD 8.0 / 7-STABLE on Windows Server 2008 + Hyper-V</title>
		<link>http://shell.peach.ne.jp/aoyama/archives/577</link>
		<comments>http://shell.peach.ne.jp/aoyama/archives/577#comments</comments>
		<pubDate>Wed, 25 Nov 2009 16:23:41 +0000</pubDate>
		<dc:creator>aoyama</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[仮想化]]></category>
		<category><![CDATA[Hyper-V]]></category>
		<category><![CDATA[patch]]></category>

		<guid isPermaLink="false">http://shell.peach.ne.jp/aoyama/?p=577</guid>
		<description><![CDATA[以前の同様に初期化部分のパッチを作成しました。
現時点(2009/11/25)で、以下の版に対して動作確認済みです。
FreeBSD 8.0 RELEASE
FreeBSD 7 STABLE
また、2008R2 + Hyper-Vにて確認したところ、8.0RELは起動しませんでした。
7.2RELと7STABLEは起動するので利用できる模様。
起動しない8.0RELの詳細はまだ調べていません。
パッチファイル：fbs80-200911-hvpatch.bz2
パッチ済みカーネルの作成とインストール：
# cd /usr/src
# bzcat &#60; /path/to/fbs80-200911-hvpatch.bz2 &#124; patch -p1
# make buildkernel
# make installkernel
# shutdown -r now
パッチを当てたカーネルはLANカード(100BASE-TX)のDEC21140の
デバイス初期化をスキップするだけなので、
dump/restore で他の物理マシンに移動しても、
そのカードを利用していないならば修正しなくても問題なく動きます。
vmwp.exeの終了のしかた：
１．タスクマネージャを起動します。
２．プロセスタブを開きます。
３．表示(V)＞列の選択(S)で「コマンドライン」のチェック入れて表示します。
４．イメージ名の部分をクリックしてソートします。
５．vmconnect.exeの後ろにホスト名、仮想マシン名、オプションと続くので、
停止したい仮想マシンのコマンドラインにあるGUIDを見つけます。
６．同じGUIDのvmwp.exeがありますので、右クリックして
「プロセスの終了(E)」を選択します。
 
（クリックで拡大）
]]></description>
			<content:encoded><![CDATA[<p>以前の同様に初期化部分のパッチを作成しました。<br />
現時点(2009/11/25)で、以下の版に対して動作確認済みです。</p>
<p>FreeBSD 8.0 RELEASE<br />
FreeBSD 7 STABLE</p>
<p>また、2008R2 + Hyper-Vにて確認したところ、8.0RELは起動しませんでした。<br />
7.2RELと7STABLEは起動するので利用できる模様。<br />
起動しない8.0RELの詳細はまだ調べていません。</p>
<p>パッチファイル：<a href="http://shell.peach.ne.jp/~aoyama/wordpress/download/fbs80-200911-hvpatch.bz2" target="_blank">fbs80-200911-hvpatch.bz2</a></p>
<p>パッチ済みカーネルの作成とインストール：</p>
<pre id="ex"><code># cd /usr/src
# bzcat &lt; /path/to/fbs80-200911-hvpatch.bz2 | patch -p1
# make buildkernel
# make installkernel
# shutdown -r now</code></pre>
<p>パッチを当てたカーネルはLANカード(100BASE-TX)のDEC21140の<br />
デバイス初期化をスキップするだけなので、<br />
dump/restore で他の物理マシンに移動しても、<br />
そのカードを利用していないならば修正しなくても問題なく動きます。</p>
<p>vmwp.exeの終了のしかた：<br />
１．タスクマネージャを起動します。<br />
２．プロセスタブを開きます。<br />
３．表示(V)＞列の選択(S)で「コマンドライン」のチェック入れて表示します。<br />
４．イメージ名の部分をクリックしてソートします。<br />
５．vmconnect.exeの後ろにホスト名、仮想マシン名、オプションと続くので、<br />
停止したい仮想マシンのコマンドラインにあるGUIDを見つけます。<br />
６．同じGUIDのvmwp.exeがありますので、右クリックして<br />
「プロセスの終了(E)」を選択します。</p>
<p><a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/11/hvtaskmgr1.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-114" title="hvtaskmgr1" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/11/hvtaskmgr1-150x150.jpg" alt="" width="150" height="150" /></a> <a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/11/hvtaskmgr2.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-115" title="hvtaskmgr2" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/11/hvtaskmgr2-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>（クリックで拡大）</p>
]]></content:encoded>
			<wfw:commentRss>http://shell.peach.ne.jp/aoyama/archives/577/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>FreeBSD iscsi-target MCS/64bitLBA/仮想DVD/仮想テープパッチ 2009/1/25版 for Microsoft iSCSI Initiator</title>
		<link>http://shell.peach.ne.jp/aoyama/archives/261</link>
		<comments>http://shell.peach.ne.jp/aoyama/archives/261#comments</comments>
		<pubDate>Sun, 25 Jan 2009 08:23:37 +0000</pubDate>
		<dc:creator>aoyama</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[IPv6]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[ZFS]]></category>
		<category><![CDATA[iSCSI]]></category>
		<category><![CDATA[64bitLBA]]></category>
		<category><![CDATA[patch]]></category>
		<category><![CDATA[仮想デバイス]]></category>

		<guid isPermaLink="false">http://shell.peach.ne.jp/aoyama/?p=261</guid>
		<description><![CDATA[新リリース＞istgt version 0.1 (20090222)
高速化の構想がちっとも進まないので気分転換にWindows7を入れてみようと思った！
でもWindows7がディスクレスインストールできないんです。
以前より大きいサイズでI/Oを行うようで。潜在的なバグに遭遇しちゃった(汗)
まぁ、これで ready for Windows7 になった(笑)
Windows7のiSCSIプロパティは詳細がすぐ見えて良い感じに。
MCSで動かしてるのがわかるし、ダイジェストの有無も確認できる。
パッチを作成した甲斐があるってものです。
でもあいかわらず2PBバリアはあるんですけどｗ
Vistaはぜんぜん興味わかなかったけど、今度のはいいかもね。
（自分がiSCSIディスクレスに興味を持ったのも一因だけど）
でわでわ、Windows7とディスクレス環境をお楽しみください。
パッチファイル： iscsi-target-20090125-patch.bz2
# cd /usr/ports/net/iscsi-target
# make clean
# make patch
# bzcat &#60; /path/to/iscsi-target-20090125-patch.bz2 &#124; patch -p0
# make
# make install
手動でメディア制御コントローラーをインストールしてください。
これは仮想DVDやテープの取り出し交換などに使います。
# cp -p work/netbsd-iscsi-20080207/src/istgtcontrol /usr/local/bin/
設定例は以前の投稿をどうぞ。
既知の問題：
全体的なスループットがあまり良くない。
主な修正点：
type=disk:読み書きエラー時でも正常終了になる致命的バグを修正しました。
type=disk:MODE SENSEでより多くのデータを返すように追加しました。
データOUTフェーズのメモリリークを修正しました。
MaxBurstLengthを超えるサイズの書き込み要求が正しく処理出来なかったのを修正しました。
ステータスシーケンス番号エラーを修正しました。
まぎらわしいエラーメッセージを表示しないように修正しました。
☆Windows7のディスクレス環境でのスクリーンショット
MCSもダイジェストも簡単に分かるようになりました。

2PB以上のディスクはやっぱりマイナスにｗ

ディスクレスインストール直後のデバイスマネージャー

お約束の

]]></description>
			<content:encoded><![CDATA[<p><a href="http://shell.peach.ne.jp/aoyama/archives/294" target="_blank">新リリース＞istgt version 0.1 (20090222)</a></p>
<p>高速化の構想がちっとも進まないので気分転換にWindows7を入れてみようと思った！<br />
でもWindows7がディスクレスインストールできないんです。<br />
以前より大きいサイズでI/Oを行うようで。潜在的なバグに遭遇しちゃった(汗)<br />
まぁ、これで ready for Windows7 になった(笑)</p>
<p>Windows7のiSCSIプロパティは詳細がすぐ見えて良い感じに。<br />
MCSで動かしてるのがわかるし、ダイジェストの有無も確認できる。<br />
パッチを作成した甲斐があるってものです。<br />
でもあいかわらず2PBバリアはあるんですけどｗ<br />
Vistaはぜんぜん興味わかなかったけど、今度のはいいかもね。<br />
（自分がiSCSIディスクレスに興味を持ったのも一因だけど）</p>
<p>でわでわ、Windows7とディスクレス環境をお楽しみください。</p>
<p>パッチファイル： <a href="http://shell.peach.ne.jp/~aoyama/wordpress/download/iscsi-target-20090125-patch.bz2" target="_blank">iscsi-target-20090125-patch.bz2</a></p>
<pre id="ex"><code># cd /usr/ports/net/iscsi-target
# make clean
# make patch
# bzcat &lt; /path/to/iscsi-target-20090125-patch.bz2 | patch -p0
# make
# make install</code></pre>
<p>手動でメディア制御コントローラーをインストールしてください。<br />
これは仮想DVDやテープの取り出し交換などに使います。</p>
<pre># cp -p work/netbsd-iscsi-20080207/src/istgtcontrol /usr/local/bin/</pre>
<p>設定例は<a href="http://shell.peach.ne.jp/aoyama/archives/207" target="_blank">以前の投稿</a>をどうぞ。</p>
<p>既知の問題：<br />
全体的なスループットがあまり良くない。</p>
<p>主な修正点：<br />
type=disk:読み書きエラー時でも正常終了になる致命的バグを修正しました。<br />
type=disk:MODE SENSEでより多くのデータを返すように追加しました。<br />
データOUTフェーズのメモリリークを修正しました。<br />
MaxBurstLengthを超えるサイズの書き込み要求が正しく処理出来なかったのを修正しました。<br />
ステータスシーケンス番号エラーを修正しました。<br />
まぎらわしいエラーメッセージを表示しないように修正しました。</p>
<p>☆Windows7のディスクレス環境でのスクリーンショット</p>
<p>MCSもダイジェストも簡単に分かるようになりました。<br />
<a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2009/01/iscsi-w7-1.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-262" title="iscsi-w7-1" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2009/01/iscsi-w7-1-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>2PB以上のディスクはやっぱりマイナスにｗ<br />
<a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2009/01/iscsi-w7-2.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-263" title="iscsi-w7-2" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2009/01/iscsi-w7-2-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>ディスクレスインストール直後のデバイスマネージャー<br />
<a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2009/01/iscsi-w7-3.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-264" title="iscsi-w7-3" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2009/01/iscsi-w7-3-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>お約束の<br />
<a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2009/01/iscsi-w7-4.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-265" title="iscsi-w7-4" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2009/01/iscsi-w7-4-150x150.jpg" alt="" width="150" height="150" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://shell.peach.ne.jp/aoyama/archives/261/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Intel PRO/1000 PT Server Adapterを使ってiSCSIブート(ディスクレス)を行う</title>
		<link>http://shell.peach.ne.jp/aoyama/archives/256</link>
		<comments>http://shell.peach.ne.jp/aoyama/archives/256#comments</comments>
		<pubDate>Thu, 22 Jan 2009 17:07:33 +0000</pubDate>
		<dc:creator>aoyama</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[ZFS]]></category>
		<category><![CDATA[iSCSI]]></category>
		<category><![CDATA[patch]]></category>

		<guid isPermaLink="false">http://shell.peach.ne.jp/aoyama/?p=256</guid>
		<description><![CDATA[とりあえずWindows Server 2003と2008で確認しました。
WS2003で利用したもの：
Intel PRO/1000 PT Server Adapter ２個
（追記：Server Adapter + Desktop Adapter の構成でもできました）
iscsi-target 20090122パッチ版
Windows Sever 2003 R2 評価版CDROM
Intel iSCSI Remote Boot FLASH ROM Utility
(ISBOOT.EXE 12.4/Firmware 2.1.22)
Intel PRO1000/PT Network Adapter Drivers for 2000/XP/2003
(PRO2KXP_v13_5.exe)
Microsoft iSCSI Initiator 2.08 boot version
(Initiator-2.08-boot-build3825-x86fre.exe)
http://www.microsoft.com/downloads/details.aspx?familyid=12CB3C1A-15D6-4585-B385-BEFD1319F825&#38;displaylang=en
最初にターゲットを用意する。
FreeBSD 7.1 に iscsi-target 20090122パッチ版を使って下記のドライブを作成しました。
/usr/local/etc/iscsi/targets
extent11        /tank/iscsiz/istgt-boot00       0       120GB
target11        rw              extent11                192.168.3.0/24
次にNICのファームを更新する。
ISBOOT.EXEをダウンロードしてくる。
http://downloadcenter.intel.com/Product_Search.aspx?Prod_nm=ISBOOT.EXE
今回は12.4を利用しました。（後ろの方にあります）
展開すると、iSCSIUtl\DOSの中にiSCSIUtl.exeがあるのでこれをFDにコピーします。
DOS上から次のコマンドを実行する。
ISCSIUTL -ALL -FLASHENABLE
ISCSIUTL -ALL -UP
この操作ですべてのアダプタにiSCSIブートファームが書き込まれます。
NICが複数の場合はNICオプションで指定できます。
PXEブートに戻すにはPROBOOT.EXEにあるIBAUtil.exeを使えば戻るらしいけど、
私は戻すつもりはないのでよくわかりません(笑)
再起動すると正しくBIOSがロードされていれば、
iSCSIのセットアップに入るために
「Ctrl+Dを押してください」
と出るので押してセットアップに入る。
Firmware設定例：
Initiator Name
 iqn.2007-09.jp.ne.peach:pluto
Initiator IP
 192.168.3.48
Subnet Mask
 255.255.255.0
Gateway IP
 0.0.0.0
Target [...]]]></description>
			<content:encoded><![CDATA[<p>とりあえずWindows Server 2003と2008で確認しました。</p>
<p>WS2003で利用したもの：<br />
Intel PRO/1000 PT Server Adapter ２個<br />
（追記：Server Adapter + Desktop Adapter の構成でもできました）<br />
iscsi-target 20090122パッチ版<br />
Windows Sever 2003 R2 評価版CDROM<br />
Intel iSCSI Remote Boot FLASH ROM Utility<br />
(ISBOOT.EXE 12.4/Firmware 2.1.22)<br />
Intel PRO1000/PT Network Adapter Drivers for 2000/XP/2003<br />
(PRO2KXP_v13_5.exe)<br />
Microsoft iSCSI Initiator 2.08 boot version<br />
(Initiator-2.08-boot-build3825-x86fre.exe)<br />
<a href="http://www.microsoft.com/downloads/details.aspx?familyid=12CB3C1A-15D6-4585-B385-BEFD1319F825&amp;displaylang=en" target="_blank">http://www.microsoft.com/downloads/details.aspx?familyid=12CB3C1A-15D6-4585-B385-BEFD1319F825&amp;displaylang=en</a></p>
<p>最初にターゲットを用意する。<br />
FreeBSD 7.1 に iscsi-target 20090122パッチ版を使って下記のドライブを作成しました。</p>
<p>/usr/local/etc/iscsi/targets<br />
extent11        /tank/iscsiz/istgt-boot00       0       120GB<br />
target11        rw              extent11                192.168.3.0/24</p>
<p>次にNICのファームを更新する。</p>
<p>ISBOOT.EXEをダウンロードしてくる。<br />
<a href="http://downloadcenter.intel.com/Product_Search.aspx?Prod_nm=ISBOOT.EXE" target="_blank">http://downloadcenter.intel.com/Product_Search.aspx?Prod_nm=ISBOOT.EXE</a><br />
今回は12.4を利用しました。（後ろの方にあります）<br />
展開すると、iSCSIUtl\DOSの中にiSCSIUtl.exeがあるのでこれをFDにコピーします。</p>
<p>DOS上から次のコマンドを実行する。</p>
<p>ISCSIUTL -ALL -FLASHENABLE<br />
ISCSIUTL -ALL -UP</p>
<p>この操作ですべてのアダプタにiSCSIブートファームが書き込まれます。<br />
NICが複数の場合はNICオプションで指定できます。<br />
PXEブートに戻すにはPROBOOT.EXEにあるIBAUtil.exeを使えば戻るらしいけど、<br />
私は戻すつもりはないのでよくわかりません(笑)</p>
<p>再起動すると正しくBIOSがロードされていれば、<br />
iSCSIのセットアップに入るために<br />
「Ctrl+Dを押してください」<br />
と出るので押してセットアップに入る。</p>
<p>Firmware設定例：<br />
Initiator Name<br />
 iqn.2007-09.jp.ne.peach:pluto<br />
Initiator IP<br />
 192.168.3.48<br />
Subnet Mask<br />
 255.255.255.0<br />
Gateway IP<br />
 0.0.0.0</p>
<p>Target Name<br />
 iqn.1994-04.org.netbsd.iscsi-target:target11<br />
Target IP<br />
 192.168.3.36<br />
Target Port<br />
 3260<br />
Boot LUN<br />
 0</p>
<p>設定をして、起動するために設定したアダプタをPRIMARYとして選択する。<br />
マシンを再起動してLUN0にNETBSD HDDが認識される事を確認する。<br />
（表示が短すぎて目視するのが難しいけどｗ）<br />
Attempting Connect to の次の行に<br />
LUN0 DEVICE NetBSD ほげほげ<br />
が表示されない場合は接続にミスしているので設定を再確認する。</p>
<p>ISBOOT.EXEを展開した場所にある Win32以下のセットアップドライバを予めFDにコピーしておく。<br />
さらにPRO2KXP_v13_5.exeを展開してPRO1000\Win32以下をDVDRWやUSBメモリなどに保存しておく。<br />
Intel(R) Ethernet Drivers and Software for Multiple Operating SystemsだとZIPなので、<br />
その展開のコピーでもいいとおもう。</p>
<p>Windows Server 2003 のCDROMで起動する</p>
<p>F6ほげほげが表示されたらF6キーを連打する。<br />
次のF2ほげほげが出たらもう押さなくてOK<br />
しばらくロードが続いて、ドライバの入力を求める画面になります。<br />
Sキー＞エンターキーで続行してFDから<br />
「Intel(R) iSCSI Setup Driver」<br />
を読み込む。できたらエンターキーで続行する。</p>
<p>そのまま進み、正しくFDからロードできればiSCSIのHDDが表示されます。<br />
後は普通にパーティションを作成してインストールを指示します。</p>
<p>CDからHDDにコピーが終わると再起動になるのでFDを抜いておく。<br />
そのまま待てばCDROMのスキャン後にiSCSIのHDDからブートして、<br />
Windowsのセットアップが続行します。<br />
途中でドライバがWindowsロゴに合格していないと言われるけど入れてしまう。<br />
インストールが終了して起動するとiSCSIブートに使っているNICが<br />
デバイスマネージャからSCSIとRAIDコントローラに<br />
「Intel(R) iSCSI Setup Driver」として認識されています。</p>
<p>（自分的メモ）<br />
ここまで出来たらWindowsを終了させてから、<br />
ZFSスナップショットを作成しておく。<br />
# zfs snapshot tank/iscsiz@snap20090122</p>
<p>上記コマンドを打ち込むと数秒で即座に今の状態が保存されます。<br />
これで今後の操作でミスっても再インストールする必要がなくります(笑)</p>
<p>次にIntelのNICドライバを手動でいれます。<br />
デバイスマネージャを開いて、不明デバイスの<br />
イーサネット コントローラになっているものに<br />
上記で作成したPRO2KXPドライバを導入します。<br />
デバイスの詳細を見るとVEN_8086～となっているのがIntel製です。<br />
WindowsUpdateを使わず、「いいえ、今回は接続しません」を選択する。<br />
一覧または特定の場所からインストールするで場所を指定します。<br />
iSCSI起動に使っているNICはインストールに失敗します。<br />
それ以外のデバイスが認識された事を確認します。</p>
<p>オンボードのLANドライバも同様に導入して、<br />
iscsi-targetのマシンにpingできる事を確認してから再起動します。<br />
（複数ポータルの設定方法がわからないのと、SAN1とSAN2のGWをもってないので<br />
 SAN2用NICに仮IPを振ってSAN1と同じとこに接続しといた）</p>
<p>再起動するとインストールできなかったデバイスに黄色のびっくりマークが付いて<br />
ネットワークアダプタのグループに移動します。</p>
<p>この状態で、Microsoft iSCSI Initiator 2.08 boot versionsをインストールします。<br />
セットアップでConfigure iSCSI Network Boot Supportというのが出るので、<br />
チェックを入れて、e1expressというServiceNameの行を選択します。（←重要）<br />
（現在のiscsi-targetパッチではMPIOはチェックしなくていいです）<br />
インストールが終わったら再起動します。</p>
<p>起動したら、iSCSI InitiatorプロパティでTargetsに起動ディスクのみが<br />
認識されてConnectedされていることを確認します。<br />
（この段階ではDiscoveryタブはからっぽでなければいけない）</p>
<p>確認できたらF6ドライバのディスクにあるiSCSIApp.exeを実行します。<br />
「はい」をクリックしてドライバを除去します。<br />
この実行によりF6ドライバの制御下の起動ドライブが<br />
Microsoft iSCSI Initiator boot版に委譲されます。<br />
終わったら再起動します。</p>
<p>デバイスマネージャのSCSIとRAIDコントローラにある<br />
「Intel(R) iSCSI Setup Driver」<br />
が黄色いびっくりマークになっているのを確認します。<br />
確認できたらネットワークアダプタの失敗したものに<br />
ネットワークドライバをインストールします。<br />
今度は成功しますのでIPアドレスを設定します。<br />
※ここで仮に設定したIPも削除しました。</p>
<p>出来たらスタートメニューからコマンドプロンプトを起動して、<br />
iscsibcg /verify /fix<br />
を実行します。<br />
Nic service used for iSCSI Boot is e1express<br />
Driver e1express is not set to boot start<br />
Driver e1express fixed to be be boot start<br />
All iSCSI boot verification checks completed<br />
と起動ドライバに e1express を使うようになって<br />
チェック完了すればiSCSIブートのディスクレスマシンの完成です。<br />
再起動すればiSCSIとネットワークの両方が使えるようになっています。<br />
おつかれさまです。</p>
<p>最後のiscsibcgはドライバ更新とかOSのアップデートを行ったら<br />
再度実行する必要があるそうです。<br />
詳細はISBOOT.EXEのドキュメント（英語）を参照してくださいな。</p>
<p>ポイントはiSCSI Firmから起動した段階ではストレージコントローラ専用に<br />
なっているため通常のネットワークパケットを一切扱えないので、他のNICで<br />
処理するために2ポート必要になるのと、ストレージ用とネットワーク用の<br />
ドライバが起動時に動いていて、MS iSCSI Initiatorから読めるように<br />
予め構成しなければいけない所かな。</p>
<p>※使用上の注意※<br />
同系列のNICを必ず2ポート以上用意すること。（Dual/Quadなら1枚でOK）<br />
iSCSIファームは起動するNICにのみあればいいのでServer+Desktopでもいけるかも？<br />
（追記：iSCSIファームをいれたServer1個とDesktop1個でもできました）<br />
複数セッションを張る必要があるので最大セッション数を極端に小さくしない事。<br />
テスト環境での設定は &#8220;-s 32 -C 8&#8243; です<br />
ドライバの交換が終了する前にクラッシュしたりすると起動不能に陥る事があります。<br />
いわゆるディスクチェック完了してからでないと起動できないよ状態。<br />
（しかしドライバは制御から外れてアクセスできない？）<br />
DHCPでは詳しく試していないのでよくわからないです。</p>
<p>WS2008で利用したもの：<br />
Intel PRO/1000 PT Server Adapter ２個 （追記：1個でもできました）<br />
(firmは上記で更新済み)<br />
iscsi-target 20090122パッチ版<br />
Windows Server 2008 DVDメディア</p>
<p>ターゲット設定、Firmware設定は2003と同様です。</p>
<p>2008では最初からPRO/1000PT用ドライバが添付されていますので、<br />
別途用意するものは何もありません。iSCSIも標準対応です。</p>
<p>DVDから起動すればiSCSI HDDが最初から見えます。<br />
あとは普通にインストールすれば問題ありません。<br />
iSCSI起動に使ったNICに設定したIPが最初から指定されています。</p>
<p>テスト環境の構成：</p>
<p>LAN構成<br />
192.168.2.0/24<br />
2001:380:e00:20::/64</p>
<p>SAN用経路１<br />
192.168.3.0/24<br />
2001:3e0:6cf:3::/64</p>
<p>SAN用経路２<br />
192.168.4.0/24<br />
2001:3e0:6cf:4::/64</p>
<p>iscsi-target FreeBSD 7.1/ZFS raidz2<br />
em0:<br />
192.168.4.36, 192.168.4.37<br />
2001:3e0:6cf:4:21f:d0ff:fe16:38bd<br />
em1:<br />
192.168.3.36, 192.168.3.37<br />
2001:3e0:6cf:3:21b:21ff:fe04:f405<br />
em2:<br />
192.168.2.36, 192.168.2.37<br />
2001:380:e00:20:203:47ff:fe72:34f2</p>
<p>テストインストール完了後のマシン構成<br />
ASUS M2A-VM(BIOS 2201) + Athron X2 5200/メモリ2GBx2/HDDなし<br />
LAN:  192.168.2.48 (オンボードRealtek8111かな？)<br />
SAN1: 192.168.3.48 (PCIe  x1: PRO/1000 PT Server Adapter iSCSI boot firm 2.1.22)<br />
SAN2: 192.168.4.48 (PCIe x16: PRO/1000 PT Server Adapter boot disabled)</p>
<p>追記：<br />
追加テストによりわかったので修正しました。<br />
XPSP3は起動はできるけどブート版Initiatorが入らないのでNGです。<br />
VistaSPなしはHDD認識せず撃沈。Server2008が認識している所をみると、boot.wimを更新すればいけるかも。ただ、これを変更するには <a href="http://www.microsoft.com/downloads/details.aspx?displaylang=ja&amp;FamilyID=c7d4bc6d-15f3-4284-9123-679830d629f2" target="_blank">Windows Automated Installation Kit (AIK)</a>がいるわけで面倒なので当面放置。</p>
]]></content:encoded>
			<wfw:commentRss>http://shell.peach.ne.jp/aoyama/archives/256/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD iscsi-target MCS/64bitLBA/仮想DVD/仮想テープパッチ 2009/1/17版 for Microsoft iSCSI Initiator</title>
		<link>http://shell.peach.ne.jp/aoyama/archives/242</link>
		<comments>http://shell.peach.ne.jp/aoyama/archives/242#comments</comments>
		<pubDate>Sat, 17 Jan 2009 15:40:59 +0000</pubDate>
		<dc:creator>aoyama</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[IPv6]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[ZFS]]></category>
		<category><![CDATA[iSCSI]]></category>
		<category><![CDATA[ネットワーク]]></category>
		<category><![CDATA[64bitLBA]]></category>
		<category><![CDATA[patch]]></category>
		<category><![CDATA[仮想デバイス]]></category>

		<guid isPermaLink="false">http://shell.peach.ne.jp/aoyama/?p=242</guid>
		<description><![CDATA[更新＞MCS/64bitLBA/仮想DVD/仮想テープパッチ 2009/1/22版
仮想デバイスの構想一ヶ月、メディアの交換が正常にできずに悩むこと一週間あまり、やっと動くようになったので公開します。
記念すべき今年初のリリースです。
何か要望とかあればブログコメントでもメールでも構わないのでよろしくお願いします。
マルチパスの対応は都合によりしばらく凍結します。
またZFS/IPv6/64bitLBA以外の問題は後回しにします。
当面仮想デバイスの開発調整を最優先事項とします。
とりあえず実行速度よりロジック優先で作成してあります。
まずは仮想CD/DVDROMと仮想テープドライブ(DLT8000を想定)をリリースします。
現時点でバックアップリストアの基本動作確認のとれたソフトは
Windows 2000 Sever SP4 添付のWindowsバックアップ
Windows Server 2003 R2 添付のWindowsバックアップ
Symantec BackupExec 12.5 for Windows Server
FreeBSD 7.x の tar/mt コマンド
GNU tar 1.20 マルチボリューム
BackupExecに関してはiSCSI接続後にホットスワップ対応デバイスウィザードを
実行する事によりデバイスプールに追加できます。
※注意事項※
DLT8000が解釈できないコマンド類はエラーとしてsyslogに記録されますがテープの動作は行います。
現在の所、制御ポート経由(telnet等)で任意のターゲットのメディア操作が出来てしまいます。
それにしてもサイズがすんごい大きくなった。
パッチ元はFreeBSDで利用されてないコードを含めても2万行もないのに
仮想DVDと仮想テープドライブ対応だけで9千行を超えてサイズも500kに達してる。
もはやパッチレベルの範疇を超えてる気が。
そして、インストールテスト中に気が付いたけど制御コマンドのインストールとか
まったく考えてなかった(涙)とりあえず手動コピーでよろしく。
今後の予定もとい導入したほうがよさそうな事？
☆メディア制御をもうすこし賢い方法にする。
☆SCSIパススルーデバイスを追加する。
☆USBメモリ等のリムーバブルデバイスにも対応する。
☆デバイスのホットスワップに対応する。
☆複数のメディアスロットをサポートする。
☆複数イニシエータからの接続を可能にする。
☆マルチパスを考慮する。
パッチファイル： iscsi-target-20090117-patch.bz2
更新版をご利用ください。
# cd /usr/ports/net/iscsi-target
# make clean
# make patch
# bzcat &#60; /path/to/iscsi-target-20090117-patch.bz2 &#124; patch -p0
# make
# make install
#
# cp -p work/netbsd-iscsi-20080207/src/istgtcontrol /usr/local/bin/
#
手動でメディア制御コントローラーをインストールしてください。
これは仮想DVDやテープの取り出し交換などに使います。
設定例は以前の投稿をどうぞ。
新しい機能：
targetsファイル内のlengthカラムで加減算で一個だけ追加指定できます。
ZEPTGMKのサフィックスも合わせて利用できます。
1023MBの指定例： 1GB-1MB (=1024MB-1MB=1023MB)
1025MBの指定例： 1GB+1MB (=1024MB+1MB=1025MB)
targetsファイル内の各targetにデバイス固有値を指定できます。
type 仮想デバイスのタイプ
 disk SBC-2準拠 Direct access block device
 dvd  MMC-4準拠 CD/DVD device [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://shell.peach.ne.jp/aoyama/archives/252" target="_self">更新＞MCS/64bitLBA/仮想DVD/仮想テープパッチ 2009/1/22版</a></p>
<p>仮想デバイスの構想一ヶ月、メディアの交換が正常にできずに悩むこと一週間あまり、やっと動くようになったので公開します。<br />
記念すべき今年初のリリースです。<br />
何か要望とかあればブログコメントでもメールでも構わないのでよろしくお願いします。</p>
<p>マルチパスの対応は都合によりしばらく凍結します。<br />
またZFS/IPv6/64bitLBA以外の問題は後回しにします。<br />
当面仮想デバイスの開発調整を最優先事項とします。<br />
とりあえず実行速度よりロジック優先で作成してあります。<br />
まずは仮想CD/DVDROMと仮想テープドライブ(DLT8000を想定)をリリースします。<br />
現時点でバックアップリストアの基本動作確認のとれたソフトは</p>
<p>Windows 2000 Sever SP4 添付のWindowsバックアップ<br />
Windows Server 2003 R2 添付のWindowsバックアップ<br />
Symantec BackupExec 12.5 for Windows Server<br />
FreeBSD 7.x の tar/mt コマンド<br />
GNU tar 1.20 マルチボリューム</p>
<p>BackupExecに関してはiSCSI接続後にホットスワップ対応デバイスウィザードを<br />
実行する事によりデバイスプールに追加できます。</p>
<p>※注意事項※<br />
DLT8000が解釈できないコマンド類はエラーとしてsyslogに記録されますがテープの動作は行います。<br />
現在の所、制御ポート経由(telnet等)で任意のターゲットのメディア操作が出来てしまいます。</p>
<p>それにしてもサイズがすんごい大きくなった。<br />
パッチ元はFreeBSDで利用されてないコードを含めても2万行もないのに<br />
仮想DVDと仮想テープドライブ対応だけで9千行を超えてサイズも500kに達してる。<br />
もはやパッチレベルの範疇を超えてる気が。</p>
<p>そして、インストールテスト中に気が付いたけど制御コマンドのインストールとか<br />
まったく考えてなかった(涙)とりあえず手動コピーでよろしく。</p>
<p>今後の予定もとい導入したほうがよさそうな事？<br />
☆メディア制御をもうすこし賢い方法にする。<br />
☆SCSIパススルーデバイスを追加する。<br />
☆USBメモリ等のリムーバブルデバイスにも対応する。<br />
☆デバイスのホットスワップに対応する。<br />
☆複数のメディアスロットをサポートする。<br />
☆複数イニシエータからの接続を可能にする。<br />
☆マルチパスを考慮する。</p>
<p><span style="text-decoration: line-through;">パッチファイル： iscsi-target-20090117-patch.bz2</span><br />
更新版をご利用ください。</p>
<pre id="ex"><code># cd /usr/ports/net/iscsi-target
# make clean
# make patch
# bzcat &lt; /path/to/iscsi-target-20090117-patch.bz2 | patch -p0
# make
# make install
#
# cp -p work/netbsd-iscsi-20080207/src/istgtcontrol /usr/local/bin/
#</code></pre>
<p>手動でメディア制御コントローラーをインストールしてください。<br />
これは仮想DVDやテープの取り出し交換などに使います。</p>
<p>設定例は<a href="http://shell.peach.ne.jp/aoyama/archives/207" target="_blank">以前の投稿</a>をどうぞ。</p>
<p>新しい機能：<br />
targetsファイル内のlengthカラムで加減算で一個だけ追加指定できます。<br />
ZEPTGMKのサフィックスも合わせて利用できます。<br />
1023MBの指定例： 1GB-1MB (=1024MB-1MB=1023MB)<br />
1025MBの指定例： 1GB+1MB (=1024MB+1MB=1025MB)</p>
<p>targetsファイル内の各targetにデバイス固有値を指定できます。<br />
type 仮想デバイスのタイプ<br />
 disk SBC-2準拠 Direct access block device<br />
 dvd  MMC-4準拠 CD/DVD device (現在はRead系のみ)<br />
 tape SSC-2準拠 Sequential-access device<br />
id 仮想デバイス識別子<br />
 1～2147483647（重複不可）</p>
<p>省略時はtype=disk,id=自動採番(0&#215;0100～)と解釈します。<br />
現時点ではidは装置シリアル番号の下位4桁に利用しています。省略可能です。</p>
<p>targetsファイルでリムーバブルメディアを定義できます。<br />
type メディアタイプ<br />
 iso ISOイメージ<br />
 tape 仮想テープイメージ<br />
flags メディアフラグ<br />
 rw 読み書き用とします。<br />
 ro 読み込み専用とします。（ライトプロテクト状態でイニシエータに応答）<br />
 extend メディアの末尾まで書き込みした場合に可能であれば256MB単位で拡張します。<br />
 dynamic メディアの書き込み状況に応じて可能であれば拡大縮小します。</p>
<p>メディアを読み書き用にしてもtarget指定がroならば書き込み不可能です。<br />
メディアサイズの拡大縮小はtype=tapeのみサポートします。<br />
dynamicを指定した場合はメディアの長さ指定は意味がありません。<br />
現時点ではidカラムは特に利用していません。省略可能です。</p>
<p>※targetsの書式は将来変更する可能性があります</p>
<pre id="ex"><code># mcs extra style
#
# media         type    id      flags           file                    length
#
media31         iso     1       ro              /tank/iscsi/dvds/7.1-RELEASE-i386-disc1.iso auto
media41         tape    41      rw              /tank/iscsi/tapes/41    20GB
media42         tape    42      rw,extend       /tank/iscsi/tapes/42    40GB
media43         tape    43      rw,dynamic      /tank/iscsi/tapes/43    auto
#
# target        type    id      flags           storage         netmask
#
target2         disk    2       rw              extent2         192.168.2.0/24
target3         dvd     3       ro              media31         192.168.2.0/24
target4         tape    4       rw              media41         192.168.2.0/24
#</code></pre>
<p>制御用ポートとしてiSCSIターゲットポートの次の番号でオープンするようになりました。<br />
デフォルトのiSCSI標準ポートは3260なので制御ポートは3261になります。</p>
<p>既知の問題：<br />
iSCSIで接続しても正常に通信出来ずにPnPデバイスとして認識しない事があります。<br />
（一度iSCSI接続をログアウトして再接続すると認識されます）<br />
仮想テープの入出力にエラーが発生した場合、以後の書き込みができない可能性があります。<br />
（メディアを一旦取り出して再挿入すると認識するかもしれない）<br />
極端に小さい論理ブロック長でテープに大量に書き込むと論理ブロック数が不足する可能性があります。<br />
（内部的には64ビットですが現時点の対応ポジション変更系コマンドが32ビットなので）<br />
メディア交換した直後にエラーなどが発生する可能性があります。<br />
（ターゲットから非同期通信を行わない為、イニシエータがポーリングするまで内部情報が変化しない）<br />
メディア制御用のセキュリティが特に考慮されていない。<br />
メディア制御用コマンド istgtcontrol が自動でインストールされない。</p>
<p>いわゆる仕様：<br />
仮想デバイスは利用時(コマンド実行時)ロックのみでリザーブ・リリースに対応していない。<br />
（複数イニシエータからはもちろん、単機のマルチパス接続も想定していない）<br />
仮想デバイスのホットスワップには対応していない。<br />
テープドライブの圧縮機能は実装していない。<br />
単一の書き込みメディアを複数の仮想デバイスに装着した場合の動作は未定義。<br />
メディアのアンロードを行ってもメディアスロット内に残留するので次のロードで再セットされる。<br />
動的仮想テープのハードリミット（最大サイズ）が16EBの固定になっている。<br />
1本の仮想テープでは最大1024個のファイルマーク(BOT/EOTを含む)に限定される。</p>
<p>主な修正点：<br />
LUNの計算を間違えていたのを修正しました。<br />
違うターゲットに接続した場合に誤ってエラーが記録されるのを修正しました。<br />
MODE SELECT(10)が正常に動かないのを修正しました。<br />
MODE SENSE(6)(10)がショートモードで正しいブロック数を返さないのを修正しました。<br />
数値指定で加減算表記をできるように変更しました。<br />
マルチターゲット仕様のために内部データ構成を変更しました。<br />
tagetsファイルの定義を拡張しました。<br />
SCSIエラー時にセンスキーやASC/ASCQを返すようになりました。<br />
SSC2/MMC4のデバイスエミュレーションに対応しました。<br />
オーバーフローとアンダーフローをiSCSI PDUに返すように修正しました。<br />
メディアの拡大縮小を考慮するように変更しました。<br />
パッチ元のオリジナルに存在するバグを多数修正しました。<br />
メディア制御用スレッドを新設しました。<br />
スレッドの作成結果を調べていないバグを修正しました。<br />
メディア制御コマンドが新設されました。</p>
<p>～メディア制御のしかた～<br />
まず、制御対象がローカルホストであり、上記の設定がされていると仮定すると、<br />
target3のDVD装置にはメディアスロットmedia31が付いていて、<br />
/tank/iscsi/dvds/7.1-RELEASE-i386-disc1.iso が挿入されている状態になります。</p>
<p>このメディアを排出するにはOS上から取り出しを実行するか、以下のコマンドで行います。<br />
（コマンド行が長いので複数行に書きますが実際は一行です）</p>
<p># istgtcontrol -t iqn.1994-04.org.netbsd.iscsi-target:target3 -m media31 unload</p>
<p>この状態はトレイ式DVDドライブのトレイが開いた状態に相当します。（メディア変更なし）<br />
以下のコマンドでトレイを閉めると同じメディアが読み込みされます。</p>
<p># istgtcontrol -t iqn.1994-04.org.netbsd.iscsi-target:target3 -m media31 load</p>
<p>メディア自体を交換するにはファイルを指定します。追加でフラグとサイズも指定できます。</p>
<p># istgtcontrol -t iqn.1994-04.org.netbsd.iscsi-target:target3 -m media31 -f ro -s auto change /tank/iscsi/dvds/7.1-RELEASE-i386-disc2.iso</p>
<p>ここで指定するファイル名は制御ターゲットサーバにある実際のパスです。<br />
今のところリモートメディアをマウントする事はできません。<br />
フラグとサイズの省略時はrwとautoになります。<br />
空白文字を含むファイル名はもちろんクオートしてください。</p>
<p>このコマンドを実行すると現在のメディアをunloadしてメディアを交換した後に<br />
loadするという一連の作業を排他ロックをかけた状態で行います。<br />
不幸にしてロードに失敗した場合は可能ならunload状態で終了します。<br />
成功するにしても失敗するにしてもコマンドが終了するまではOSなどからアクセスはできません。</p>
<p>現在のメディア状態をみるには、以下のコマンドを使います。</p>
<p># istgtcontrol -t iqn.1994-04.org.netbsd.iscsi-target:target3 -m media31 list</p>
<p>実行例：</p>
<pre id="ex"><code># istgtcontrol -t iqn.1994-04.org.netbsd.iscsi-target:target3 -m media31 list
iqn=iqn.1994-04.org.netbsd.iscsi-target:target3, slot=media31
media file=NULL, flags=rw, size=auto
connect to localhost:3261
target banner "iSCSI Target Controller version 20090117 on ::1 from ::1"
slot1 present unlock media31 iso 1 ro "/tank/iscsi/dvds/7.1-RELEASE-i386-disc1.iso" auto
DONE LIST command</code></pre>
<p>以上の操作をリモートから実行するには -h オプションでターゲットホストを指定します。</p>
]]></content:encoded>
			<wfw:commentRss>http://shell.peach.ne.jp/aoyama/archives/242/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>あけましておめでとうございます</title>
		<link>http://shell.peach.ne.jp/aoyama/archives/230</link>
		<comments>http://shell.peach.ne.jp/aoyama/archives/230#comments</comments>
		<pubDate>Thu, 01 Jan 2009 07:58:39 +0000</pubDate>
		<dc:creator>aoyama</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[IPv6]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[ZFS]]></category>
		<category><![CDATA[iSCSI]]></category>
		<category><![CDATA[ネットワーク]]></category>
		<category><![CDATA[64bitLBA]]></category>
		<category><![CDATA[patch]]></category>

		<guid isPermaLink="false">http://shell.peach.ne.jp/aoyama/?p=230</guid>
		<description><![CDATA[新年あけましておめでとうございます。
今年もよろしくお願いいたします。
昨年を振り返ってみると、Hyper-Vのパッチを公開してからアクセスが急激に伸びました。
FreeBSDでも興味ある人はそこそこいるのだなと(笑)
むろん海外からもアクセスされるようになったのも一因でしょうけど、
こんな場所でもアクセスして頂けるのはありがたい。
↓統計はこんな感じ。ちなみに検索キーワードはfreebsd,iscsi,hyepr-v,zfsとなってました。

そのHyper-Vによってテスト環境構築の手間がすごい削減されました。
VirtualServerに幻滅していただけにちょっとだけ見直した。
ZFSとかもっと触りたかったのだけど後半はiSCSIパッチだけに集中していたので、
あまりできなかった。残念。↓去年解決できなかった機能のスクリーンショット。

リームバブルメディアをどうやって簡単に出し入れするのかとか、
一度挿入されたメディアは不測の再起動でも永続的に使えるようにするとか、
考慮することが多すぎて(略)
この機能をなんとする為に複数動かせるように改造してたり(笑)
Hyper-VでのVM用のシステムディスク領域には20081225パッチ版でのMCS接続で安定して動いています。
上記画像の2003自体もこのiSCSIディスク上に容量可変で構築してあります。
今年も引き続きiSCSIとZFSを中心に活動していけたらと思います。
]]></description>
			<content:encoded><![CDATA[<p>新年あけましておめでとうございます。<br />
今年もよろしくお願いいたします。</p>
<p>昨年を振り返ってみると、Hyper-Vのパッチを公開してからアクセスが急激に伸びました。<br />
FreeBSDでも興味ある人はそこそこいるのだなと(笑)<br />
むろん海外からもアクセスされるようになったのも一因でしょうけど、<br />
こんな場所でもアクセスして頂けるのはありがたい。<br />
↓統計はこんな感じ。ちなみに検索キーワードはfreebsd,iscsi,hyepr-v,zfsとなってました。</p>
<p><a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2009/01/awstats2008.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-231" title="awstats2008" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2009/01/awstats2008-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>そのHyper-Vによってテスト環境構築の手間がすごい削減されました。<br />
VirtualServerに幻滅していただけにちょっとだけ見直した。<br />
ZFSとかもっと触りたかったのだけど後半はiSCSIパッチだけに集中していたので、<br />
あまりできなかった。残念。↓去年解決できなかった機能のスクリーンショット。</p>
<p><a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2009/01/ws2003istest1.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-232" title="ws2003istest1" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2009/01/ws2003istest1-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>リームバブルメディアをどうやって簡単に出し入れするのかとか、<br />
一度挿入されたメディアは不測の再起動でも永続的に使えるようにするとか、<br />
考慮することが多すぎて(略)<br />
この機能をなんとする為に複数動かせるように改造してたり(笑)<br />
Hyper-VでのVM用のシステムディスク領域には20081225パッチ版でのMCS接続で安定して動いています。<br />
上記画像の2003自体もこのiSCSIディスク上に容量可変で構築してあります。</p>
<p>今年も引き続きiSCSIとZFSを中心に活動していけたらと思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://shell.peach.ne.jp/aoyama/archives/230/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD iscsi-target MCS/MPIO/64bitLBAパッチ 2008/12/25版 for Microsoft iSCSI Initiator</title>
		<link>http://shell.peach.ne.jp/aoyama/archives/207</link>
		<comments>http://shell.peach.ne.jp/aoyama/archives/207#comments</comments>
		<pubDate>Thu, 25 Dec 2008 10:24:43 +0000</pubDate>
		<dc:creator>aoyama</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[IPv6]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[ZFS]]></category>
		<category><![CDATA[iSCSI]]></category>
		<category><![CDATA[ネットワーク]]></category>
		<category><![CDATA[64bitLBA]]></category>
		<category><![CDATA[patch]]></category>

		<guid isPermaLink="false">http://shell.peach.ne.jp/aoyama/?p=207</guid>
		<description><![CDATA[機能UP更新＞MCS/64bitLBA/仮想DVD/仮想テープパッチ 2009/1/17版
今年最後のパッチリリースです。
ただいま将来の拡張に向けていろいろ準備中です。
ライトキャッシュの操作を揮発性（iscsi-targetを終了するまで）ですが
変更できるようになりました。
パッチファイル： iscsi-target-20081225-patch.bz2
# cd /usr/ports/net/iscsi-target
# make clean
# make patch
# bzcat &#60; /path/to/iscsi-target-20081225-patch.bz2 &#124; patch -p0
# make
# make install
新しいコマンドラインオプション：
-C 同一ターゲットへの接続コネクション数（デフォルト８）
-P 接続可能なポータルのIPアドレス（セミコロン区切り）
-A Discoveryセッションにも認証を強制する（デフォルトなし）
-a &#60;path&#62; 認証用データファイル（デフォルト /usr/local/etc/iscsi/auths）
-i &#60;path&#62; 作成するPIDファイル（デフォルト /var/run/iscsi-target.pid）
※IPv6で指定する場合は[]付きでIPv6アドレスを書きます。
新しい機能：
64ビットLBAを用いて最大8ZB(2^64(16E)x512B)まで対応できます。
いまのところZFS以外のファイルシステムをサポートする予定はありません。
2TB以上はGPT(GUIDパーティションテーブル)を使えるOSが必要です。
認証ファイル及びPIDファイルを個別に指定し複数のポートで起動できます。
認証なしで探索(Discovery)セッションを通さないモードが選択できます。
MCS(Multiple Connections per Session)機能により複数コネクションで
同一のターゲットに接続可能になります。
ダイジェスト機能（CRC32によるデータチェック）を有効にできます。
データダイジェスト＝ディスクへの読み書きデータなどに有効。
ヘッダダイジェスト＝iSCSIプロトコルヘッダに有効。
targetsファイル内のネットマスクをセミコロン区切りで複数指定できます。
ネットマスク指定で/以降を省略するとIPv4は/32、IPv6は/128とみなします。
targetsファイル内のflagsカラムにターゲット接続（ログイン）時の
認証とダイジェストを強制するフラグを指定できます。
auth          認証を必要とします。
digest        データおよびヘッダダイジェストを必要とします。
headerdigest  ヘッダダイジェストを必要とします。
datadigest    データダイジェストを必要とします。
targetsファイル内のsizeカラムにペタバイト、エクサバイト、ゼタバイトの
短縮形としてP, E, Zが利用できます。
それぞれ、PB=1024TB, EB=1024PB, ZB=1024EBとして計算されます。
targetsファイル内でクォート文字(&#8220;と&#8217;)により空白文字を
文字列の一部として扱えます。
認証情報は/usr/local/etc/iscsi/authsに書きます。
Microsoft iSCSI Initiator が相手の場合はシークレットを
12文字以上16文字以下で指定します。
相互認証を有効にできます。
認証情報は/usr/local/etc/iscsi/authsに書きます。
相互認証キー（ユーザ名）はターゲットのIQNになります。
IPv6のリンクローカルアドレスでの接続を考慮します。
いわゆる仕様：
全てのIPアドレスが同じポート番号でグループ１のネットワークポータルになります。
ポート番号は従来の-pオプションで変更可能ですがグループ番号は固定です。
ダイジェストエラーになった場合にTCP接続の強制終了を第一選択肢にする。
デバイスの最大容量(LBA)が符号付64ビット(2^63=8EB)に制限されています。
主な修正点：
SCSIのライトキャッシュを切られたらO_FSYNCを設定するように修正しました。
シグナル処理用スレッドを新設しました。（処理は未実装）
SIGTERM/SIGINTに対してシャットダウン処理を行うように修正しました。
～参考設定～
ターゲットにはしばらくブログに書いてきたExpress5800/110Geに
Intel PRO 1000/PT Desktop Adapter を増設して利用しました。
ホストはWindows Server 2008に同型カードを挿しました。
それぞれのカードのIPアドレスを別のネットワークにして、
スイッチングハブをそれぞれに独立して接続します。
（参考設定ではIPv4に192.168.2.0/24と192.168.3.0/24を、
IPv6に2001:380:e00:42::/64をルータ広告で利用）
ターゲット側(FreeBSD 7.1)：
/etc/rc.conf
ifconfig_em0="inet 192.168.3.36  netmask 255.255.255.0"
ifconfig_em1="inet 192.168.2.36  netmask 255.255.255.0"

ipv6_enable="YES"
iscsi_target_enable="YES"
iscsi_target_flags="-s [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://shell.peach.ne.jp/aoyama/archives/242" target="_self">機能UP更新＞MCS/64bitLBA/仮想DVD/仮想テープパッチ 2009/1/17版</a></p>
<p>今年最後のパッチリリースです。<br />
ただいま将来の拡張に向けていろいろ準備中です。<br />
ライトキャッシュの操作を揮発性（iscsi-targetを終了するまで）ですが<br />
変更できるようになりました。</p>
<p>パッチファイル： <a href="http://shell.peach.ne.jp/~aoyama/wordpress/download/iscsi-target-20081225-patch.bz2" target="_blank">iscsi-target-20081225-patch.bz2</a></p>
<pre id="ex"><code># cd /usr/ports/net/iscsi-target
# make clean
# make patch
# bzcat &lt; /path/to/iscsi-target-20081225-patch.bz2 | patch -p0
# make
# make install</code></pre>
<p>新しいコマンドラインオプション：<br />
-C 同一ターゲットへの接続コネクション数（デフォルト８）<br />
-P 接続可能なポータルのIPアドレス（セミコロン区切り）<br />
-A Discoveryセッションにも認証を強制する（デフォルトなし）<br />
-a &lt;path&gt; 認証用データファイル（デフォルト /usr/local/etc/iscsi/auths）<br />
-i &lt;path&gt; 作成するPIDファイル（デフォルト /var/run/iscsi-target.pid）</p>
<p>※IPv6で指定する場合は[]付きでIPv6アドレスを書きます。</p>
<p>新しい機能：<br />
64ビットLBAを用いて最大8ZB(2^64(16E)x512B)まで対応できます。<br />
いまのところZFS以外のファイルシステムをサポートする予定はありません。<br />
2TB以上はGPT(GUIDパーティションテーブル)を使えるOSが必要です。</p>
<p>認証ファイル及びPIDファイルを個別に指定し複数のポートで起動できます。</p>
<p>認証なしで探索(Discovery)セッションを通さないモードが選択できます。</p>
<p>MCS(Multiple Connections per Session)機能により複数コネクションで<br />
同一のターゲットに接続可能になります。</p>
<p>ダイジェスト機能（CRC32によるデータチェック）を有効にできます。<br />
データダイジェスト＝ディスクへの読み書きデータなどに有効。<br />
ヘッダダイジェスト＝iSCSIプロトコルヘッダに有効。</p>
<p>targetsファイル内のネットマスクをセミコロン区切りで複数指定できます。<br />
ネットマスク指定で/以降を省略するとIPv4は/32、IPv6は/128とみなします。</p>
<p>targetsファイル内のflagsカラムにターゲット接続（ログイン）時の<br />
認証とダイジェストを強制するフラグを指定できます。</p>
<pre>auth          認証を必要とします。
digest        データおよびヘッダダイジェストを必要とします。
headerdigest  ヘッダダイジェストを必要とします。
datadigest    データダイジェストを必要とします。</pre>
<p>targetsファイル内のsizeカラムにペタバイト、エクサバイト、ゼタバイトの<br />
短縮形としてP, E, Zが利用できます。<br />
それぞれ、PB=1024TB, EB=1024PB, ZB=1024EBとして計算されます。</p>
<p>targetsファイル内でクォート文字(&#8220;と&#8217;)により空白文字を<br />
文字列の一部として扱えます。</p>
<p>認証情報は/usr/local/etc/iscsi/authsに書きます。<br />
Microsoft iSCSI Initiator が相手の場合はシークレットを<br />
12文字以上16文字以下で指定します。</p>
<p>相互認証を有効にできます。<br />
認証情報は/usr/local/etc/iscsi/authsに書きます。<br />
相互認証キー（ユーザ名）はターゲットのIQNになります。</p>
<p>IPv6のリンクローカルアドレスでの接続を考慮します。</p>
<p>いわゆる仕様：<br />
全てのIPアドレスが同じポート番号でグループ１のネットワークポータルになります。<br />
ポート番号は従来の-pオプションで変更可能ですがグループ番号は固定です。<br />
ダイジェストエラーになった場合にTCP接続の強制終了を第一選択肢にする。<br />
デバイスの最大容量(LBA)が符号付64ビット(2^63=8EB)に制限されています。</p>
<p>主な修正点：<br />
SCSIのライトキャッシュを切られたらO_FSYNCを設定するように修正しました。<br />
シグナル処理用スレッドを新設しました。（処理は未実装）<br />
SIGTERM/SIGINTに対してシャットダウン処理を行うように修正しました。</p>
<p>～参考設定～<br />
ターゲットにはしばらくブログに書いてきた<a href="http://www.express.nec.co.jp/pcserver/products/g/110ge/" target="_blank">Express5800/110Ge</a>に<br />
<a href="http://www.intel.com/products/server/adapters/pro1000pt/pro1000pt-overview.htm" target="_blank">Intel PRO 1000/PT Desktop Adapter</a> を増設して利用しました。<br />
ホストはWindows Server 2008に同型カードを挿しました。<br />
それぞれのカードのIPアドレスを別のネットワークにして、<br />
スイッチングハブをそれぞれに独立して接続します。<br />
（参考設定ではIPv4に192.168.2.0/24と192.168.3.0/24を、<br />
IPv6に2001:380:e00:42::/64をルータ広告で利用）</p>
<p>ターゲット側(FreeBSD 7.1)：<br />
/etc/rc.conf</p>
<pre id="ex"><code>ifconfig_em0="inet 192.168.3.36  netmask 255.255.255.0"
ifconfig_em1="inet 192.168.2.36  netmask 255.255.255.0"

ipv6_enable="YES"
iscsi_target_enable="YES"
iscsi_target_flags="-s 32 -C 8 -P '192.168.2.36;192.168.3.36;[2001:380:e00:42:21f:d0ff:fe16:38bd]'"</code></pre>
<p>/usr/local/etc/iscsi/targets</p>
<pre id="ex"><code># extents       file                            start   length
extent0         /tank/iscsi/iscsi-target0       0       80GB
extent1         /tank/iscsi/iscsi-target1       0       80GB
extent2         /tank/iscsi/iscsi-target2       0       80GB
# target        flags           storage         netmask
target0         rw,auth         extent0         192.168.2.0/24
target1         rw,digest       extent1         192.168.2.33;129.168.3.33/32;[2001:380:e00:42:a957:4bf:58e0:bedc]/128
target2         rw,auth,headerdigest extent2    192.168.2.0/24;129.168.3.0/24</code></pre>
<p>/usr/local/etc/iscsi/auths</p>
<pre id="ex"><code># CHAP secret
# name:type:secret
iqn.1991-05.com.microsoft\:ceres:CHAP:1234567890123456
#</code></pre>
<p>ホスト側(Windows Server 2008)：<br />
オンボードLANに192.168.2.33/24を、<br />
Intel PRO 1000/PTに192.168.3.33/24を割り当てました。<br />
ここではIPv4による画像のみ掲載しますがIPv6でも同様に接続できます。</p>
<p>ターゲットへログオンするときに[詳細設定]でローカルアダプタ、ソースIP、<br />
ターゲットポータルを指定します。</p>
<p> <a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/iscsi1.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-156" title="iscsi1" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/iscsi1-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>必要に応じてダイジェストにチェックを付けて有効にします。<br />
（指定しなくてもターゲット側で強制していれば自動的に有効になります）</p>
<p><a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/iscsi2.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-157" title="iscsi2" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/iscsi2-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>接続に認証が必要な場合は指定します。</p>
<p><a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/iscsi3.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-158" title="iscsi3" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/iscsi3-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>相互認証が必要な場合は、予め双方に設定した上で指定します。</p>
<p><a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/iscsi11.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-208" title="iscsi11" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/iscsi11-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>接続できたら、[詳細]でターゲットのプロパティを開きます。<br />
セッションタブの[接続]を押します。</p>
<p><a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/iscsi4.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-159" title="iscsi4" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/iscsi4-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>[追加]を押します。</p>
<p><a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/iscsi5.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-160" title="iscsi5" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/iscsi5-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>ソースIP、ターゲットポータルを別のものを指定します。</p>
<p><a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/iscsi6.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-161" title="iscsi6" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/iscsi6-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>必要に応じてダイジェストおよび認証を指定します。</p>
<p><a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/iscsi7.jpg" target="_blank"></a><a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/iscsi12.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-209" title="iscsi12" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/iscsi12-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>負荷分散ポリシーを適当に変更します。</p>
<p><a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/iscsi8.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-163" title="iscsi8" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/iscsi8-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>～相互認証の参考設定～<br />
相互認証を実施するにはイニシエータにシークレットを設定して、<br />
その設定をターゲット側にも設定します。<br />
（通常のCHAPシークレットの設定も必要です）<br />
認証ファイルの検索キー（ユーザ名）はターゲットのIQN（iSCSI Qualified Name）に固定されています。</p>
<p>ターゲット側(FreeBSD 7.1)：<br />
相互認証データは通常の認証ファイルと同じになっていますので、<br />
追加して書きます。</p>
<p>/usr/local/etc/iscsi/auths</p>
<pre id="ex"><code># mutual authentication
# name:type:secret
iqn.1994-04.org.netbsd.iscsi-target\:target1:CHAP:testchaptest1234
#</code></pre>
<p>イニシエータ側(Windows Server 2008)：<br />
iSCSIイニシエータのプロパティで全般タブの[シークレット]を押します。</p>
<p><a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/iscsi9.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-170" title="iscsi9" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/iscsi9-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>12文字以上16文字以下でシークレットを設定します。</p>
<p><a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/iscsi10.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-171" title="iscsi10" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/iscsi10-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>～2TB以上の容量～<br />
Windows Server 2003以降またはWindows Vistaが必要です。<br />
Windows 2000やWindows XPで利用する場合は2TB(2097152MB)未満にします。</p>
<p>大容量ドライブの利用についてはこちらも参照してください。<br />
<a href="http://shell.peach.ne.jp/aoyama/archives/191" target="_blank">http://shell.peach.ne.jp/aoyama/archives/191</a></p>
]]></content:encoded>
			<wfw:commentRss>http://shell.peach.ne.jp/aoyama/archives/207/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD iscsi-target MCS/MPIO/64bitLBAパッチ 2008/12/23版 for Microsoft iSCSI Initiator</title>
		<link>http://shell.peach.ne.jp/aoyama/archives/201</link>
		<comments>http://shell.peach.ne.jp/aoyama/archives/201#comments</comments>
		<pubDate>Tue, 23 Dec 2008 15:51:18 +0000</pubDate>
		<dc:creator>aoyama</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[IPv6]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[ZFS]]></category>
		<category><![CDATA[iSCSI]]></category>
		<category><![CDATA[ネットワーク]]></category>
		<category><![CDATA[64bitLBA]]></category>
		<category><![CDATA[patch]]></category>

		<guid isPermaLink="false">http://shell.peach.ne.jp/aoyama/?p=201</guid>
		<description><![CDATA[更新＞MCS/MPIO/64bitLBAパッチ 2008/12/25版
iscsi-targetの内部構造もだいぶ理解できたので、
簡易同期機能を廃止してまともに追従するようにしてみました。
パッチファイル： iscsi-target-20081223-patch.bz2
更新版をご利用ください。
# cd /usr/ports/net/iscsi-target
# make clean
# make patch
# bzcat &#60; /path/to/iscsi-target-20081223-patch.bz2 &#124; patch -p0
# make
# make install
設定例は以前の投稿をどうぞ。
主な修正点：
メディアの境界チェックが甘かったのを修正しました。
ソースコードの切り分け定義名を変更しました。
従来のMCS簡易同期機能を廃止してより正確に追跡するようになりました。
再接続時にクラッシュする事があったのを修正しました。
]]></description>
			<content:encoded><![CDATA[<p><a href="http://shell.peach.ne.jp/aoyama/archives/207" target="_self">更新＞MCS/MPIO/64bitLBAパッチ 2008/12/25版</a></p>
<p>iscsi-targetの内部構造もだいぶ理解できたので、<br />
簡易同期機能を廃止してまともに追従するようにしてみました。</p>
<p><del datetime="2008-12-25T10:25:54+00:00">パッチファイル： iscsi-target-20081223-patch.bz2</del><br />
更新版をご利用ください。</p>
<pre id="ex"><code># cd /usr/ports/net/iscsi-target
# make clean
# make patch
# bzcat &lt; /path/to/iscsi-target-20081223-patch.bz2 | patch -p0
# make
# make install</code></pre>
<p>設定例は<a href="http://shell.peach.ne.jp/aoyama/archives/164" target="_blank">以前の投稿</a>をどうぞ。</p>
<p>主な修正点：<br />
メディアの境界チェックが甘かったのを修正しました。<br />
ソースコードの切り分け定義名を変更しました。<br />
従来のMCS簡易同期機能を廃止してより正確に追跡するようになりました。<br />
再接続時にクラッシュする事があったのを修正しました。</p>
]]></content:encoded>
			<wfw:commentRss>http://shell.peach.ne.jp/aoyama/archives/201/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD/ZFSでPB（ペタバイト）ファイルをiSCSIに使ってHyper-Vで利用してみる</title>
		<link>http://shell.peach.ne.jp/aoyama/archives/191</link>
		<comments>http://shell.peach.ne.jp/aoyama/archives/191#comments</comments>
		<pubDate>Mon, 22 Dec 2008 11:20:20 +0000</pubDate>
		<dc:creator>aoyama</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[ZFS]]></category>
		<category><![CDATA[iSCSI]]></category>
		<category><![CDATA[64bitLBA]]></category>
		<category><![CDATA[Hyper-V]]></category>

		<guid isPermaLink="false">http://shell.peach.ne.jp/aoyama/?p=191</guid>
		<description><![CDATA[PBとはなんぞと言うとただの単位です。
1PB=1024TBとテラバイトのひとつ上の単位です。
当然というか現時点でそんなアレイはそうそうないので、
スパースファイル（穴あきファイル）を使います。
さらにZFS圧縮をオンにして急激にデータが増えた場合に死に難くしました。
# zfs create -o atime=off -o compression=on tank/iscsiz
# zfs create -o atime=off -o compression=gzip-9 tank/iscsiz9

# extents       file                            start   length
extent0         /tank/iscsiz/istgt-test-2PB-1MB 0       2147483647MB
extent1         /tank/iscsiz9/istgt-test-1EB    0       1EB
extent2         /tank/iscsiz9/istgt-test-1PB    0       1PB
extent3         /tank/iscsiz9/istgt-test-2PB    0       2PB
extent4         /tank/iscsiz9/istgt-test-256PB  0       256PB
extent5         /tank/iscsiz9/istgt-test-2TB    0       2TB
extent6         /tank/iscsiz9/istgt-test-200GB  0       200GB
#
今回はターゲットの設定を上記のように行い、
WS2008(64ビット版)に持ってきました。
ディスクの初期化では必ずGPTを指定します。
そうしないと2TB止まりなので。
パーティションを作成するのですが、GUIの作成ウィザードが
MB単位で要求してくるからGB以上の計算をするのがめんどくさい。
今は単一ユニットで1TBの時代だから、
そろそろGB単位で指定してもよいのではとか思ったり。
続いてNTFSフォーマットですが、
アロケーションユニットを64Kに明示しないと失敗します。
Windows Server 2008 64ビット版で作成できるNTFS最大サイズは268435455MBです。
これは256TB(=268435456MB)-1MBですね。
試してみると2PB以上はあきらかに表示がおかしい。
よくよく見てみると、MB単位の表示部分が符号付き32ビットじゃないのだろうか(汗)
  
現状だとこうなる↓
GUI上の最大ディスクサイズ 2147483647MB (=2PB-1MB)
NTFS最大サイズ 268435455MB (=256TB-1MB)
＃数値の計算はFreeBSD上でbcを使って行いました
さて、256TB-1MBをクイックフォーマットしたらすぐに戻ってこない。
さすがにかなり時間かかるものなのね。
接続して認識するまでだけでもデバッグログが4GB超えちゃう(汗汗)
メモリ8GBとかぜんぜん足りないいいいいいいっ。
正常マウントするのに約1分かかります。
2PBに比べたら2TBのディスクとかはかわいいものですね(笑)
さらにHyper-V用に1024GBの仮想イメージを作成する。
容量固定1TBを作成しました。
作成時間はおよそ6時間ぐらい。
スループットにして3GB/min, 50MB/secぐらいか。

作成した時の環境は
FreeBSD 7.1(2008/12/14に取得) ZFS 圧縮ON、
データ・ヘッダダイジェスト共に有効、
2本のMCSラウンドロビン接続(＋管理用1本の計3系統)
（それぞれのLANにNETGEAR GS116を配備）
この時のCPU使用率はだいたい15～20%ぐらい。
  
作成できたらHyper-Vに設定してFreeBSD 7.1 RC1 amd64を導入します。
DHCPが・・・というコメントを頂いたので、
今回はDHCPでセットアップしてみました。
Hyper-Vマネージャでレガシーネットワークアダプタを追加して、
上記で作成した仮想HDDを追加して、仮想マシンを起動！
FreeBSDのネットワークの設定ではExtra [...]]]></description>
			<content:encoded><![CDATA[<p>PBとはなんぞと言うとただの単位です。<br />
1PB=1024TBとテラバイトのひとつ上の単位です。<br />
当然というか現時点でそんなアレイはそうそうないので、<br />
スパースファイル（穴あきファイル）を使います。<br />
さらにZFS圧縮をオンにして急激にデータが増えた場合に死に難くしました。</p>
<pre id="ex"><code># zfs create -o atime=off -o compression=on tank/iscsiz
# zfs create -o atime=off -o compression=gzip-9 tank/iscsiz9

# extents       file                            start   length
extent0         /tank/iscsiz/istgt-test-2PB-1MB 0       2147483647MB
extent1         /tank/iscsiz9/istgt-test-1EB    0       1EB
extent2         /tank/iscsiz9/istgt-test-1PB    0       1PB
extent3         /tank/iscsiz9/istgt-test-2PB    0       2PB
extent4         /tank/iscsiz9/istgt-test-256PB  0       256PB
extent5         /tank/iscsiz9/istgt-test-2TB    0       2TB
extent6         /tank/iscsiz9/istgt-test-200GB  0       200GB
#</code></pre>
<p>今回はターゲットの設定を上記のように行い、<br />
WS2008(64ビット版)に持ってきました。</p>
<p>ディスクの初期化では必ずGPTを指定します。<br />
そうしないと2TB止まりなので。<br />
パーティションを作成するのですが、GUIの作成ウィザードが<br />
MB単位で要求してくるからGB以上の計算をするのがめんどくさい。<br />
今は単一ユニットで1TBの時代だから、<br />
そろそろGB単位で指定してもよいのではとか思ったり。<br />
続いてNTFSフォーマットですが、<br />
アロケーションユニットを64Kに明示しないと失敗します。</p>
<p>Windows Server 2008 64ビット版で作成できるNTFS最大サイズは268435455MBです。<br />
これは256TB(=268435456MB)-1MBですね。<br />
試してみると2PB以上はあきらかに表示がおかしい。<br />
よくよく見てみると、MB単位の表示部分が符号付き32ビットじゃないのだろうか(汗)</p>
<p><a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/hvtest07.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-198" title="hvtest07" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/hvtest07-150x150.jpg" alt="" width="150" height="150" /></a> <a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/hvtest04.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-195" title="hvtest04" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/hvtest04-150x150.jpg" alt="" width="150" height="150" /></a> <a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/hvtest05.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-196" title="hvtest05" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/hvtest05-150x129.jpg" alt="" width="150" height="129" /></a></p>
<p>現状だとこうなる↓<br />
GUI上の最大ディスクサイズ 2147483647MB (=2PB-1MB)<br />
NTFS最大サイズ 268435455MB (=256TB-1MB)</p>
<p>＃数値の計算はFreeBSD上でbcを使って行いました</p>
<p>さて、256TB-1MBをクイックフォーマットしたらすぐに戻ってこない。<br />
さすがにかなり時間かかるものなのね。<br />
接続して認識するまでだけでもデバッグログが4GB超えちゃう(汗汗)<br />
メモリ8GBとかぜんぜん足りないいいいいいいっ。<br />
正常マウントするのに約1分かかります。<br />
2PBに比べたら2TBのディスクとかはかわいいものですね(笑)</p>
<p>さらにHyper-V用に1024GBの仮想イメージを作成する。<br />
容量固定1TBを作成しました。<br />
作成時間はおよそ6時間ぐらい。<br />
スループットにして3GB/min, 50MB/secぐらいか。</p>
<p><a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/hvtest01.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-192" title="hvtest01" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/hvtest01-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>作成した時の環境は<br />
FreeBSD 7.1(2008/12/14に取得) ZFS 圧縮ON、<br />
データ・ヘッダダイジェスト共に有効、<br />
2本のMCSラウンドロビン接続(＋管理用1本の計3系統)<br />
（それぞれのLANに<a href="http://www.netgear.jp/products/details/GS116.html" target="_blank">NETGEAR GS116</a>を配備）<br />
この時のCPU使用率はだいたい15～20%ぐらい。</p>
<p> <a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/hvtest02.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-193" title="hvtest02" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/hvtest02-150x150.jpg" alt="" width="150" height="150" /></a> <a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/hvtest03.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-194" title="hvtest03" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/hvtest03-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>作成できたらHyper-Vに設定してFreeBSD 7.1 RC1 amd64を導入します。<br />
DHCPが・・・というコメントを頂いたので、<br />
今回はDHCPでセットアップしてみました。</p>
<p>Hyper-Vマネージャでレガシーネットワークアダプタを追加して、<br />
上記で作成した仮想HDDを追加して、仮想マシンを起動！<br />
FreeBSDのネットワークの設定ではExtra Options to ifconfigの欄に<br />
media 100baseTX mediaopt full-duplex<br />
といれます。</p>
<p><a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/hvtest06.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-197" title="hvtest06" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/hvtest06-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>インストール後のリセットで停止するのでタスクマネージャから終了させて、<br />
自作パッチを適用する。<br />
（このあたりの手順については以前の<a href="http://shell.peach.ne.jp/aoyama/archives/40" target="_blank">投稿１</a>，<a href="http://shell.peach.ne.jp/aoyama/archives/113" target="_blank">投稿２</a>をご覧くださいな）</p>
<p>FreeBSDに限って言えばVirtualServerやVirtualPCと比べるとHyper-Vの方が<br />
だいぶ安定している感じがします。<br />
というかVirtualServerがダメダメすぎる。<br />
個人的印象は Hyper-V ＞ VirtualPC ＞＞＞ VirtualServer</p>
<p>インストールが終わったら、portsnap fecth/extractで最新portsにして<br />
mgとかbashとかちょこっと入れてみた。<br />
他にもいろいろやっていたらiscsi-targetが死んでしまった(汗)<br />
ああっ、バグありますね。はい。ごめんなさいZzz。</p>
<pre id="ex"><code>[root@pb ~]# uname -a
FreeBSD pb.peach.ne.jp.private 7.1-RC1 FreeBSD 7.1-RC1 #0: Mon Dec 22 19:10:59 J
ST 2008     root@pb.peach.ne.jp.private:/usr/obj/usr/src/sys/GENERIC  amd64
[root@pb ~]# ifconfig -a
de0: flags=8843&lt;UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST&gt; metric 0 mtu 1500
        ether 00:15:5d:02:21:1f
        inet 192.168.2.166 netmask 0xffffff00 broadcast 192.168.2.255
        media: Ethernet 100baseTX &lt;full-duplex&gt;
        status: active
lo0: flags=8049&lt;UP,LOOPBACK,RUNNING,MULTICAST&gt; metric 0 mtu 16384
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
        inet6 ::1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000
[root@pb ~]# df -h
Filesystem     Size    Used   Avail Capacity  Mounted on
/dev/ad0s1a    989M    412M    498M    45%    /
devfs          1.0K    1.0K      0B   100%    /dev
/dev/ad0s1e    989M    1.7M    908M     0%    /tmp
/dev/ad0s1f     19G    1.9G     16G    11%    /usr
/dev/ad0s1g    959G     58M    882G     0%    /usr/local
/dev/ad0s1d    7.7G     76M    7.1G     1%    /var
[root@pb ~]#</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://shell.peach.ne.jp/aoyama/archives/191/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD iscsi-target MCS/MPIO/64bitLBAパッチ 2008/12/21版 for Microsoft iSCSI Initiator</title>
		<link>http://shell.peach.ne.jp/aoyama/archives/182</link>
		<comments>http://shell.peach.ne.jp/aoyama/archives/182#comments</comments>
		<pubDate>Sun, 21 Dec 2008 17:41:44 +0000</pubDate>
		<dc:creator>aoyama</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[IPv6]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[ZFS]]></category>
		<category><![CDATA[iSCSI]]></category>
		<category><![CDATA[ネットワーク]]></category>
		<category><![CDATA[64bitLBA]]></category>
		<category><![CDATA[patch]]></category>

		<guid isPermaLink="false">http://shell.peach.ne.jp/aoyama/?p=182</guid>
		<description><![CDATA[更新＞MCS/MPIO/64bitLBAパッチ 2008/12/25版
IPv6のリンクローカルアドレスで接続した場合も処理できるようになりました。
複数のiscsi-targetを起動した場合でも使えるように、
認証ファイル及びPIDファイルを個別に指定できるようになりました。
認証なしで探索もできないモードをつけてみました。
64ビットLBAを用いて最大8ZB(2^64(16E)x512B)まで対応できるようになりました。
（FreeBSD7.1/i386においては符号付64ビット処理の関係で実質8EBが限界）
いまのところZFS以外のファイルシステムをサポートする予定はありません。
ゼタバイト～ヨタバイトのファイルが問題なく作れるようになったら考えるかも？
Windowsで2TB以上のデバイスを利用する場合はGPTが必要になるので、
Windows Server 2003以降またはWindows Vistaが必要です。
2TB以上でブートするには64ビット版 Windows Server 2008または
64ビット版 Windows Vistaが必須ですが未確認です。
Windows 2000やWindows XPで利用する場合は2TB(2097152MB)
未満にします。
～参考URL～
MS WHDC：GPT ドライブを使用する
http://www.microsoft.com/japan/whdc/device/storage/GPT-on-x64.mspx
MS TechNet：GUID パーティション テーブル
http://technet.microsoft.com/ja-jp/library/cc773223.aspx
MS Support：1 ボリュームのサイズが 2 TB 以上のシステム パーティションから Windows Vista を起動できない
http://support.microsoft.com/kb/946557/ja
MS Support：Windows Server 2003、Windows XP、および Windows 2000 で Diskpart.exe を使用してデータ ボリュームを拡張する方法
http://support.microsoft.com/kb/325590/ja
2TB以上のデバイス利用時の注意点：
現時点のWindows Server 2008はGUI上の表示が2147483648MBに
制限されます。
これは2PB(=2048TB)に相当します。
2PB以上のデバイスはdiskpartコマンドラインユーティリティで動くようですが
未確認です。
パッチファイル： iscsi-target-20081221-patch.bz2
更新版をご利用ください。
# cd /usr/ports/net/iscsi-target
# make clean
# make patch
# bzcat &#60; /path/to/iscsi-target-20081221-patch.bz2 &#124; patch -p0
# make
# make install
設定例は以前の投稿をどうぞ。
新しいコマンドラインオプション：
-A Discoveryセッションにも認証を強制する（デフォルトなし）
-a [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://shell.peach.ne.jp/aoyama/archives/207" target="_self">更新＞MCS/MPIO/64bitLBAパッチ 2008/12/25版</a></p>
<p>IPv6のリンクローカルアドレスで接続した場合も処理できるようになりました。<br />
複数のiscsi-targetを起動した場合でも使えるように、<br />
認証ファイル及びPIDファイルを個別に指定できるようになりました。<br />
認証なしで探索もできないモードをつけてみました。<br />
64ビットLBAを用いて最大8ZB(2^64(16E)x512B)まで対応できるようになりました。<br />
（FreeBSD7.1/i386においては符号付64ビット処理の関係で実質8EBが限界）<br />
いまのところZFS以外のファイルシステムをサポートする予定はありません。<br />
ゼタバイト～ヨタバイトのファイルが問題なく作れるようになったら考えるかも？</p>
<p>Windowsで2TB以上のデバイスを利用する場合はGPTが必要になるので、<br />
Windows Server 2003以降またはWindows Vistaが必要です。<br />
2TB以上でブートするには64ビット版 Windows Server 2008または<br />
64ビット版 Windows Vistaが必須ですが未確認です。<br />
Windows 2000やWindows XPで利用する場合は2TB(2097152MB)<br />
未満にします。</p>
<p>～参考URL～<br />
MS WHDC：GPT ドライブを使用する<br />
<a href="http://www.microsoft.com/japan/whdc/device/storage/GPT-on-x64.mspx" target="_blank">http://www.microsoft.com/japan/whdc/device/storage/GPT-on-x64.mspx</a></p>
<p>MS TechNet：GUID パーティション テーブル<br />
<a href="http://technet.microsoft.com/ja-jp/library/cc773223.aspx" target="_blank">http://technet.microsoft.com/ja-jp/library/cc773223.aspx</a></p>
<p>MS Support：1 ボリュームのサイズが 2 TB 以上のシステム パーティションから Windows Vista を起動できない<br />
<a href="http://support.microsoft.com/kb/946557/ja" target="_blank">http://support.microsoft.com/kb/946557/ja</a></p>
<p>MS Support：Windows Server 2003、Windows XP、および Windows 2000 で Diskpart.exe を使用してデータ ボリュームを拡張する方法<br />
<a href="http://support.microsoft.com/kb/325590/ja" target="_blank">http://support.microsoft.com/kb/325590/ja</a></p>
<p>2TB以上のデバイス利用時の注意点：<br />
現時点のWindows Server 2008はGUI上の表示が2147483648MBに<br />
制限されます。<br />
これは2PB(=2048TB)に相当します。<br />
2PB以上のデバイスはdiskpartコマンドラインユーティリティで動くようですが<br />
未確認です。</p>
<p><del datetime="2008-12-25T10:29:34+00:00">パッチファイル： iscsi-target-20081221-patch.bz2</del><br />
更新版をご利用ください。</p>
<pre id="ex"><code># cd /usr/ports/net/iscsi-target
# make clean
# make patch
# bzcat &lt; /path/to/iscsi-target-20081221-patch.bz2 | patch -p0
# make
# make install</code></pre>
<p>設定例は<a href="http://shell.peach.ne.jp/aoyama/archives/164" target="_blank">以前の投稿</a>をどうぞ。</p>
<p>新しいコマンドラインオプション：<br />
-A Discoveryセッションにも認証を強制する（デフォルトなし）<br />
-a &lt;path&gt; 認証用データファイル（デフォルト /usr/local/etc/iscsi/auths）<br />
-i &lt;path&gt; 作成するPIDファイル（デフォルト /var/run/iscsi-target.pid）</p>
<p>新しい機能：<br />
targetsファイル内のsizeカラムにペタバイト、エクサバイト、ゼタバイトの<br />
短縮形としてP, E, Zが利用できます。<br />
それぞれ、PB=1024TB, EB=1024PB, ZB=1024EBとして計算されます。</p>
<p>設定ファイルでクォート文字(&#8220;と&#8217;)により空白文字を文字列として扱えます。</p>
<p>リンクローカル設定例：<br />
実際に設定する場合はifconfigでアドレスを確認すること。<br />
/etc/rc.conf</p>
<pre id="ex"><code>ipv6_enable="YES"
iscsi_target_enable="YES"
iscsi_target_flags="-s 32 -C 8 -P '192.168.2.36;[fe80::290:ccff:fee9:48c9]'"
</code></pre>
<p>/usr/local/etc/iscsi/targets</p>
<pre id="ex"><code># extents       file                            start   length
extent0         /tank/iscsi/iscsi-target0       0       80GB
# target        flags           storage         netmask
target0         rw,digest       extent0         192.168.2.0/24;[fe80::%em0]/10
</code></pre>
<p>既知の問題：<br />
長時間ターゲットからの応答がないとWindowsがクラッシュすることがあります。</p>
<p>いわゆる仕様：<br />
全てのIPアドレスが同じポート番号でグループ１のネットワークポータルになります。<br />
ポート番号は従来の-pオプションで変更可能ですがグループ番号は固定です。<br />
ダイジェストエラーになった場合にTCP接続の強制終了を第一選択肢にする。<br />
デバイスの最大容量(LBA)が符号付64ビット(2^63=8EB)に制限されています。</p>
<p>主な修正点：<br />
オリジナルのバグを修正しました。<br />
Discoveryセッションに認証を強制するオプションを追加しました。<br />
リセットが必要ない場所でリセットしていたので修正しました。<br />
リンクローカルアドレスを処理するように修正しました。<br />
認証ファイル及びPIDファイルを指定できるように修正しました。<br />
LOパラメータを維持できるように修正しました。<br />
LBA4294967040以降にアクセスできない問題を修正しました。<br />
SCSIコマンドのMODE SELECT(6)に応答するようにしました。<br />
SCSIコマンドのMODE SELECT(10),MODE SENSE(10)に応答するようにしました。<br />
SCSIコマンドのREAD CAPACITY(10)をLongLBAに対応しました。<br />
SCSIコマンドのREAD CAPACITY(16)に応答するようにしました。<br />
SCSIコマンドのSYNC CACHE(16)に応答するようにしました。<br />
SCSIコマンドのREAD(12),WRITE(12),WRITE VERIFY(12)に応答するようにしました。<br />
SCSIコマンドのREAD(16),WRITE(16),WRITE VERIFY(16)に応答するようにしました。<br />
ストレージ容量定義にZEPの単位を追加しました。<br />
コンフィグファイルでクォートを解釈するようになりました。</p>
]]></content:encoded>
			<wfw:commentRss>http://shell.peach.ne.jp/aoyama/archives/182/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>FreeBSD iscsi-target MCS/MPIOパッチ 2008/12/18版 for Microsoft iSCSI Initiator</title>
		<link>http://shell.peach.ne.jp/aoyama/archives/172</link>
		<comments>http://shell.peach.ne.jp/aoyama/archives/172#comments</comments>
		<pubDate>Thu, 18 Dec 2008 16:32:34 +0000</pubDate>
		<dc:creator>aoyama</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[IPv6]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[ZFS]]></category>
		<category><![CDATA[iSCSI]]></category>
		<category><![CDATA[ネットワーク]]></category>
		<category><![CDATA[patch]]></category>

		<guid isPermaLink="false">http://shell.peach.ne.jp/aoyama/?p=172</guid>
		<description><![CDATA[更新＞MCS/MPIO/64bitLBAパッチ 2008/12/25版
通信エラー発生時の不具合を多々修正しました（汗）
相互認証に対応しました。
パッチファイル： iscsi-target-20081218-patch.bz2
更新版をご利用ください。
# cd /usr/ports/net/iscsi-target
# make clean
# make patch
# bzcat &#60; /path/to/iscsi-target-20081218-patch.bz2 &#124; patch -p0
# make
# make install
設定例は以前の投稿をどうぞ。
新しい機能：
ログイン時の相互認証を有効にできます。
認証情報は/usr/local/etc/iscsi/authsに書きます。
主な修正点：
リセットが発生した場合に当該スレッドを正常終了するように変更しました。
リセット時にセッションデータをクリアできない問題を修正しました。
エラー再接続時にマルチパスと誤認識する問題を修正しました。
エラー再接続時に旧コネクションを強制終了するように変更しました。
相互認証関係を追加しました。
～参考設定～
相互認証を実施するにはイニシエータにシークレットを設定して、
その設定をターゲット側にも設定します。
（通常のCHAPシークレットの設定も必要です）
現時点ではユーザ名はターゲットのIQN（iSCSI Qualified Name）に固定されています。
イニシエータ側(Windows Server 2008)：
iSCSIイニシエータのプロパティで全般タブの[シークレット]を押します。

12文字以上16文字以下でシークレットを設定します。

ターゲット側(FreeBSD 7.1)：
現時点では相互認証データは通常の認証ファイルと同じになっています。
/usr/local/etc/iscsi/auths
# name:type:secret
# mutual authentication
iqn.1994-04.org.netbsd.iscsi-target\:target1:CHAP:testchaptest1234
#
]]></description>
			<content:encoded><![CDATA[<p><a href="http://shell.peach.ne.jp/aoyama/archives/207" target="_self">更新＞MCS/MPIO/64bitLBAパッチ 2008/12/25版</a></p>
<p>通信エラー発生時の不具合を多々修正しました（汗）<br />
相互認証に対応しました。</p>
<p><del datetime="2008-12-25T10:33:20+00:00">パッチファイル： iscsi-target-20081218-patch.bz2</del><br />
更新版をご利用ください。</p>
<pre id="ex"><code># cd /usr/ports/net/iscsi-target
# make clean
# make patch
# bzcat &lt; /path/to/iscsi-target-20081218-patch.bz2 | patch -p0
# make
# make install</code></pre>
<p>設定例は<a href="http://shell.peach.ne.jp/aoyama/archives/164" target="_blank">以前の投稿</a>をどうぞ。</p>
<p>新しい機能：<br />
ログイン時の相互認証を有効にできます。<br />
認証情報は/usr/local/etc/iscsi/authsに書きます。</p>
<p>主な修正点：<br />
リセットが発生した場合に当該スレッドを正常終了するように変更しました。<br />
リセット時にセッションデータをクリアできない問題を修正しました。<br />
エラー再接続時にマルチパスと誤認識する問題を修正しました。<br />
エラー再接続時に旧コネクションを強制終了するように変更しました。<br />
相互認証関係を追加しました。</p>
<p>～参考設定～<br />
相互認証を実施するにはイニシエータにシークレットを設定して、<br />
その設定をターゲット側にも設定します。<br />
（通常のCHAPシークレットの設定も必要です）<br />
現時点ではユーザ名はターゲットのIQN（iSCSI Qualified Name）に固定されています。</p>
<p>イニシエータ側(Windows Server 2008)：<br />
iSCSIイニシエータのプロパティで全般タブの[シークレット]を押します。</p>
<p><a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/iscsi9.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-170" title="iscsi9" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/iscsi9-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>12文字以上16文字以下でシークレットを設定します。</p>
<p><a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/iscsi10.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-171" title="iscsi10" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/iscsi10-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>ターゲット側(FreeBSD 7.1)：<br />
現時点では相互認証データは通常の認証ファイルと同じになっています。</p>
<p>/usr/local/etc/iscsi/auths</p>
<pre id="ex"><code># name:type:secret
# mutual authentication
iqn.1994-04.org.netbsd.iscsi-target\:target1:CHAP:testchaptest1234
#</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://shell.peach.ne.jp/aoyama/archives/172/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD iscsi-target MCS/MPIOパッチ 2008/12/17版 for Microsoft iSCSI Initiator</title>
		<link>http://shell.peach.ne.jp/aoyama/archives/164</link>
		<comments>http://shell.peach.ne.jp/aoyama/archives/164#comments</comments>
		<pubDate>Wed, 17 Dec 2008 17:04:03 +0000</pubDate>
		<dc:creator>aoyama</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[IPv6]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[ZFS]]></category>
		<category><![CDATA[iSCSI]]></category>
		<category><![CDATA[ネットワーク]]></category>
		<category><![CDATA[patch]]></category>

		<guid isPermaLink="false">http://shell.peach.ne.jp/aoyama/?p=164</guid>
		<description><![CDATA[更新＞MCS/MPIO/64bitLBAパッチ 2008/12/25版
SCSIステータスを最終パケットで返すようになったので、
小さいサイズでのREAD処理が早くなってネットワーク的に優しくなったはず？
一部の挙動が時々おかしいのだけど、何やらmallocで確保した領域が
すべてゼロクリアされている事を期待しているのかもしれない。
全コードを精査するのは面倒なので、後ろ向きにゼロクリアしてみた。
ここで精査するぐらいなら書き直します（笑）
なんだか当初の予定とは別の方向にいってるような気が･･･（汗）
とりあえず、一ヶ月間の作業成果はこんな感じです。
パッチファイル： iscsi-target-20081217-patch.bz2
更新版をご利用ください。
# cd /usr/ports/net/iscsi-target
# make clean
# make patch
# bzcat &#60; /path/to/iscsi-target-20081217-patch.bz2 &#124; patch -p0
# make
# make install
新しいコマンドラインオプション：
-C 同一ターゲットへの接続コネクション数（デフォルト８）
-P 接続可能なポータルのIPアドレス（セミコロン区切り）
※IPv6で指定する場合は[]付きでIPv6アドレスを書きます。
新しい機能：
targetsファイル内のネットマスクをセミコロン区切りで複数指定できます。
ネットマスク指定で/以降を省略するとIPv4は/32、IPv6は/128とみなします。
targetsファイル内のflagsカラムにターゲット接続（ログイン）時の
認証とダイジェストを強制するフラグを指定できます。
auth          認証を必要とします。
digest        データおよびヘッダダイジェストを必要とします。
headerdigest  ヘッダダイジェストを必要とします。
datadigest    データダイジェストを必要とします。
認証情報は/usr/local/etc/iscsi/authsに書きます。
Microsoft iSCSI Initiator が相手の場合はシークレットを
12文字以上16文字以下で指定します。
ダイジェスト機能（CRC32によるデータチェック）を有効にできます。
データダイジェスト＝ディスクへの読み書きデータなどに有効。
ヘッダダイジェスト＝iSCSIプロトコルヘッダに有効。
いわゆる仕様：
全てのIPアドレスが同じポート番号でグループ１のネットワークポータルになります。
ポート番号は従来の-pオプションで変更可能ですがグループ番号は固定です。
ダイジェストエラーになった場合にTCP接続の強制終了を第一選択肢にする。
相互認証（mutual authentication）には対応していません。
主な修正点：
ビット演算を気休め的に変更してみました。
mallocで領域確保時に毎回ゼロクリアするように変更しました。
ターゲットログイン時に認証やダイジェストを強制するモードをつけました。
ターゲットログイン時にネットマスクに一致しないイニシエータは拒否するようになりました。
SCSIコマンドのModeSense(6)に少し応答するように変更しました。
Data-Inフェーズの最終PDUでSCSIコマンドステータスも返すように変更しました。
タスクコマンドを正しく処理できなかったのを修正しました。
デフォルトの同時接続数を８に変更しました。
～参考設定～
ターゲットにはしばらくブログに書いてきたExpress5800/110Geに
Intel PRO 1000/PT Desktop Adapter を増設して利用しました。
ホストはWindows Server 2008に同型カードを挿しました。
それぞれのカードのIPアドレスを別のネットワークにして、
スイッチングハブをそれぞれに独立して接続します。
（参考設定ではIPv4に192.168.2.0/24と192.168.3.0/24を、
IPv6に2001:380:e00:42::/64をルータ広告で利用）
ターゲット側(FreeBSD [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://shell.peach.ne.jp/aoyama/archives/207" target="_self">更新＞MCS/MPIO/64bitLBAパッチ 2008/12/25版</a></p>
<p>SCSIステータスを最終パケットで返すようになったので、<br />
小さいサイズでのREAD処理が早くなってネットワーク的に優しくなったはず？<br />
一部の挙動が時々おかしいのだけど、何やらmallocで確保した領域が<br />
すべてゼロクリアされている事を期待しているのかもしれない。<br />
全コードを精査するのは面倒なので、後ろ向きにゼロクリアしてみた。<br />
ここで精査するぐらいなら書き直します（笑）<br />
なんだか当初の予定とは別の方向にいってるような気が･･･（汗）<br />
とりあえず、一ヶ月間の作業成果はこんな感じです。</p>
<p><del datetime="2008-12-25T10:35:33+00:00">パッチファイル： iscsi-target-20081217-patch.bz2</del><br />
更新版をご利用ください。</p>
<pre id="ex"><code># cd /usr/ports/net/iscsi-target
# make clean
# make patch
# bzcat &lt; /path/to/iscsi-target-20081217-patch.bz2 | patch -p0
# make
# make install</code></pre>
<p>新しいコマンドラインオプション：<br />
-C 同一ターゲットへの接続コネクション数（デフォルト８）<br />
-P 接続可能なポータルのIPアドレス（セミコロン区切り）</p>
<p>※IPv6で指定する場合は[]付きでIPv6アドレスを書きます。</p>
<p>新しい機能：<br />
targetsファイル内のネットマスクをセミコロン区切りで複数指定できます。<br />
ネットマスク指定で/以降を省略するとIPv4は/32、IPv6は/128とみなします。</p>
<p>targetsファイル内のflagsカラムにターゲット接続（ログイン）時の<br />
認証とダイジェストを強制するフラグを指定できます。</p>
<pre>auth          認証を必要とします。
digest        データおよびヘッダダイジェストを必要とします。
headerdigest  ヘッダダイジェストを必要とします。
datadigest    データダイジェストを必要とします。</pre>
<p>認証情報は/usr/local/etc/iscsi/authsに書きます。<br />
Microsoft iSCSI Initiator が相手の場合はシークレットを<br />
12文字以上16文字以下で指定します。</p>
<p>ダイジェスト機能（CRC32によるデータチェック）を有効にできます。<br />
データダイジェスト＝ディスクへの読み書きデータなどに有効。<br />
ヘッダダイジェスト＝iSCSIプロトコルヘッダに有効。</p>
<p>いわゆる仕様：<br />
全てのIPアドレスが同じポート番号でグループ１のネットワークポータルになります。<br />
ポート番号は従来の-pオプションで変更可能ですがグループ番号は固定です。<br />
ダイジェストエラーになった場合にTCP接続の強制終了を第一選択肢にする。<br />
相互認証（mutual authentication）には対応していません。</p>
<p>主な修正点：<br />
ビット演算を気休め的に変更してみました。<br />
mallocで領域確保時に毎回ゼロクリアするように変更しました。<br />
ターゲットログイン時に認証やダイジェストを強制するモードをつけました。<br />
ターゲットログイン時にネットマスクに一致しないイニシエータは拒否するようになりました。<br />
SCSIコマンドのModeSense(6)に少し応答するように変更しました。<br />
Data-Inフェーズの最終PDUでSCSIコマンドステータスも返すように変更しました。<br />
タスクコマンドを正しく処理できなかったのを修正しました。<br />
デフォルトの同時接続数を８に変更しました。</p>
<p>～参考設定～<br />
ターゲットにはしばらくブログに書いてきた<a href="http://www.express.nec.co.jp/pcserver/products/g/110ge/" target="_blank">Express5800/110Ge</a>に<br />
<a href="http://www.intel.com/products/server/adapters/pro1000pt/pro1000pt-overview.htm" target="_blank">Intel PRO 1000/PT Desktop Adapter </a>を増設して利用しました。<br />
ホストはWindows Server 2008に同型カードを挿しました。<br />
それぞれのカードのIPアドレスを別のネットワークにして、<br />
スイッチングハブをそれぞれに独立して接続します。<br />
（参考設定ではIPv4に192.168.2.0/24と192.168.3.0/24を、<br />
IPv6に2001:380:e00:42::/64をルータ広告で利用）</p>
<p>ターゲット側(FreeBSD 7.1)：<br />
/etc/rc.conf</p>
<pre id="ex"><code>ifconfig_em0="inet 192.168.3.36  netmask 255.255.255.0"
ifconfig_em1="inet 192.168.2.36  netmask 255.255.255.0"

ipv6_enable="YES"
iscsi_target_enable="YES"
iscsi_target_flags="-s 32 -C 8 -P '192.168.2.36;192.168.3.36;[2001:380:e00:42:21f:d0ff:fe16:38bd]'"</code></pre>
<p>/usr/local/etc/iscsi/targets</p>
<pre id="ex"><code># extents       file                            start   length
extent0         /tank/iscsi/iscsi-target0       0       80GB
extent1         /tank/iscsi/iscsi-target1       0       80GB
extent2         /tank/iscsi/iscsi-target2       0       80GB
# target        flags           storage         netmask
target0         rw,auth         extent0         192.168.2.0/24
target1         rw,digest       extent1         192.168.2.33;129.168.3.33/32;[2001:380:e00:42:a957:4bf:58e0:bedc]/128
target2         rw,auth,headerdigest extent2    192.168.2.0/24;129.168.3.0/24</code></pre>
<p>/usr/local/etc/iscsi/auths</p>
<pre id="ex"><code># name:type:secret
iqn.1991-05.com.microsoft\:ceres:CHAP:1234567890123456</code></pre>
<p>ホスト側(Windows Server 2008)：<br />
オンボードLANに192.168.2.33/24を、<br />
Intel PRO 1000/PTに192.168.3.33/24を割り当てました。<br />
ここではIPv4による画像のみ掲載しますがIPv6でも同様に接続できます。</p>
<p>ターゲットへログオンするときに[詳細設定]でローカルアダプタ、ソースIP、<br />
ターゲットポータルを指定します。</p>
<p><a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/iscsi1.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-156" title="iscsi1" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/iscsi1-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>必要に応じてダイジェストにチェックを付けて有効にします。<br />
（指定しなくてもターゲット側で強制していれば自動的に有効になります）</p>
<p><a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/iscsi2.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-157" title="iscsi2" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/iscsi2-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>接続に認証が必要な場合は指定します。</p>
<p><a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/iscsi3.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-158" title="iscsi3" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/iscsi3-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>接続できたら、[詳細]でターゲットのプロパティを開きます。<br />
セッションタブの[接続]を押します。</p>
<p><a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/iscsi4.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-159" title="iscsi4" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/iscsi4-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>[追加]を押します。</p>
<p><a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/iscsi5.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-160" title="iscsi5" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/iscsi5-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>ソースIP、ターゲットポータルを別のものを指定します。</p>
<p><a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/iscsi6.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-161" title="iscsi6" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/iscsi6-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>必要に応じてダイジェストおよび認証を指定します。</p>
<p><a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/iscsi7.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-162" title="iscsi7" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/iscsi7-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>負荷分散ポリシーを適当に変更します。</p>
<p><a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/iscsi8.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-163" title="iscsi8" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/iscsi8-150x150.jpg" alt="" width="150" height="150" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://shell.peach.ne.jp/aoyama/archives/164/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>FreeBSD iscsi-target MCS/MPIOパッチ 2008/12/11版 for Microsoft iSCSI Initiator</title>
		<link>http://shell.peach.ne.jp/aoyama/archives/154</link>
		<comments>http://shell.peach.ne.jp/aoyama/archives/154#comments</comments>
		<pubDate>Thu, 11 Dec 2008 15:35:17 +0000</pubDate>
		<dc:creator>aoyama</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[IPv6]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[ZFS]]></category>
		<category><![CDATA[iSCSI]]></category>
		<category><![CDATA[ネットワーク]]></category>
		<category><![CDATA[patch]]></category>

		<guid isPermaLink="false">http://shell.peach.ne.jp/aoyama/?p=154</guid>
		<description><![CDATA[更新＞MCS/MPIO/64bitLBAパッチ 2008/12/25版
探索ログインの時にデータダイジェストを使うとエラーになる事が
あったので修正しました。
ネットマスクをセミコロン区切りで複数IPに対応しました。
（オリジナルが対応していないIPv6についても暫定対応）
ネットマスク指定で/以降を省略するとIPv4は/32、IPv6は/128とみなします。
パッチファイル： iscsi-target-20081211-patch.bz2
更新版をご利用ください。
# cd /usr/ports/net/iscsi-target
# make clean
# make patch
# bzcat &#60; /path/to/iscsi-target-20081211-patch.bz2 &#124; patch -p0
# make
# make install
/etc/rc.conf
ipv6_enable="YES"
iscsi_target_enable="YES"
iscsi_target_flags="-s 32 -C 4 -P '192.168.2.36;192.168.3.36;[2001:380:e00:42:21f:d0ff:fe16:38bd]'"
/usr/local/etc/iscsi/targets
extent0         /tank/iscsi/iscsi-target0       0       80GB
extent1         /tank/iscsi/iscsi-target1       0       80GB
target0                 rw      extent0         192.168.2.0/24
target1                 rw      extent1         192.168.2.33;129.168.3.33/32;[2001:380:e00:42:a957:4bf:58e0:bedc]/128
いわゆる仕様：
全てのIPアドレスが同じポート番号でグループ１のネットワークポータルになります。
ポート番号は従来の-pオプションで変更可能ですがグループ番号は固定です。
ダイジェストエラーになった場合にTCP接続の強制終了を第一選択肢にする。
主な修正点：
テキストネゴシエーションのバッファ長が増加しました。
データダイジェストでテキスト文字列のパディングを考慮するように修正しました。
ネットマスクをセミコロン区切りで指定できるように修正しました。
]]></description>
			<content:encoded><![CDATA[<p><a href="http://shell.peach.ne.jp/aoyama/archives/207" target="_self">更新＞MCS/MPIO/64bitLBAパッチ 2008/12/25版</a></p>
<p>探索ログインの時にデータダイジェストを使うとエラーになる事が<br />
あったので修正しました。<br />
ネットマスクをセミコロン区切りで複数IPに対応しました。<br />
（オリジナルが対応していないIPv6についても暫定対応）<br />
ネットマスク指定で/以降を省略するとIPv4は/32、IPv6は/128とみなします。</p>
<p><del datetime="2008-12-25T10:37:43+00:00">パッチファイル： iscsi-target-20081211-patch.bz2</del><br />
更新版をご利用ください。</p>
<pre id="ex"><code># cd /usr/ports/net/iscsi-target
# make clean
# make patch
# bzcat &lt; /path/to/iscsi-target-20081211-patch.bz2 | patch -p0
# make
# make install</code></pre>
<p>/etc/rc.conf</p>
<pre id="ex"><code>ipv6_enable="YES"
iscsi_target_enable="YES"
iscsi_target_flags="-s 32 -C 4 -P '192.168.2.36;192.168.3.36;[2001:380:e00:42:21f:d0ff:fe16:38bd]'"</code></pre>
<p>/usr/local/etc/iscsi/targets</p>
<pre id="ex"><code>extent0         /tank/iscsi/iscsi-target0       0       80GB
extent1         /tank/iscsi/iscsi-target1       0       80GB
target0                 rw      extent0         192.168.2.0/24
target1                 rw      extent1         192.168.2.33;129.168.3.33/32;[2001:380:e00:42:a957:4bf:58e0:bedc]/128</code></pre>
<p>いわゆる仕様：<br />
全てのIPアドレスが同じポート番号でグループ１のネットワークポータルになります。<br />
ポート番号は従来の-pオプションで変更可能ですがグループ番号は固定です。<br />
ダイジェストエラーになった場合にTCP接続の強制終了を第一選択肢にする。</p>
<p>主な修正点：<br />
テキストネゴシエーションのバッファ長が増加しました。<br />
データダイジェストでテキスト文字列のパディングを考慮するように修正しました。<br />
ネットマスクをセミコロン区切りで指定できるように修正しました。</p>
]]></content:encoded>
			<wfw:commentRss>http://shell.peach.ne.jp/aoyama/archives/154/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MCS/MPIOパッチ修正 2008/12/05版</title>
		<link>http://shell.peach.ne.jp/aoyama/archives/142</link>
		<comments>http://shell.peach.ne.jp/aoyama/archives/142#comments</comments>
		<pubDate>Fri, 05 Dec 2008 16:05:10 +0000</pubDate>
		<dc:creator>aoyama</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[IPv6]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[ZFS]]></category>
		<category><![CDATA[iSCSI]]></category>
		<category><![CDATA[ネットワーク]]></category>
		<category><![CDATA[patch]]></category>

		<guid isPermaLink="false">http://shell.peach.ne.jp/aoyama/?p=142</guid>
		<description><![CDATA[更新＞MCS/MPIO/64bitLBAパッチ 2008/12/25版
複数イニシエータから同時にアクセスがあった場合に
パフォーマンスが悪くなっていたので修正しました。
MCSとMPIOのどちらでも接続できるように修正してみました。
ただし、まだ実験的なのでデータ破壊されても自己責任でよろしく。
ついでに独自管理テーブルとダイジェスト機能を作ってみた。
スレッドとデバイスのロック時間を減らしてみた。
ポータルの指定方法が変更されたので/etc/rc.confの修正を忘れずに。
パッチファイル： iscsi-target-20081205-patch.bz2
更新版をご利用ください。
# cd /usr/ports/net/iscsi-target
# make clean
# make patch
# bzcat &#60; /path/to/iscsi-target-20081205-patch.bz2 &#124; patch -p0
# make
# make install
新規オプション：
-C 最大接続コネクション数（デフォルト４）
-P 接続可能なポータルのIPアドレス（セミコロン区切り）
設定例は以前の投稿をどうぞ。
IPv6でポータルを指定するには[]でIPv6アドレスを書きます。
Microsoft iSCSI InitiatorではソースアドレスにIPv6を指定して、
ここで指定したポータルを設定すればIPv6で接続できます。
/etc/rc.conf
ipv6_enable="YES"
iscsi_target_enable="YES"
iscsi_target_flags="-s 32 -C 4 -P '192.168.2.36;192.168.3.36;[2001:380:e00:42:21f:d0ff:fe16:38bd]'"
ダイジェスト(CRC32によるデータチェック）を有効にするには、
ログイン時の詳細設定でチェックボックスに印を付けます。
データダイジェスト＝読み書きデータなどに有効。
ヘッダダイジェスト＝iSCSIプロトコルヘッダに有効。

マルチパス（まだ実験的）にするには、
MPIOをあらかじめインストールしてログイン時に、
マルチパスを有効にチェックして詳細設定からIPを指定します。
マルチパスを使うときはダイジェストを両方使うことを推奨します。
マルチパスの設定を変更するには、
１．iSCSIイニシエータのプロパティからターゲットタブを選択する。
２．[詳細]ボタンでターゲットのプロパティを開く。
３．デバイスタブの詳細設定からデバイス詳細を開く。
４．MPIOタブを選択し、負荷分散ポリシーを変更します。

左側がマルチパス（２本接続）、両方のダイジェスト有効のとき。
右側が通常接続、両方のダイジェスト有効のとき。
 
既知の問題：
ダイジェストエラーになった場合にTCP接続の強制終了を第一選択肢にする。
（可能であればリトライ復帰ルーチンをいれるべき）
いわゆる仕様：
ネットマスクはまだ対応していないので0/0が必要です。
全てのIPアドレスが同じポート番号でグループ１のネットワークポータルになります。
ポート番号は従来の-pオプションで変更可能ですがグループ番号は固定です。
主な修正点：
独自管理テーブルを作成してスレッドを制御するようになった。
TSIHが消えることがあったのを修正しました。
SCSIコマンドのロック範囲を当該スレッドのみに制限しました。
データダイジェスト及びヘッダダイジェストに対応しました。
ポータルの区切り文字がカンマからセミコロンに変更されました。
書込みストリームが異常な場合にはエラー戻りに変更されました。
マルチパスの状態でもできるだけ動くように修正しました。
]]></description>
			<content:encoded><![CDATA[<p><a href="http://shell.peach.ne.jp/aoyama/archives/207" target="_self">更新＞MCS/MPIO/64bitLBAパッチ 2008/12/25版</a></p>
<p>複数イニシエータから同時にアクセスがあった場合に<br />
パフォーマンスが悪くなっていたので修正しました。<br />
MCSとMPIOのどちらでも接続できるように修正してみました。<br />
ただし、まだ実験的なのでデータ破壊されても自己責任でよろしく。<br />
ついでに独自管理テーブルとダイジェスト機能を作ってみた。<br />
スレッドとデバイスのロック時間を減らしてみた。<br />
ポータルの指定方法が変更されたので/etc/rc.confの修正を忘れずに。</p>
<p><del datetime="2008-12-25T10:40:20+00:00">パッチファイル： iscsi-target-20081205-patch.bz2</del><br />
更新版をご利用ください。</p>
<pre id="ex"><code># cd /usr/ports/net/iscsi-target
# make clean
# make patch
# bzcat &lt; /path/to/iscsi-target-20081205-patch.bz2 | patch -p0
# make
# make install</code></pre>
<p>新規オプション：<br />
-C 最大接続コネクション数（デフォルト４）<br />
-P 接続可能なポータルのIPアドレス（セミコロン区切り）</p>
<p>設定例は<a href="http://shell.peach.ne.jp/aoyama/archives/65" target="_blank">以前の投稿</a>をどうぞ。</p>
<p>IPv6でポータルを指定するには[]でIPv6アドレスを書きます。<br />
Microsoft iSCSI InitiatorではソースアドレスにIPv6を指定して、<br />
ここで指定したポータルを設定すればIPv6で接続できます。</p>
<p>/etc/rc.conf</p>
<pre id="ex"><code>ipv6_enable="YES"
iscsi_target_enable="YES"
iscsi_target_flags="-s 32 -C 4 -P '192.168.2.36;192.168.3.36;[2001:380:e00:42:21f:d0ff:fe16:38bd]'"</code></pre>
<p>ダイジェスト(CRC32によるデータチェック）を有効にするには、<br />
ログイン時の詳細設定でチェックボックスに印を付けます。<br />
データダイジェスト＝読み書きデータなどに有効。<br />
ヘッダダイジェスト＝iSCSIプロトコルヘッダに有効。</p>
<p><a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/digest00.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-140" title="digest00" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/digest00-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>マルチパス（まだ実験的）にするには、<br />
MPIOをあらかじめインストールしてログイン時に、<br />
マルチパスを有効にチェックして詳細設定からIPを指定します。<br />
マルチパスを使うときはダイジェストを両方使うことを推奨します。<br />
マルチパスの設定を変更するには、<br />
１．iSCSIイニシエータのプロパティからターゲットタブを選択する。<br />
２．[詳細]ボタンでターゲットのプロパティを開く。<br />
３．デバイスタブの詳細設定からデバイス詳細を開く。<br />
４．MPIOタブを選択し、負荷分散ポリシーを変更します。</p>
<p><a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/mpio00.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-141" title="mpio00" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/mpio00-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>左側がマルチパス（２本接続）、両方のダイジェスト有効のとき。<br />
右側が通常接続、両方のダイジェスト有効のとき。</p>
<p><a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/mphd00.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-149" title="mphd00" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/mphd00-150x150.jpg" alt="" width="150" height="150" /></a> <a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/sphd00.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-151" title="sphd00" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/sphd00-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>既知の問題：<br />
ダイジェストエラーになった場合にTCP接続の強制終了を第一選択肢にする。<br />
（可能であればリトライ復帰ルーチンをいれるべき）</p>
<p>いわゆる仕様：<br />
ネットマスクはまだ対応していないので0/0が必要です。<br />
全てのIPアドレスが同じポート番号でグループ１のネットワークポータルになります。<br />
ポート番号は従来の-pオプションで変更可能ですがグループ番号は固定です。</p>
<p>主な修正点：<br />
独自管理テーブルを作成してスレッドを制御するようになった。<br />
TSIHが消えることがあったのを修正しました。<br />
SCSIコマンドのロック範囲を当該スレッドのみに制限しました。<br />
データダイジェスト及びヘッダダイジェストに対応しました。<br />
ポータルの区切り文字がカンマからセミコロンに変更されました。<br />
書込みストリームが異常な場合にはエラー戻りに変更されました。<br />
マルチパスの状態でもできるだけ動くように修正しました。</p>
]]></content:encoded>
			<wfw:commentRss>http://shell.peach.ne.jp/aoyama/archives/142/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MCSパッチ修正 2008/12/02版</title>
		<link>http://shell.peach.ne.jp/aoyama/archives/134</link>
		<comments>http://shell.peach.ne.jp/aoyama/archives/134#comments</comments>
		<pubDate>Tue, 02 Dec 2008 17:05:50 +0000</pubDate>
		<dc:creator>aoyama</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[IPv6]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[iSCSI]]></category>
		<category><![CDATA[ネットワーク]]></category>
		<category><![CDATA[patch]]></category>
		<category><![CDATA[ZFS]]></category>

		<guid isPermaLink="false">http://shell.peach.ne.jp/aoyama/?p=134</guid>
		<description><![CDATA[更新＞MCS/MPIO/64bitLBAパッチ 2008/12/25版
またしても問題が。
TSIH (Target Session Identifying Handle)が消えてしまうけど、
マルチセッション＞マルチコネクションとかにしなければ大丈夫そう。
そもそもターゲットを１スレッドが全部握っているiscsi-targetのままではどうにも・・・。
根本的にはI/O系を全部書き直すしかないのかな。
パッチファイル： iscsi-target-20081202-patch.bz2
更新版をご利用ください。
# cd /usr/ports/net/iscsi-target
# make clean
# make patch
# bzcat &#60; /path/to/iscsi-target-20081202-patch.bz2 &#124; patch -p0
# make
# make install
新規オプション：
-C 最大接続コネクション数（デフォルト４）
-P 接続可能なポータルのIPアドレス（カンマ区切り）
設定例は以前の投稿をどうぞ。
IPv6で指定するには[]でIPv6アドレスを書きます。
Microsoft iSCSI Initiator ではソースアドレスにIPv6を指定して、
ここで指定したポータルを設定すればIPv6で接続できます。
ipv6_enable="YES"
iscsi_target_enable="YES"
iscsi_target_flags="-s 32 -C 4 -P 192.168.3.36,[2001:380:e00:42:21f:d0ff:fe16:38bd]"
 
既知の問題：
マルチセッションで一つでもログアウトするとTSIHが消えてしまう。
いわゆる仕様：
ネットマスクはまだ対応していないので0/0が必要です。
全てのIPアドレスが同じポート番号でグループ１のネットワークポータルになります。
ポート番号は従来の-pオプションで変更可能ですがグループ番号は固定です。
主な修正点：
マルチセッションが張られた場合などに各スレッドからSCSIコマンドが
ぶつからないようにミューテックスをいれました。
]]></description>
			<content:encoded><![CDATA[<p><a href="http://shell.peach.ne.jp/aoyama/archives/207" target="_self">更新＞MCS/MPIO/64bitLBAパッチ 2008/12/25版</a></p>
<p>またしても問題が。<br />
TSIH (Target Session Identifying Handle)が消えてしまうけど、<br />
マルチセッション＞マルチコネクションとかにしなければ大丈夫そう。<br />
そもそもターゲットを１スレッドが全部握っているiscsi-targetのままではどうにも・・・。<br />
根本的にはI/O系を全部書き直すしかないのかな。</p>
<p><del datetime="2008-12-25T10:42:09+00:00">パッチファイル： iscsi-target-20081202-patch.bz2</del><br />
更新版をご利用ください。</p>
<pre id="ex"><code># cd /usr/ports/net/iscsi-target
# make clean
# make patch
# bzcat &lt; /path/to/iscsi-target-20081202-patch.bz2 | patch -p0
# make
# make install</code></pre>
<p>新規オプション：<br />
-C 最大接続コネクション数（デフォルト４）<br />
-P 接続可能なポータルのIPアドレス（カンマ区切り）</p>
<p>設定例は<a href="http://shell.peach.ne.jp/aoyama/archives/65" target="_blank">以前の投稿</a>をどうぞ。</p>
<p>IPv6で指定するには[]でIPv6アドレスを書きます。<br />
Microsoft iSCSI Initiator ではソースアドレスにIPv6を指定して、<br />
ここで指定したポータルを設定すればIPv6で接続できます。</p>
<pre id="ex"><code>ipv6_enable="YES"
iscsi_target_enable="YES"
iscsi_target_flags="-s 32 -C 4 -P 192.168.3.36,[2001:380:e00:42:21f:d0ff:fe16:38bd]"</code></pre>
<p><a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/ipv6-01.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-135" title="ipv6-01" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/ipv6-01-150x150.jpg" alt="" width="150" height="150" /></a> <a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/ipv6-02.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-136" title="ipv6-02" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/12/ipv6-02-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>既知の問題：<br />
マルチセッションで一つでもログアウトするとTSIHが消えてしまう。</p>
<p>いわゆる仕様：<br />
ネットマスクはまだ対応していないので0/0が必要です。<br />
全てのIPアドレスが同じポート番号でグループ１のネットワークポータルになります。<br />
ポート番号は従来の-pオプションで変更可能ですがグループ番号は固定です。</p>
<p>主な修正点：<br />
マルチセッションが張られた場合などに各スレッドからSCSIコマンドが<br />
ぶつからないようにミューテックスをいれました。</p>
]]></content:encoded>
			<wfw:commentRss>http://shell.peach.ne.jp/aoyama/archives/134/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
