<?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; ネットワーク</title>
	<atom:link href="http://shell.peach.ne.jp/aoyama/archives/category/%e3%83%8d%e3%83%83%e3%83%88%e3%83%af%e3%83%bc%e3%82%af/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>本日の早朝にディスクフルで当ブログが停止したようです。</title>
		<link>http://shell.peach.ne.jp/aoyama/archives/1817</link>
		<comments>http://shell.peach.ne.jp/aoyama/archives/1817#comments</comments>
		<pubDate>Mon, 31 Oct 2011 23:40:49 +0000</pubDate>
		<dc:creator>aoyama</dc:creator>
				<category><![CDATA[ネットワーク]]></category>
		<category><![CDATA[仮想化]]></category>

		<guid isPermaLink="false">http://shell.peach.ne.jp/aoyama/?p=1817</guid>
		<description><![CDATA[直接の原因は月次バックアップを作成中に足らなくなった為のようです。 基本的にVMローカルにZFSスナップショットを取って一時圧縮を行ってから、 まとめてscpかNFSでバックアップ領域に転送しています。 が、このまとめ作 [...]]]></description>
			<content:encoded><![CDATA[<p>直接の原因は月次バックアップを作成中に足らなくなった為のようです。</p>
<p>基本的にVMローカルにZFSスナップショットを取って一時圧縮を行ってから、<br />
まとめてscpかNFSでバックアップ領域に転送しています。<br />
が、このまとめ作業の途中で不足していました。</p>
<p>とりあえず、プール容量増やした方がいいね。</p>
]]></content:encoded>
			<wfw:commentRss>http://shell.peach.ne.jp/aoyama/archives/1817/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SEIL/x86 というのがあるらしいですよ</title>
		<link>http://shell.peach.ne.jp/aoyama/archives/1281</link>
		<comments>http://shell.peach.ne.jp/aoyama/archives/1281#comments</comments>
		<pubDate>Fri, 24 Dec 2010 19:05:23 +0000</pubDate>
		<dc:creator>aoyama</dc:creator>
				<category><![CDATA[ネットワーク]]></category>
		<category><![CDATA[仮想化]]></category>

		<guid isPermaLink="false">http://shell.peach.ne.jp/aoyama/?p=1281</guid>
		<description><![CDATA[寝ようと思ったら流れていたので起動だけしてみた。 http://www.seil.jp/product/lineup/seilx-86/ ↓ダウンロードはこっちから。 http://www.seil.jp/downloa [...]]]></description>
			<content:encoded><![CDATA[<p>寝ようと思ったら流れていたので起動だけしてみた。</p>
<p><a href="http://www.seil.jp/product/lineup/seilx-86/" target="_blank">http://www.seil.jp/product/lineup/seilx-86/</a><br />
↓ダウンロードはこっちから。<br />
<a href="http://www.seil.jp/download/seil-x86/" target="_blank">http://www.seil.jp/download/seil-x86/</a></p>
<p>試用期間は 2010/12/01 から 2011/04/01 まで。</p>
<p>ESXiで起動してみる～</p>
<p>アーカイブを展開すると、</p>
<p>seilx86.vmdk<br />
seilx86.vmx</p>
<p>が出てくるので、ESXiのデータストアにアップロードして、<br />
seilx86.vmxを右クリックで「インベントリへの追加」で追加します。<br />
仮想マシンの編集で、添付のネットワークアダプタを全部削除。<br />
新規にアダプタを追加します。（タイプはフレキシブルかE1000で）<br />
起動すると、ほげほげ～っとログ流れてログインになる。</p>
<p>admin か user で入れるらしい。（詳細はマニュアル参照のこと）<br />
デフォルトのIPは 192.168.0.1/24 になっているので調整する。</p>
<p>↓こんな感じでsshを有効にする。<br />
# interface lan0 add 192.168.2.8/24<br />
# sshd enable</p>
<p>↓sshで繋がるようになったらデフォルトIPを消す。<br />
# interface lan0 delete 192.168.0.1/24<br />
↓設定を保存して、再起動。<br />
# save-to flashrom<br />
# reboot</p>
<p>※再起動の確認は[y/N]だった。てっきりｒｙ</p>
<p>あとはお好きにどうぞ。httpが最初から有効みたいだからアクセスするとこんな感じ。</p>
<p><a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2010/12/seilx86.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-1282" title="seilx86" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2010/12/seilx86-150x129.jpg" alt="" width="150" height="129" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://shell.peach.ne.jp/aoyama/archives/1281/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>臨時メンテナンス終了</title>
		<link>http://shell.peach.ne.jp/aoyama/archives/1128</link>
		<comments>http://shell.peach.ne.jp/aoyama/archives/1128#comments</comments>
		<pubDate>Sun, 06 Jun 2010 04:41:57 +0000</pubDate>
		<dc:creator>aoyama</dc:creator>
				<category><![CDATA[ネットワーク]]></category>

		<guid isPermaLink="false">http://shell.peach.ne.jp/aoyama/?p=1128</guid>
		<description><![CDATA[1TBの複製に予想外の時間(60MB/s程度)がかかりましたが終了しました。 以前VT6130の実験に使ったままずっと放置されていたExpress5800/110Geに パーツ補強をして、仮運用のESXiマシンを作成しま [...]]]></description>
			<content:encoded><![CDATA[<p>1TBの複製に予想外の時間(60MB/s程度)がかかりましたが終了しました。<br />
以前VT6130の実験に使ったままずっと放置されていたExpress5800/110Geに<br />
パーツ補強をして、仮運用のESXiマシンを作成しました。<br />
とりあえずistgtの実験とESXi用サーバを導入するまでのつなぎと言うことで。</p>
<p>Express5800/110Ge<br />
BIOS <a href="http://support.express.nec.co.jp/dload/410496-A01/410496-A01_633951727369950981.htm" target="_blank">1.0.0042</a><br />
CPU Celeron E3400 (Dual-Core/2.6GHz/L2 1MB)<br />
メモリ 4GB<br />
HDD なし<br />
NIC1 82566DM-2 (onboard)<br />
NIC2 PRO/1000 PT Server Adapter<br />
NIC3 GBE-PCIe2 (VT6130)<br />
NIC4 PRO/100 Management Adapter</p>
<p>iSCSIターゲットはistgt 20100604版(非公開)にて180GBを割り当てました。<br />
NICは種類をみれば想像はつくかもしれないけど、<br />
NIC1とNIC2をiSCSI用に、NIC3を管理用に、NIC4を外部接続用に<br />
それぞれ割り当てました。</p>
<p>補足：<br />
iSCSIターゲットの容量が不足した場合でもストレージプールの余裕があれば、<br />
istgtの設定を増加して、サービスの再起動をすればESXi側はいつでも拡張<br />
できます。(もちろん仮想マシンを起動したままで)</p>
<p>追記：<br />
20100606版をアップしました。<br />
上記環境も20100606版に移行しました。</p>
]]></content:encoded>
			<wfw:commentRss>http://shell.peach.ne.jp/aoyama/archives/1128/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>臨時メンテナンス</title>
		<link>http://shell.peach.ne.jp/aoyama/archives/1124</link>
		<comments>http://shell.peach.ne.jp/aoyama/archives/1124#comments</comments>
		<pubDate>Sat, 05 Jun 2010 14:05:06 +0000</pubDate>
		<dc:creator>aoyama</dc:creator>
				<category><![CDATA[ネットワーク]]></category>

		<guid isPermaLink="false">http://shell.peach.ne.jp/aoyama/?p=1124</guid>
		<description><![CDATA[昨日、セカンダリネームサーバおよび当ブログを実行させているサーバの メンテナンスを行いハードディスク・ネットワークカード増設や仮想化への 準備を行いました。現在仮運用中です。 本日ネットワーク機器の臨時メンテナンスの為に [...]]]></description>
			<content:encoded><![CDATA[<p>昨日、セカンダリネームサーバおよび当ブログを実行させているサーバの<br />
メンテナンスを行いハードディスク・ネットワークカード増設や仮想化への<br />
準備を行いました。現在仮運用中です。</p>
<p>本日ネットワーク機器の臨時メンテナンスの為に、21:15～22:10まで<br />
IPv6を含む外部接続が不安定になっていました。<br />
現在は、サービスの再起動を確認しています。</p>
<p>また、明日の早朝にバックアップサーバのメンテナンスを行う為に、各サーバの<br />
スナップショット作成や転送等で一時的にネットワークが繋がりにくくなったり<br />
遅延するかもしれませんがご了承ください。</p>
]]></content:encoded>
			<wfw:commentRss>http://shell.peach.ne.jp/aoyama/archives/1124/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>久しぶりにNICのFirm更新をしてみる。</title>
		<link>http://shell.peach.ne.jp/aoyama/archives/585</link>
		<comments>http://shell.peach.ne.jp/aoyama/archives/585#comments</comments>
		<pubDate>Fri, 27 Nov 2009 19:02:06 +0000</pubDate>
		<dc:creator>aoyama</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[iSCSI]]></category>
		<category><![CDATA[ネットワーク]]></category>

		<guid isPermaLink="false">http://shell.peach.ne.jp/aoyama/?p=585</guid>
		<description><![CDATA[Intel iSCSI Remote Boot Setup Utility 14.7(10/23/2009) に含まれる ISCSIUTLでカードを更新すると2.3.81になりました。 このバージョンにてブートしようとす [...]]]></description>
			<content:encoded><![CDATA[<p>Intel iSCSI Remote Boot Setup Utility 14.7(10/23/2009) に含まれる<br />
ISCSIUTLでカードを更新すると2.3.81になりました。</p>
<p>このバージョンにてブートしようとするとistgtのログに</p>
<p>&gt;istgt_iscsi.c:3635:istgt_iscsi_transfer_out: ***WARNING*** lun(0&#215;7457809901000002)</p>
<p>こんな感じのログが大量に吐き出されます。<br />
よくよく考えると、警告ログを省略する手段が存在しない。<br />
（トレースログの変更は可能ですが）<br />
警告の内容自体は動作に影響を及ぼすものではないので無視できます。<br />
まぁ、警告が出る時点でistgtがダメなのかもだけど変更できたほうがいいかも。</p>
<p>Intel PRO1000/PT Server Adapter(2.3.81) + Windows Server 2008 R2<br />
のディスクレスブートを確認しました。</p>
<p>VirtulBOX 3.0.12でiSCSIディスクが認識し、VM起動ができる事を確認しました。</p>
<p>istgt-20091124がportsにコミットされました。<br />
portsnap/potrtupgrade等でどうぞ。</p>
<p>FreeNAS方面は別記事にします。</p>
]]></content:encoded>
			<wfw:commentRss>http://shell.peach.ne.jp/aoyama/archives/585/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>あけましておめでとうございます</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>
		<item>
		<title>NEC Express5800/110Ge にCore 2 Quad Q6600(G0)を載せてみる</title>
		<link>http://shell.peach.ne.jp/aoyama/archives/91</link>
		<comments>http://shell.peach.ne.jp/aoyama/archives/91#comments</comments>
		<pubDate>Thu, 20 Nov 2008 12:27:15 +0000</pubDate>
		<dc:creator>aoyama</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[iSCSI]]></category>
		<category><![CDATA[ZFS]]></category>
		<category><![CDATA[ネットワーク]]></category>
		<category><![CDATA[機材]]></category>

		<guid isPermaLink="false">http://shell.peach.ne.jp/aoyama/?p=91</guid>
		<description><![CDATA[以前書いた予定通りCPUを載せ替えしてみました。 ついでにシャドウベイに9cmFANを追加しました。 Intel Core 2 Quad Q6600(G0ステップ) 65nm/TDP95W/FSB1066MHz/2.4G [...]]]></description>
			<content:encoded><![CDATA[<p>以前書いた予定通りCPUを載せ替えしてみました。<br />
ついでにシャドウベイに9cmFANを追加しました。</p>
<p><a href="http://processorfinder.intel.com/details.aspx?sSpec=SLACR" target="_blank">Intel Core 2 Quad Q6600(G0ステップ)<br />
65nm/TDP95W/FSB1066MHz/2.4GHz/キャッシュ8MB/4コア</a></p>
<p><a href="http://www.scythe.co.jp/cooler/20050202-125656.html" target="_blank">KAMA-FLEX9cm SA0925FDB12M (2000rpm)</a></p>
<p>Core2Quad Q6600搭載後の消費電力は、<br />
電源投入直後＝＞最大256W<br />
FreeBSD loginプロンプト＝＞134W<br />
ZFS上でddを1個起動＝＞186W<br />
ZFS上でbzip2圧縮を4個起動＝＞198W</p>
<p>Core2Quad Q6600にしたらkvmが足りなくなりました(汗)<br />
とりあえずシングルモードでkmem_sizeを下げて起動、<br />
カーネルコンフィグを以下のように修正しました。<br />
もし起動しなくなったらブートローダから手動で設定するか、<br />
シングルモードで変更します。<br />
↓のKVAは2KB/ページです。</p>
<p>Kernel CONFIG</p>
<pre id="ex">include PAE
options KVA_PAGES=1152
nomakeoptions   NO_MODULES
makeoptions     MODULES_OVERRIDE="opensolaris zfs"
device          iscsi_initiator</pre>
<p>/boot/loader.conf</p>
<pre id="ex">vm.kmem_size_max="1536M"
vm.kmem_size="1536M"
vfs.zfs.arc_max="512M"
vfs.zfs.vdev.cache.size="20M"</pre>
<p>フリーメモリの確認</p>
<pre id="ex"># sysctl -a | grep kvm
vm.kvm_free: 253751296
vm.kvm_size: 2415915008</pre>
<p>さっそくportsにあるbenchmarks/unixbenchを使って確認してみました。<br />
オリジナルのExpress5800/110GeとCPU換装後の110Geと<br />
参考にPentium4/2.2GHzで過去にとったデータです。<br />
換装後にかけたZFS上でのdd結果もあわせて置いておきます。</p>
<p>見ての通りCore2ベースのCeleronならPentium4など余裕で勝てます。<br />
マルチコアであきらかに向上してるのがわかるのが「Shell Scripts (8 concurrent)」（8プロセス並列実行）逆に下げたのが「Pipe-based Context Switching」ですね。</p>
<p>Q6600/ZFS raidz2(used 242GB) 書込 164.6MB/s 読込 326.6MB/s</p>
<p>RAID5/6の処理は重いですから、そういうのが必要ならCPU換装は有意義でしょう。<br />
ハードウェアRAIDやソフトウェアミラーリングならCeleronでも十分使えると思う。<br />
少なくともNetBurstのPentium4/DやCeleron300番台のマシンを置き替えるにはCPU換装前でも十分なスペックです。（消費電力的にも）<br />
どうしてもシングルコアが気になるなら、<br />
Pentium Dual-Core E2180 (2GHz/FSB800MHz/キャッシュ1MB/2コア)<br />
Celeron Dual-Core E1400 (2GHz/FSB800MHz/キャッシュ512KB/2コア)<br />
あたりを流用すれば安上がりにできると思う。<br />
もちろんCPUを新規に買えるなら、<br />
Pentium Dual-Core E5200(45nm/2.5GHz/FSB800MHz/キャッシュ2MB/2コア)<br />
で決まりでしょうけど。</p>
<p>FreeBSD 7.1 Celeron 430 1.8GHz(FSB800MHz)</p>
<pre id="ex" style="font-size:0.8em">                     INDEX VALUES
TEST                                        BASELINE     RESULT      INDEX

Dhrystone 2 using register variables        116700.0  7486225.1      641.5
Double-Precision Whetstone                      55.0     1393.2      253.3
Execl Throughput                                43.0     1475.9      343.2
File Copy 1024 bufsize 2000 maxblocks         3960.0    40582.0      102.5
File Copy 256 bufsize 500 maxblocks           1655.0    10889.0       65.8
File Copy 4096 bufsize 8000 maxblocks         5800.0   135959.0      234.4
Pipe Throughput                              12440.0   553194.4      444.7
Pipe-based Context Switching                  4000.0   163170.9      407.9
Process Creation                               126.0     5515.3      437.7
Shell Scripts (8 concurrent)                     6.0      319.0      531.7
System Call Overhead                         15000.0   393876.6      262.6
                                                                 =========
     FINAL SCORE                                                     284.2</pre>
<p>FreeBSD 7.1 C2Q Q6600 2.4GHz(FSB1066MHz)</p>
<pre id="ex" style="font-size:0.8em">                     INDEX VALUES
TEST                                        BASELINE     RESULT      INDEX

Dhrystone 2 using register variables        116700.0 10259315.6      879.1
Double-Precision Whetstone                      55.0     1884.9      342.7
Execl Throughput                                43.0     2296.9      534.2
File Copy 1024 bufsize 2000 maxblocks         3960.0    62334.0      157.4
File Copy 256 bufsize 500 maxblocks           1655.0    16523.0       99.8
File Copy 4096 bufsize 8000 maxblocks         5800.0   214088.0      369.1
Pipe Throughput                              12440.0   773740.0      622.0
Pipe-based Context Switching                  4000.0   129334.0      323.3
Process Creation                               126.0     5957.7      472.8
Shell Scripts (8 concurrent)                     6.0     1176.1     1960.2
System Call Overhead                         15000.0   539478.0      359.7
                                                                 =========
     FINAL SCORE                                                     414.8</pre>
<p>FreeBSD 7.0 Pentium4 2.2GHz(FSB400MHz)</p>
<pre id="ex" style="font-size:0.8em">                     INDEX VALUES
TEST                                        BASELINE     RESULT      INDEX

Dhrystone 2 using register variables        116700.0  3613977.9      309.7
Double-Precision Whetstone                      55.0      808.0      146.9
Execl Throughput                                43.0      241.2       56.1
File Copy 1024 bufsize 2000 maxblocks         3960.0    20026.0       50.6
File Copy 256 bufsize 500 maxblocks           1655.0     5179.0       31.3
File Copy 4096 bufsize 8000 maxblocks         5800.0    63677.0      109.8
Pipe Throughput                              12440.0   257737.5      207.2
Pipe-based Context Switching                  4000.0    80782.8      202.0
Process Creation                               126.0     3264.5      259.1
Shell Scripts (8 concurrent)                     6.0       99.0      165.0
System Call Overhead                         15000.0   189032.5      126.0
                                                                 =========
     FINAL SCORE                                                     123.3</pre>
<pre id="ex" style="font-size:0.9em"># dd if=/dev/zero of=image4G.dat bs=64k count=64k
65536+0 records in
65536+0 records out
4294967296 bytes transferred in 24.878161 secs (172640062 bytes/sec)
# dd of=/dev/null if=image4G.dat bs=64k count=64k
65536+0 records in
65536+0 records out
4294967296 bytes transferred in 12.542709 secs (342427409 bytes/sec)</pre>
]]></content:encoded>
			<wfw:commentRss>http://shell.peach.ne.jp/aoyama/archives/91/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD 7.1 + Microsoft iSCSI Initiator / Multiple Connections per Session（MCS）</title>
		<link>http://shell.peach.ne.jp/aoyama/archives/65</link>
		<comments>http://shell.peach.ne.jp/aoyama/archives/65#comments</comments>
		<pubDate>Wed, 19 Nov 2008 12:35:32 +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>

		<guid isPermaLink="false">http://shell.peach.ne.jp/aoyama/?p=65</guid>
		<description><![CDATA[更新＞MCS/MPIO/64bitLBAパッチ 2008/12/25版 Microsoft iSCSI Initiator Users Guide によると 現バージョンでサポートしている冗長化は Multiple Co [...]]]></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>Microsoft iSCSI Initiator Users Guide によると<br />
現バージョンでサポートしている冗長化は<br />
Multiple Connections per Session（MCS）<br />
Microsoft MPIO support<br />
だそうな。</p>
<p>iscsi-targetは１コネクション（TCP）を１スレッド、<br />
当該セッションパラメータをスレッドに埋め込みで管理しています。<br />
もし複数スレッド間でパラメータを共有できればMCSが容易になります。<br />
でもそこまで作りこむのはかなり時間がかかりそうなので、<br />
動作確認の意味も込めて、スレッド内のSCSIコマンド処理前に<br />
各スレッドから必要なシーケンス番号をコピーするという<br />
なんちゃって同期機能をつけて対応(笑)<br />
この動作の前提として複数スレッドが同時に同じシーケンス番号を<br />
更新しないとすごく期待しています。<br />
一般化するなら送受信スレッドとパケット処理スレッドを作って、<br />
FIFOキューでつなぐのがいいと思ってるけどどうでしょ。</p>
<p>用意するもの：<br />
LANを２ポート以上装備したマシン２台<br />
スイッチングハブ２台<br />
<del datetime="2008-12-25T10:46:05+00:00">iscsi-targetのパッチファイル iscsi-target-20081118-patch.bz2</del><br />
更新版をご利用ください。</p>
<pre id="ex"><code># cd /usr/ports/net/iscsi-target
# make patch
# bzcat &lt; iscsi-target-20081118-patch.bz2 | patch -p0
# make
# make install
</code></pre>
<p>-C 最大接続コネクション数（デフォルト４）<br />
-P 接続可能なポータルのIPアドレス（カンマ区切り）</p>
<p>いわゆる仕様：<br />
ネットマスクはまだ対応していないので0/0が必要です。<br />
全てのIPアドレスが同じポート番号でグループ１のネットワークポータルになります。<br />
ポート番号は従来の-pオプションで変更可能ですがグループ番号は固定です。<br />
最初に接続したコネクションが壊れるとおかしくなります。</p>
<p>～参考設定～<br />
ターゲットにはしばらくブログに書いてきたExpress5800/110Geに<br />
Intel PRO 1000/PT Desktop Adapter を増設して利用しました。<br />
<a href="http://www.intel.com/products/server/adapters/pro1000pt/pro1000pt-overview.htm">http://www.intel.com/products/server/adapters/pro1000pt/pro1000pt-overview.htm</a><br />
ホストはWindows Server 2008に同型カードを挿しました。<br />
それぞれのカードのIPアドレスを別のネットワークにして、<br />
スイッチングハブをそれぞれに独立して接続します。<br />
（参考設定では192.168.2.0/24と192.168.3.0/24を利用）</p>
<p>ターゲット側(FreeBSD7.1)：<br />
/etc/rc.conf</p>
<pre id="ex"><code>ifconfig_em0="inet 192.168.3.36  netmask 255.255.255.0"
ifconfig_em0_alias0="inet 192.168.3.37  netmask 255.255.255.255"
ifconfig_em1="inet 192.168.2.36  netmask 255.255.255.0"
ifconfig_em1_alias0="inet 192.168.2.37  netmask 255.255.255.255"

iscsi_target_enable="YES"
iscsi_target_flags="-s 32 -C 4 -P 192.168.2.36,192.168.3.36,192.168.2.37,192.168.3.37"
</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         0/0
</code></pre>
<p>ホスト側(WindowsServer2008)：<br />
オンボードLANに192.168.2.33/24を、<br />
Intel PRO 1000/PTに192.168.3.33/24を割り当てました。</p>
<p>ログインするときに[詳細設定]でローカルアダプタ、ソースIP、<br />
ターゲットポータルを指定します。</p>
<p><a href="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/11/iscsi1.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-68" title="iscsi1" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/11/iscsi1-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/11/iscsi2.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-71" title="iscsi2" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/11/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/11/iscsi3.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-72" title="iscsi3" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/11/iscsi3-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/11/iscsi4.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-73" title="iscsi4" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/11/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/11/iscsi5.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-74" title="iscsi5" src="http://shell.peach.ne.jp/~aoyama/wordpress/wp-content/uploads/2008/11/iscsi5-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>設定はこんな感じですが、先に述べた通り最初のコネクションが<br />
すべてのデータを持っているのでこれが死ぬと復帰できなくなります。<br />
とりあえず動くところを見ないとね。</p>
]]></content:encoded>
			<wfw:commentRss>http://shell.peach.ne.jp/aoyama/archives/65/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>NEC Express5800/110Ge + WD5000AAKS + FreeBSD 7.1 ZFS/iSCSI/NFS（iSCSI/NFSの準備）</title>
		<link>http://shell.peach.ne.jp/aoyama/archives/63</link>
		<comments>http://shell.peach.ne.jp/aoyama/archives/63#comments</comments>
		<pubDate>Fri, 14 Nov 2008 23:15:35 +0000</pubDate>
		<dc:creator>aoyama</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[iSCSI]]></category>
		<category><![CDATA[ZFS]]></category>
		<category><![CDATA[ネットワーク]]></category>
		<category><![CDATA[機材]]></category>

		<guid isPermaLink="false">http://shell.peach.ne.jp/aoyama/archives/63</guid>
		<description><![CDATA[FreeBSDでは7.1の時点でshareiscsiプロパティがサポートされていません。 iSCSIターゲットはportsのiscsi-targetを手動で利用しなくてはいけません。 # cd /usr/ports/ne [...]]]></description>
			<content:encoded><![CDATA[<p>FreeBSDでは7.1の時点でshareiscsiプロパティがサポートされていません。<br />
iSCSIターゲットはportsのiscsi-targetを手動で利用しなくてはいけません。</p>
<pre id="ex"><code># cd /usr/ports/net/iscsi-target/
# make; make install; make clean
</code></pre>
<p>/etc/rc.conf</p>
<pre id="ex"><code>iscsi_target_enable="YES"
</code></pre>
<p>ZFSの領域を作成してその中にイメージを置く。<br />
/usr/local/etc/iscsi/targets</p>
<pre style="font-size: 0.9em" id="ex"><code>extent0         /tank/iscsi/iscsi-target0       0       80GB
target0         rw      extent0         192.168.2.0/24
</code></pre>
<p>iscsi-targetはZFSの設定が終るまで起動しないようにします。</p>
<pre id="ex"><code># zfs create tank/iscsi
# /usr/local/etc/rc.d/iscsi_target start
</code></pre>
<p>NFSを利用するマシンの間にファイアウォールを使う場合は、<br />
ポート番号をなにかしらに固定しないとひどい事になります。<br />
-pオプションによりポート指定ができます。<br />
なお、rpcbindは111、nfsdは2049で最初から固定です。</p>
<p>NFSサーバ側：<br />
/etc/rc.conf</p>
<pre id="ex"><code>nfs_server_enable="YES"
rpcbind_enable="YES"
mountd_enable="YES"
↓例としてポートを822に固定してみる
mountd_flags="-r -p 822"
</code></pre>
<p>libwarpを使っているrpcbindの制御を特定IPだけに許可します。<br />
ここで許可したIPでなおかつ/etc/exportsでマッチするクライアントが<br />
NFSサーバに接続できます。<br />
例では192.168.2.0/24にクライアントがいると仮定しています。<br />
（注意：インストール初期状態ではALL : ALL : allowですべてのサービスが<br />
 すべてのIPに許可されています。この行をコメント化して後の行を有効にするか、<br />
 最初から自分ですべて書きます。）</p>
<p>/etc/hosts.allow</p>
<pre id="ex"><code>rpcbind : 192.168.2.0/255.255.255.0 : allow
rpcbind : ALL : deny
</code></pre>
<p>/etc/exportsは特に設定する必要はありません。<br />
エクスポート設定はZFS上のプロパティとして設定します。<br />
（システムが動的に/etc/zfs/exportsを作成し再読込させます）</p>
<p>NFS用の各デーモンを起動しますが、依存関係があるため起動順序が重要です。<br />
わからなくなったらマシンを再起動してしまいましょう。<br />
（rcorder /etc/rc.d/* というコマンドで順番はわかります）</p>
<pre id="ex"><code># /etc/rc.d/rpcbind start
# /etc/rc.d/nfsserver start
# /etc/rc.d/mountd start
# /etc/rc.d/nfsd start
</code></pre>
<p>実際にポートマップがどうなっているのかは、</p>
<pre id="ex"><code># rpcinfo -p</code></pre>
<p>を実行するとわかります。</p>
<p>NFSクライアント側：<br />
/etc/rc.conf</p>
<pre id="ex"><code>nfs_client_enable="YES"
</code></pre>
<p>設定したら起動します。</p>
<pre id="ex"><code># /etc/rc.d/nfsclient start
</code></pre>
<p>ついでなのでsambaも入れてみた。<br />
ここではsambaの設定はメインではないので詳細は書きませんが、<br />
ゲストアクセスが必要な場合は、map to guest = Bad User のような<br />
設定をグローバルにいれて、パーミッションを設定しておく。<br />
ゲストはnobodyによるアクセスになるのでそのユーザで書込み可能にしておく。</p>
<pre id="ex"><code># cd /usr/ports/net/samba3
# make; make install; make clean</code></pre>
<p>/usr/local/etc/smb.conf</p>
<pre id="ex"><code>[global]
   workgroup = MYGROUP
   unix charset = eucjp-ms
   dos charset = cp932                

[public]
   comment = Public Stuff
   path = /tank/samba/public
   public = yes
   writable = yes
</code></pre>
<p>NFSによる/usr/portsの共有例：<br />
NFSサーバ側(hera)</p>
<pre id="ex"><code>↓nfs用の領域を作成
# zfs create tank/nfs
↓マウント位置をデフォルト(/tank/nfs)から/nfsに移動
# zfs set mountpoint=/nfs tank/nfs
↓ports用の領域を作成し、圧縮機能ONにする
（マウントは上位のtank/nfsから継承するので/nfs/portsになる）
# zfs cretae tank/nfs/ports
# zfs set compression=on tank/nfs/ports
↓sharenfsでNFSの共有設定を指定する（/etc/exportsと同じ書式）
# zfs set sharenfs='-maproot=root -network 192.168.2.0 -mask 255.255.255.0' tank/nfs/ports
↓自分自身でマウントして最新portsを作成する
# mount hera:/nfs/ports /usr/ports
# portsnap fetch
# portsnap extract
</code></pre>
<p>NFSクライアント側</p>
<pre id="ex"><code>↓普通にマウントするだけ
# mount hera:/nfs/ports /usr/ports
</code></pre>
<p>ZFSボリュームの作成例（ZILがあると低速でまともに使えない）：</p>
<pre id="ex"><code>↓4GBのボリューム作成（4GBの領域をストレージプールから予約）
# zfs create -V 4G tank/swap
↓作成したボリュームをスワップとして使って見る
# swapon /dev/zvol/tank/swap
↓起動時に自動マウントする為にプロパティを設定
# zfs set org.freebsd:swap=on tank/swap
↓不足するならいつでも領域拡大可能（ここでは8GBに拡大）
# zfs set volsize=8G tank/swap
</code></pre>
<p>※現バージョンでは/dev/zvol/への連続書込みは、<br />
ボリュームブロックサイズ？の128kB毎にログ(ZIL:ZFS Intent Log)の<br />
コミットが常時発生する為にとてつもなく遅いです。<br />
（デフォルト設定を安全側にするのは悪くない）<br />
もしも予期せぬサーバダウン時に更新が消失してもいいなら、</p>
<pre id="ex"><code>vfs.zfs.zil_disable=1</code></pre>
<p>を/boot/loader.confにいれるとZILが無効になります。<br />
ZFS自体は上書きしないトランザクション仕様なので、旧データが残るか<br />
新データに変わるかのどっちかになるはず。<br />
ZILは新データになるのを保証するって認識だけどよく理解できていません。</p>
<p>実際にWS2008からiSCSIで接続して書込みしてみると、<br />
4GB搭載して空きメモリ1.8GB、CPU使用率96%、<br />
I/O速度21MB/s x6台、平均書込速度59MB/s<br />
どうみてもCPUパワーが足りていません(汗)</p>
<p>（zpool iostat と systat -vmstatの結果）</p>
<pre id="ex"><code>               capacity     operations    bandwidth
pool         used  avail   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
tank         180G  2.55T      8     41   634K  3.95M
tank         180G  2.55T     14    505  1.77M  58.6M
tank         181G  2.55T     21    632  2.61M  73.4M
tank         182G  2.55T     27    443  3.39M  50.7M
tank         183G  2.55T     40    436  4.93M  50.6M
tank         184G  2.55T     26    457  3.30M  53.6M
tank         185G  2.55T     21    655  2.62M  76.0M
tank         186G  2.55T      8    434  1.03M  50.7M
tank         186G  2.55T     49    505  6.11M  59.5M
tank         187G  2.55T     46    541  5.73M  63.9M
tank         188G  2.54T      9    546  1.17M  63.0M
tank         189G  2.54T     49    493  6.08M  57.9M                  

Mem:KB    REAL            VIRTUAL                       VN PAGER   SWAP PAGER
        Tot   Share      Tot    Share    Free           in   out     in   out
Act   21796    5956   112032     7464 1806084  count
All  990604   13348  4368244    26004          pages
Proc:                                                            Interrupts
  r   p   d   s   w   Csw  Trp  Sys  Int  Sof  Flt        cow    7789 total
  2          40       16k   20 3621 5788  126             zfod        atkbd0 1
                                                          ozfod       atapci0 16
92.0%Sys   3.2%Intr  0.7%User  0.0%Nice  4.0%Idle        %ozfod  2090 atapci1 17
|    |    |    |    |    |    |    |    |    |    |       daefr  1999 cpu0: time
==============================================++          prcfr  2294 em0 irq256
                                         5 dtbuf    57771 totfr  1406 em1 irq257
Namei     Name-cache   Dir-cache    100000 desvn          react
   Calls    hits   %    hits   %     59876 numvn          pdwak
                                     24998 frevn          pdpgs
                                                          intrn
Disks   ad4   ad6   ad8  ad10  ad12  ad14  ad16   1050624 wire
KB/t   0.00   108   106   109   109   114   113     15920 act
tps       0   208   211   205   205   193   196   1088832 inact
MB/s   0.00 21.82 21.82 21.87 21.87 21.58 21.58           cache
%busy     0    43    43    47    44    32    40   1806084 free
                                                   204096 buf
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://shell.peach.ne.jp/aoyama/archives/63/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

