<?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; patch</title>
	<atom:link href="http://shell.peach.ne.jp/aoyama/archives/tag/patch/feed" rel="self" type="application/rss+xml" />
	<link>http://shell.peach.ne.jp/aoyama</link>
	<description>WordPress 3.3.1 on ESXi5 + istgt</description>
	<lastBuildDate>Sun, 29 Jan 2012 14:57:25 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<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 ではこれがなくても動くようにな [...]]]></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>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 + Hy [...]]]></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>7</slash:comments>
		</item>
		<item>
		<title>FreeBSD 7.2がリリースされました</title>
		<link>http://shell.peach.ne.jp/aoyama/archives/540</link>
		<comments>http://shell.peach.ne.jp/aoyama/archives/540#comments</comments>
		<pubDate>Tue, 05 May 2009 08:12:36 +0000</pubDate>
		<dc:creator>aoyama</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[iSCSI]]></category>
		<category><![CDATA[仮想化]]></category>
		<category><![CDATA[FreeNAS]]></category>
		<category><![CDATA[Hyper-V]]></category>
		<category><![CDATA[patch]]></category>

		<guid isPermaLink="false">http://shell.peach.ne.jp/aoyama/?p=540</guid>
		<description><![CDATA[現在FreeNASのビルド環境が7.2リリース待ちだった為に、amd64版の nightly build作成が停止しています。 すでに連絡してあるので再公開までしばらくお待ちを。 iSCSIターゲットの容量が正しく認識さ [...]]]></description>
			<content:encoded><![CDATA[<p>現在FreeNASのビルド環境が7.2リリース待ちだった為に、amd64版の<br />
nightly build作成が停止しています。<br />
すでに連絡してあるので再公開までしばらくお待ちを。</p>
<p>iSCSIターゲットの容量が正しく認識されないという報告をもらっています。<br />
不要なパーティションが存在する状態でRAWデバイスを公開すると、<br />
Windowsが古い領域をそのまま誤認識するようです。<br />
一旦UFSフォーマットをかけてからiSCSIデバイスとして利用してください。<br />
もしくは予めMBRゼロフィルやローレベルフォーマット等を行ってください。</p>
<p>FreeBSD 7.2へのバイナリアップグレード方法：</p>
<p>アナウンス翻訳その他は他力本願ってことで:-)<br />
以前の版(BETAやRCも含む)からアップグレードするにはカーネル自体の更新、<br />
その他の更新の2ステップを行います。</p>
<p>まず更新データをネットから取り寄せます。</p>
<p># freebsd-update upgrade -r 7.2-RELEASE</p>
<p>新しいカーネルのインストールを行い、再起動します。</p>
<p># freebsd-update install<br />
# shutdown -r now</p>
<p>ユーザランドのインストールを行い、再起動します。</p>
<p># freebsd-update install<br />
# shutdown -r now</p>
<p>再起動できたら、portsnap fetch などで portsシステムも更新します。</p>
<p>※実行前に必ずバックアップやスナップショットを作成しておきましょう。<br />
※当然というか古い版からの更新であるほどインストールする量が増えるので、<br />
作業には十分注意しましょう。</p>
<p>Hyper-V仮想マシンへのインストールに関して：</p>
<p>i386とamd64のいずれも以前書いた方法がそのまま使えます。<br />
詳細はそちらを参考にしてください。</p>
<p><a href="http://shell.peach.ne.jp/aoyama/archives/113" target="_self">http://shell.peach.ne.jp/aoyama/archives/113</a></p>
]]></content:encoded>
			<wfw:commentRss>http://shell.peach.ne.jp/aoyama/archives/540/feed</wfw:commentRss>
		<slash:comments>1</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[iSCSI]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[ZFS]]></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がディスクレスインストールできないんです。  [...]]]></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[iSCSI]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[ZFS]]></category>
		<category><![CDATA[patch]]></category>

		<guid isPermaLink="false">http://shell.peach.ne.jp/aoyama/?p=256</guid>
		<description><![CDATA[2011/01/05 追記: ファームウェアの更新手順が変更されているので新たに書きましたので よろしければ一緒にご覧ください。 「Intel Gigabit CT Desktop Adapter などにiSCSI起動フ [...]]]></description>
			<content:encoded><![CDATA[<p>2011/01/05 追記:<br />
ファームウェアの更新手順が変更されているので新たに書きましたので<br />
よろしければ一緒にご覧ください。<br />
「Intel Gigabit CT Desktop Adapter などにiSCSI起動ファームを書き込む」<br />
<a href="http://shell.peach.ne.jp/aoyama/archives/1335" target="_blank">http://shell.peach.ne.jp/aoyama/archives/1335</a><br />
2011/01/05 追記:</p>
<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/22版 for Microsoft iSCSI Initiator</title>
		<link>http://shell.peach.ne.jp/aoyama/archives/252</link>
		<comments>http://shell.peach.ne.jp/aoyama/archives/252#comments</comments>
		<pubDate>Thu, 22 Jan 2009 16:40:57 +0000</pubDate>
		<dc:creator>aoyama</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[IPv6]]></category>
		<category><![CDATA[iSCSI]]></category>
		<category><![CDATA[ZFS]]></category>
		<category><![CDATA[64bitLBA]]></category>
		<category><![CDATA[patch]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[仮想デバイス]]></category>

		<guid isPermaLink="false">http://shell.peach.ne.jp/aoyama/?p=252</guid>
		<description><![CDATA[更新＞MCS/64bitLBA/仮想DVD/仮想テープパッチ 2009/1/25版 ぐーぐる先生を使っていたらとあるサイトでiSCSIブートについて書かれていたので、 ちょっと自分でも試しにやってみたら、まったくできなか [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://shell.peach.ne.jp/aoyama/archives/261" target="_self">更新＞MCS/64bitLBA/仮想DVD/仮想テープパッチ 2009/1/25版</a></p>
<p>ぐーぐる先生を使っていたらとあるサイトでiSCSIブートについて書かれていたので、<br />
ちょっと自分でも試しにやってみたら、まったくできなかった(汗)<br />
iSCSIブートのノウハウがまったくないのと現状のiscsi-targetだと<br />
BIOS起動(iBFT)からの処理ができないと分かったので修正しました。<br />
ブートデバイスの冗長化のやり方とかまだわからない事だらけです。</p>
<p>今回から書き込み方法を少し変更してみました。<br />
書き込み時のレイテンシが多少は下がるはず。<br />
そのかわり巨大なシーケンシャル書き込みは<br />
当然パフォーマンスが少々落ちますけど、<br />
ベンチマークぐらいしか気にならないと思う。<br />
読み書きを交互にやらなきゃいけない状況で性能が伸びると思う。</p>
<p><span style="text-decoration: line-through;">パッチファイル： iscsi-target-20090122-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-20090122-patch.bz2 | patch -p0
# make
# make install</code></pre>
<p>手動でメディア制御コントローラーをインストールしてください。<br />
これは仮想DVDやテープの取り出し交換などに使います。</p>
<p># cp -p work/netbsd-iscsi-20080207/src/istgtcontrol /usr/local/bin/</p>
<p>設定例は<a href="http://shell.peach.ne.jp/aoyama/archives/207" target="_blank">以前の投稿</a>をどうぞ。</p>
<p>主な修正点：<br />
DISKタイプのINQUIRYでエラーコードを正しく返せないバグを修正しました。<br />
マルチパス用のいらない残骸があったのを外しました。<br />
istgtcontrolがクオート文字をそのまま送るバグを修正しました。<br />
書き込みデータセグメントを全部受信する前にメディアに書き込みを<br />
実行するように変更しました。<br />
仮想ディスクのロック方式を仮想DVDや仮想テープと同じに変更しました。<br />
イニシエーターとターゲットポートを厳密に保存するようになりました。<br />
Intel iSCSI Boot（ディスクレスインストール）に一部対応しました。</p>
]]></content:encoded>
			<wfw:commentRss>http://shell.peach.ne.jp/aoyama/archives/252/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>今後どうしようかなと</title>
		<link>http://shell.peach.ne.jp/aoyama/archives/247</link>
		<comments>http://shell.peach.ne.jp/aoyama/archives/247#comments</comments>
		<pubDate>Mon, 19 Jan 2009 12:29:49 +0000</pubDate>
		<dc:creator>aoyama</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[iSCSI]]></category>
		<category><![CDATA[patch]]></category>

		<guid isPermaLink="false">http://shell.peach.ne.jp/aoyama/?p=247</guid>
		<description><![CDATA[都合により凍結したという部分についてちょっとふれておこう。 実はパフォーマンス改善の為にいろいろ改良案を試してみたのですが、 元々のiscsi-targetの制御ロジックだと大幅な性能アップは望めないって結論になりました [...]]]></description>
			<content:encoded><![CDATA[<p>都合により凍結したという部分についてちょっとふれておこう。<br />
実はパフォーマンス改善の為にいろいろ改良案を試してみたのですが、<br />
元々のiscsi-targetの制御ロジックだと大幅な性能アップは望めないって結論になりました。<br />
少なくとも私のプログラミング能力と英語理解力では無理です(汗)<br />
現在のコードを流用しつつ処理方法を変更するのにどの程度コストがかかるか<br />
見たところ概算で約3割程度を新規に書き起こせばいけそう。<br />
でもそのままだとホットスワップ等はもちろん無理だから、<br />
付加機能も考慮すると対応する価値はあまりないという結論に。</p>
<p>そこで、今後の方向性として、<br />
現状の処理方法を維持しつつ拡張するか<br />
ベースの処理部分を根本から書き直すか<br />
という問題が。</p>
<p>とりあえず新規に書くなら非同期I/O処理にしてみたい。<br />
非同期でキューにいれてしまえばブロックされてボトルネックになってる現状<br />
よりましなパフォーマンスになるだろうと見てる。</p>
<p>参考:</p>
<p>http://www.ietf.org/rfc/rfc3720.txt</p>
<p>aio_read(2) aio_write(2) kqueue(2) kevent(2)</p>
]]></content:encoded>
			<wfw:commentRss>http://shell.peach.ne.jp/aoyama/archives/247/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[iSCSI]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[ZFS]]></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版 仮想デバイスの構想一ヶ月、メディアの交換が正常にできずに悩むこと一週間あまり、やっと動くようになったので公開します。 記念すべき今年初の [...]]]></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>仮想DVDドライブと仮想テープドライブの進捗</title>
		<link>http://shell.peach.ne.jp/aoyama/archives/236</link>
		<comments>http://shell.peach.ne.jp/aoyama/archives/236#comments</comments>
		<pubDate>Fri, 09 Jan 2009 11:01:04 +0000</pubDate>
		<dc:creator>aoyama</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[iSCSI]]></category>
		<category><![CDATA[patch]]></category>

		<guid isPermaLink="false">http://shell.peach.ne.jp/aoyama/?p=236</guid>
		<description><![CDATA[仮想DVDドライブはCD-ROMとDVD-ROMの読み込み動作部分はできました。 すくなくともWindows Server 2003と2008で利用可能。 2008ではHyper-Vの物理CD/DVDドライブとして利用で [...]]]></description>
			<content:encoded><![CDATA[<p>仮想DVDドライブはCD-ROMとDVD-ROMの読み込み動作部分はできました。<br />
すくなくともWindows Server 2003と2008で利用可能。<br />
2008ではHyper-Vの物理CD/DVDドライブとして利用でき、<br />
OSがクリーンインストールできる事を確認済み。<br />
リージョンコードも返すようにしてみたけどあまり意味なさそう。<br />
コマンド系はSPC-3/MMC-4を参照。</p>
<p>仮想テープドライブは2003と2000に標準で付いてるDLTドライバと<br />
Windowsバックアップで完全バックアップとリストアが36GBできる事を確認済み。<br />
2003で作成した物が2000で展開可能とか確認中です。<br />
一部の重要なコマンドが未実装のため正常に動かない事があります。<br />
たとえばイレース等ができません(涙)<br />
コマンド系はSPC-3/SSC-2を参照。</p>
<p>両方ともまだメディアの交換が出来ません。<br />
イジェクトすると即座に再挿入されます(汗)</p>
<p>現在お手本にしている基本ハードはこれ↓<br />
<a href="http://www.newtech.co.jp/products/sales_end/dlt8000/" target="_blank">http://www.newtech.co.jp/products/sales_end/dlt8000/</a><br />
非圧縮40GB/圧縮80GBだけど圧縮はまだ考慮していない。<br />
そもそも常時伸張されるから生データとかあまり関係ない気が・・・。<br />
これをベースにDLT-S4(800GB/1.6TB)とIBMのLTO1(100GB/200GB)と<br />
LTO4(800GB/1.6TB)のコマンドを参考に修正中です。<br />
ヘリカルスキャンのほうはあまり見てない。<br />
一応HPのDDS4はあるから確認とかはとるかも？<br />
まぁお手本と言っても対応すべきSCSIコマンドの応答を真似ているだけですが。</p>
<p>参考URL：<br />
Quantum DLT-S4<br />
<a href="http://www.quantum.com/Products/TapeDrives/DLT/DLT-S4/Index.aspx" target="_blank">http://www.quantum.com/Products/TapeDrives/DLT/DLT-S4/Index.aspx</a><br />
IBM System Storage TS2340<br />
<a href="http://www-06.ibm.com/jp/storage/products/tape/2340/" target="_blank">http://www-06.ibm.com/jp/storage/products/tape/2340/</a></p>
<p>ところで、うちのWin2KはDLT-S4のドライバを導入すると<br />
クラッシュするのですけどやっぱり2000ってことなのか。</p>
<p>物理サーバ(WS2003)上にあるネットワークドライブをHyper-V内の<br />
仮想マシン(WS2003)に割り当てて、仮想マシンからiSCSI仮想テープに<br />
バックアップしてみた時のログ↓</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
バックアップ状態<br />
操作: バックアップ<br />
アクティブ メディア: DLT<br />
メディア名: &#8221; 2009/01/09 18:13 に作成したメディア&#8221;</p>
<p>ボリューム シャドウ コピーの作成: 試行回数 1 回。<br />
&#8220;X: \\Athena\Files&#8221; のバックアップ<br />
バックアップ セット #1 (メディア #1)<br />
バックアップの説明: &#8220;2009/01/09 18:13 に作成されたセット&#8221;<br />
メディア名: &#8221; 2009/01/09 18:13 に作成したメディア&#8221;</p>
<p>バックアップの種類: 通常</p>
<p>2009/01/09 18:13 にバックアップを開始しました。<br />
2009/01/09 18:35 にバックアップを完了しました。<br />
ディレクトリ数: 29<br />
ファイル数: 236<br />
バイト数: 36,285,182,209<br />
時間:  21 分 26 秒で処理しました。</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>ログはこんな感じで、まだデバッグ用ログ取り中とかだけど、<br />
だいたい27MB/sの書き込みスループットがあるようです。<br />
94GB/hか・・・。ちょっと遅いな（あぅ<br />
いや、こんなことにネットワークドライブなんか使うなって話も(汗)</p>
]]></content:encoded>
			<wfw:commentRss>http://shell.peach.ne.jp/aoyama/archives/236/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[iSCSI]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[ZFS]]></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でも興味ある人はそこそこいるのだなと(笑)  [...]]]></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[iSCSI]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[ZFS]]></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-ta [...]]]></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[iSCSI]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[ZFS]]></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 [...]]]></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 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[iSCSI]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[ZFS]]></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を起動した場合でも使えるように、 認証フ [...]]]></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[iSCSI]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[ZFS]]></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 [...]]]></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[iSCSI]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[ZFS]]></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処理が早くなってネットワーク的に優しくなったはず？ 一部の挙動が時 [...]]]></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[iSCSI]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[ZFS]]></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に対応しました。 （ [...]]]></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[iSCSI]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[ZFS]]></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のどちらでも接続できるように修正 [...]]]></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[iSCSI]]></category>
		<category><![CDATA[Windows]]></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)が消えてしまうけど、 マルチセッション＞マルチコ [...]]]></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>
		<item>
		<title>MCSパッチ修正 2008/11/30版</title>
		<link>http://shell.peach.ne.jp/aoyama/archives/131</link>
		<comments>http://shell.peach.ne.jp/aoyama/archives/131#comments</comments>
		<pubDate>Sun, 30 Nov 2008 15:38:38 +0000</pubDate>
		<dc:creator>aoyama</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[iSCSI]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[ZFS]]></category>
		<category><![CDATA[ネットワーク]]></category>
		<category><![CDATA[patch]]></category>

		<guid isPermaLink="false">http://shell.peach.ne.jp/aoyama/?p=131</guid>
		<description><![CDATA[更新＞MCS/MPIO/64bitLBAパッチ 2008/12/25版 やっぱりバグバグだった。 パッチファイル： iscsi-target-20081130-patch.bz2 更新版をご利用ください。 # cd /u [...]]]></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>やっぱりバグバグだった。</p>
<p><del datetime="2008-12-25T10:43:20+00:00">パッチファイル： iscsi-target-20081130-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-20081130-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>いわゆる仕様：<br />
ネットマスクはまだ対応していないので0/0が必要です。<br />
全てのIPアドレスが同じポート番号でグループ１のネットワークポータルになります。<br />
ポート番号は従来の-pオプションで変更可能ですがグループ番号は固定です。</p>
<p>主な修正点：<br />
オリジナルのバグを修正しました。<br />
セッション中の１コネクションが再接続した場合も接続を許可するようになりました。</p>
]]></content:encoded>
			<wfw:commentRss>http://shell.peach.ne.jp/aoyama/archives/131/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>FreeBSD 7.1 + Microsoft iSCSI Initiator / MCSパッチの新しいの</title>
		<link>http://shell.peach.ne.jp/aoyama/archives/123</link>
		<comments>http://shell.peach.ne.jp/aoyama/archives/123#comments</comments>
		<pubDate>Sat, 29 Nov 2008 16:54:50 +0000</pubDate>
		<dc:creator>aoyama</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[iSCSI]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[ZFS]]></category>
		<category><![CDATA[ネットワーク]]></category>
		<category><![CDATA[機材]]></category>
		<category><![CDATA[patch]]></category>

		<guid isPermaLink="false">http://shell.peach.ne.jp/aoyama/?p=123</guid>
		<description><![CDATA[更新＞MCS/MPIO/64bitLBAパッチ 2008/12/25版 いつもエラーが出て気になっていたので修正しました(汗) パッチファイル： iscsi-target-20081129-patch.bz2 更新版をご [...]]]></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>いつもエラーが出て気になっていたので修正しました(汗)</p>
<p><del datetime="2008-12-25T10:44:33+00:00">パッチファイル： iscsi-target-20081129-patch.bz2</del><br />
更新版をご利用ください。</p>
<pre id="ex" style="font-size:0.9em"><code># cd /usr/ports/net/iscsi-target
# make clean
# make patch
# bzcat &lt; /path/to/iscsi-target-20081129-patch.bz2 | patch -p0
# make
# make install</code></pre>
<p>-C 最大接続コネクション数（デフォルト４）<br />
-P 接続可能なポータルのIPアドレス（カンマ区切り）</p>
<p>設定例は<a href="http://shell.peach.ne.jp/aoyama/archives/65" target="_blank">以前の投稿</a>をどうぞ。</p>
<p>いわゆる仕様：<br />
ネットマスクはまだ対応していないので0/0が必要です。<br />
全てのIPアドレスが同じポート番号でグループ１のネットワークポータルになります。<br />
ポート番号は従来の-pオプションで変更可能ですがグループ番号は固定です。</p>
<p>主な修正点：<br />
正常ログアウト及びフェールオーバー時にシーケンス番号が<br />
上書きされないようになりました。<br />
再接続した場合に旧スレッドを破棄するようになりました。</p>
]]></content:encoded>
			<wfw:commentRss>http://shell.peach.ne.jp/aoyama/archives/123/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

