直接の原因は月次バックアップを作成中に足らなくなった為のようです。
基本的にVMローカルにZFSスナップショットを取って一時圧縮を行ってから、
まとめてscpかNFSでバックアップ領域に転送しています。
が、このまとめ作業の途中で不足していました。
とりあえず、プール容量増やした方がいいね。
直接の原因は月次バックアップを作成中に足らなくなった為のようです。
基本的にVMローカルにZFSスナップショットを取って一時圧縮を行ってから、
まとめてscpかNFSでバックアップ領域に転送しています。
が、このまとめ作業の途中で不足していました。
とりあえず、プール容量増やした方がいいね。
寝ようと思ったら流れていたので起動だけしてみた。
http://www.seil.jp/product/lineup/seilx-86/
↓ダウンロードはこっちから。
http://www.seil.jp/download/seil-x86/
試用期間は 2010/12/01 から 2011/04/01 まで。
ESXiで起動してみる~
アーカイブを展開すると、
seilx86.vmdk
seilx86.vmx
が出てくるので、ESXiのデータストアにアップロードして、
seilx86.vmxを右クリックで「インベントリへの追加」で追加します。
仮想マシンの編集で、添付のネットワークアダプタを全部削除。
新規にアダプタを追加します。(タイプはフレキシブルかE1000で)
起動すると、ほげほげ~っとログ流れてログインになる。
admin か user で入れるらしい。(詳細はマニュアル参照のこと)
デフォルトのIPは 192.168.0.1/24 になっているので調整する。
↓こんな感じでsshを有効にする。
# interface lan0 add 192.168.2.8/24
# sshd enable
↓sshで繋がるようになったらデフォルトIPを消す。
# interface lan0 delete 192.168.0.1/24
↓設定を保存して、再起動。
# save-to flashrom
# reboot
※再起動の確認は[y/N]だった。てっきりry
あとはお好きにどうぞ。httpが最初から有効みたいだからアクセスするとこんな感じ。
1TBの複製に予想外の時間(60MB/s程度)がかかりましたが終了しました。
以前VT6130の実験に使ったままずっと放置されていたExpress5800/110Geに
パーツ補強をして、仮運用のESXiマシンを作成しました。
とりあえずistgtの実験とESXi用サーバを導入するまでのつなぎと言うことで。
Express5800/110Ge
BIOS 1.0.0042
CPU Celeron E3400 (Dual-Core/2.6GHz/L2 1MB)
メモリ 4GB
HDD なし
NIC1 82566DM-2 (onboard)
NIC2 PRO/1000 PT Server Adapter
NIC3 GBE-PCIe2 (VT6130)
NIC4 PRO/100 Management Adapter
iSCSIターゲットはistgt 20100604版(非公開)にて180GBを割り当てました。
NICは種類をみれば想像はつくかもしれないけど、
NIC1とNIC2をiSCSI用に、NIC3を管理用に、NIC4を外部接続用に
それぞれ割り当てました。
補足:
iSCSIターゲットの容量が不足した場合でもストレージプールの余裕があれば、
istgtの設定を増加して、サービスの再起動をすればESXi側はいつでも拡張
できます。(もちろん仮想マシンを起動したままで)
追記:
20100606版をアップしました。
上記環境も20100606版に移行しました。
昨日、セカンダリネームサーバおよび当ブログを実行させているサーバの
メンテナンスを行いハードディスク・ネットワークカード増設や仮想化への
準備を行いました。現在仮運用中です。
本日ネットワーク機器の臨時メンテナンスの為に、21:15~22:10まで
IPv6を含む外部接続が不安定になっていました。
現在は、サービスの再起動を確認しています。
また、明日の早朝にバックアップサーバのメンテナンスを行う為に、各サーバの
スナップショット作成や転送等で一時的にネットワークが繋がりにくくなったり
遅延するかもしれませんがご了承ください。
Intel iSCSI Remote Boot Setup Utility 14.7(10/23/2009) に含まれる
ISCSIUTLでカードを更新すると2.3.81になりました。
このバージョンにてブートしようとするとistgtのログに
>istgt_iscsi.c:3635:istgt_iscsi_transfer_out: ***WARNING*** lun(0×7457809901000002)
こんな感じのログが大量に吐き出されます。
よくよく考えると、警告ログを省略する手段が存在しない。
(トレースログの変更は可能ですが)
警告の内容自体は動作に影響を及ぼすものではないので無視できます。
まぁ、警告が出る時点でistgtがダメなのかもだけど変更できたほうがいいかも。
Intel PRO1000/PT Server Adapter(2.3.81) + Windows Server 2008 R2
のディスクレスブートを確認しました。
VirtulBOX 3.0.12でiSCSIディスクが認識し、VM起動ができる事を確認しました。
istgt-20091124がportsにコミットされました。
portsnap/potrtupgrade等でどうぞ。
FreeNAS方面は別記事にします。
更新>MCS/64bitLBA/仮想DVD/仮想テープパッチ 2009/1/22版
仮想デバイスの構想一ヶ月、メディアの交換が正常にできずに悩むこと一週間あまり、やっと動くようになったので公開します。
記念すべき今年初のリリースです。
何か要望とかあればブログコメントでもメールでも構わないのでよろしくお願いします。
マルチパスの対応は都合によりしばらく凍結します。
またZFS/IPv6/64bitLBA以外の問題は後回しにします。
当面仮想デバイスの開発調整を最優先事項とします。
とりあえず実行速度よりロジック優先で作成してあります。
まずは仮想CD/DVDROMと仮想テープドライブ(DLT8000を想定)をリリースします。
現時点でバックアップリストアの基本動作確認のとれたソフトは
Windows 2000 Sever SP4 添付のWindowsバックアップ
Windows Server 2003 R2 添付のWindowsバックアップ
Symantec BackupExec 12.5 for Windows Server
FreeBSD 7.x の tar/mt コマンド
GNU tar 1.20 マルチボリューム
BackupExecに関してはiSCSI接続後にホットスワップ対応デバイスウィザードを
実行する事によりデバイスプールに追加できます。
※注意事項※
DLT8000が解釈できないコマンド類はエラーとしてsyslogに記録されますがテープの動作は行います。
現在の所、制御ポート経由(telnet等)で任意のターゲットのメディア操作が出来てしまいます。
それにしてもサイズがすんごい大きくなった。
パッチ元はFreeBSDで利用されてないコードを含めても2万行もないのに
仮想DVDと仮想テープドライブ対応だけで9千行を超えてサイズも500kに達してる。
もはやパッチレベルの範疇を超えてる気が。
そして、インストールテスト中に気が付いたけど制御コマンドのインストールとか
まったく考えてなかった(涙)とりあえず手動コピーでよろしく。
今後の予定もとい導入したほうがよさそうな事?
☆メディア制御をもうすこし賢い方法にする。
☆SCSIパススルーデバイスを追加する。
☆USBメモリ等のリムーバブルデバイスにも対応する。
☆デバイスのホットスワップに対応する。
☆複数のメディアスロットをサポートする。
☆複数イニシエータからの接続を可能にする。
☆マルチパスを考慮する。
パッチファイル: iscsi-target-20090117-patch.bz2
更新版をご利用ください。
# cd /usr/ports/net/iscsi-target
# make clean
# make patch
# bzcat < /path/to/iscsi-target-20090117-patch.bz2 | patch -p0
# make
# make install
#
# cp -p work/netbsd-iscsi-20080207/src/istgtcontrol /usr/local/bin/
#
手動でメディア制御コントローラーをインストールしてください。
これは仮想DVDやテープの取り出し交換などに使います。
設定例は以前の投稿をどうぞ。
新しい機能:
targetsファイル内のlengthカラムで加減算で一個だけ追加指定できます。
ZEPTGMKのサフィックスも合わせて利用できます。
1023MBの指定例: 1GB-1MB (=1024MB-1MB=1023MB)
1025MBの指定例: 1GB+1MB (=1024MB+1MB=1025MB)
targetsファイル内の各targetにデバイス固有値を指定できます。
type 仮想デバイスのタイプ
disk SBC-2準拠 Direct access block device
dvd MMC-4準拠 CD/DVD device (現在はRead系のみ)
tape SSC-2準拠 Sequential-access device
id 仮想デバイス識別子
1~2147483647(重複不可)
省略時はtype=disk,id=自動採番(0×0100~)と解釈します。
現時点ではidは装置シリアル番号の下位4桁に利用しています。省略可能です。
targetsファイルでリムーバブルメディアを定義できます。
type メディアタイプ
iso ISOイメージ
tape 仮想テープイメージ
flags メディアフラグ
rw 読み書き用とします。
ro 読み込み専用とします。(ライトプロテクト状態でイニシエータに応答)
extend メディアの末尾まで書き込みした場合に可能であれば256MB単位で拡張します。
dynamic メディアの書き込み状況に応じて可能であれば拡大縮小します。
メディアを読み書き用にしてもtarget指定がroならば書き込み不可能です。
メディアサイズの拡大縮小はtype=tapeのみサポートします。
dynamicを指定した場合はメディアの長さ指定は意味がありません。
現時点ではidカラムは特に利用していません。省略可能です。
※targetsの書式は将来変更する可能性があります
# 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
#
制御用ポートとしてiSCSIターゲットポートの次の番号でオープンするようになりました。
デフォルトのiSCSI標準ポートは3260なので制御ポートは3261になります。
既知の問題:
iSCSIで接続しても正常に通信出来ずにPnPデバイスとして認識しない事があります。
(一度iSCSI接続をログアウトして再接続すると認識されます)
仮想テープの入出力にエラーが発生した場合、以後の書き込みができない可能性があります。
(メディアを一旦取り出して再挿入すると認識するかもしれない)
極端に小さい論理ブロック長でテープに大量に書き込むと論理ブロック数が不足する可能性があります。
(内部的には64ビットですが現時点の対応ポジション変更系コマンドが32ビットなので)
メディア交換した直後にエラーなどが発生する可能性があります。
(ターゲットから非同期通信を行わない為、イニシエータがポーリングするまで内部情報が変化しない)
メディア制御用のセキュリティが特に考慮されていない。
メディア制御用コマンド istgtcontrol が自動でインストールされない。
いわゆる仕様:
仮想デバイスは利用時(コマンド実行時)ロックのみでリザーブ・リリースに対応していない。
(複数イニシエータからはもちろん、単機のマルチパス接続も想定していない)
仮想デバイスのホットスワップには対応していない。
テープドライブの圧縮機能は実装していない。
単一の書き込みメディアを複数の仮想デバイスに装着した場合の動作は未定義。
メディアのアンロードを行ってもメディアスロット内に残留するので次のロードで再セットされる。
動的仮想テープのハードリミット(最大サイズ)が16EBの固定になっている。
1本の仮想テープでは最大1024個のファイルマーク(BOT/EOTを含む)に限定される。
主な修正点:
LUNの計算を間違えていたのを修正しました。
違うターゲットに接続した場合に誤ってエラーが記録されるのを修正しました。
MODE SELECT(10)が正常に動かないのを修正しました。
MODE SENSE(6)(10)がショートモードで正しいブロック数を返さないのを修正しました。
数値指定で加減算表記をできるように変更しました。
マルチターゲット仕様のために内部データ構成を変更しました。
tagetsファイルの定義を拡張しました。
SCSIエラー時にセンスキーやASC/ASCQを返すようになりました。
SSC2/MMC4のデバイスエミュレーションに対応しました。
オーバーフローとアンダーフローをiSCSI PDUに返すように修正しました。
メディアの拡大縮小を考慮するように変更しました。
パッチ元のオリジナルに存在するバグを多数修正しました。
メディア制御用スレッドを新設しました。
スレッドの作成結果を調べていないバグを修正しました。
メディア制御コマンドが新設されました。
~メディア制御のしかた~
まず、制御対象がローカルホストであり、上記の設定がされていると仮定すると、
target3のDVD装置にはメディアスロットmedia31が付いていて、
/tank/iscsi/dvds/7.1-RELEASE-i386-disc1.iso が挿入されている状態になります。
このメディアを排出するにはOS上から取り出しを実行するか、以下のコマンドで行います。
(コマンド行が長いので複数行に書きますが実際は一行です)
# istgtcontrol -t iqn.1994-04.org.netbsd.iscsi-target:target3 -m media31 unload
この状態はトレイ式DVDドライブのトレイが開いた状態に相当します。(メディア変更なし)
以下のコマンドでトレイを閉めると同じメディアが読み込みされます。
# istgtcontrol -t iqn.1994-04.org.netbsd.iscsi-target:target3 -m media31 load
メディア自体を交換するにはファイルを指定します。追加でフラグとサイズも指定できます。
# 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
ここで指定するファイル名は制御ターゲットサーバにある実際のパスです。
今のところリモートメディアをマウントする事はできません。
フラグとサイズの省略時はrwとautoになります。
空白文字を含むファイル名はもちろんクオートしてください。
このコマンドを実行すると現在のメディアをunloadしてメディアを交換した後に
loadするという一連の作業を排他ロックをかけた状態で行います。
不幸にしてロードに失敗した場合は可能ならunload状態で終了します。
成功するにしても失敗するにしてもコマンドが終了するまではOSなどからアクセスはできません。
現在のメディア状態をみるには、以下のコマンドを使います。
# istgtcontrol -t iqn.1994-04.org.netbsd.iscsi-target:target3 -m media31 list
実行例:
# 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
以上の操作をリモートから実行するには -h オプションでターゲットホストを指定します。
新年あけましておめでとうございます。
今年もよろしくお願いいたします。
昨年を振り返ってみると、Hyper-Vのパッチを公開してからアクセスが急激に伸びました。
FreeBSDでも興味ある人はそこそこいるのだなと(笑)
むろん海外からもアクセスされるようになったのも一因でしょうけど、
こんな場所でもアクセスして頂けるのはありがたい。
↓統計はこんな感じ。ちなみに検索キーワードはfreebsd,iscsi,hyepr-v,zfsとなってました。
そのHyper-Vによってテスト環境構築の手間がすごい削減されました。
VirtualServerに幻滅していただけにちょっとだけ見直した。
ZFSとかもっと触りたかったのだけど後半はiSCSIパッチだけに集中していたので、
あまりできなかった。残念。↓去年解決できなかった機能のスクリーンショット。
リームバブルメディアをどうやって簡単に出し入れするのかとか、
一度挿入されたメディアは不測の再起動でも永続的に使えるようにするとか、
考慮することが多すぎて(略)
この機能をなんとする為に複数動かせるように改造してたり(笑)
Hyper-VでのVM用のシステムディスク領域には20081225パッチ版でのMCS接続で安定して動いています。
上記画像の2003自体もこのiSCSIディスク上に容量可変で構築してあります。
今年も引き続きiSCSIとZFSを中心に活動していけたらと思います。
機能UP更新>MCS/64bitLBA/仮想DVD/仮想テープパッチ 2009/1/17版
今年最後のパッチリリースです。
ただいま将来の拡張に向けていろいろ準備中です。
ライトキャッシュの操作を揮発性(iscsi-targetを終了するまで)ですが
変更できるようになりました。
パッチファイル: iscsi-target-20081225-patch.bz2
# cd /usr/ports/net/iscsi-target
# make clean
# make patch
# bzcat < /path/to/iscsi-target-20081225-patch.bz2 | patch -p0
# make
# make install
新しいコマンドラインオプション:
-C 同一ターゲットへの接続コネクション数(デフォルト8)
-P 接続可能なポータルのIPアドレス(セミコロン区切り)
-A Discoveryセッションにも認証を強制する(デフォルトなし)
-a <path> 認証用データファイル(デフォルト /usr/local/etc/iscsi/auths)
-i <path> 作成するPIDファイル(デフォルト /var/run/iscsi-target.pid)
※IPv6で指定する場合は[]付きでIPv6アドレスを書きます。
新しい機能:
64ビットLBAを用いて最大8ZB(2^64(16E)x512B)まで対応できます。
いまのところZFS以外のファイルシステムをサポートする予定はありません。
2TB以上はGPT(GUIDパーティションテーブル)を使えるOSが必要です。
認証ファイル及びPIDファイルを個別に指定し複数のポートで起動できます。
認証なしで探索(Discovery)セッションを通さないモードが選択できます。
MCS(Multiple Connections per Session)機能により複数コネクションで
同一のターゲットに接続可能になります。
ダイジェスト機能(CRC32によるデータチェック)を有効にできます。
データダイジェスト=ディスクへの読み書きデータなどに有効。
ヘッダダイジェスト=iSCSIプロトコルヘッダに有効。
targetsファイル内のネットマスクをセミコロン区切りで複数指定できます。
ネットマスク指定で/以降を省略するとIPv4は/32、IPv6は/128とみなします。
targetsファイル内のflagsカラムにターゲット接続(ログイン)時の
認証とダイジェストを強制するフラグを指定できます。
auth 認証を必要とします。 digest データおよびヘッダダイジェストを必要とします。 headerdigest ヘッダダイジェストを必要とします。 datadigest データダイジェストを必要とします。
targetsファイル内のsizeカラムにペタバイト、エクサバイト、ゼタバイトの
短縮形としてP, E, Zが利用できます。
それぞれ、PB=1024TB, EB=1024PB, ZB=1024EBとして計算されます。
targetsファイル内でクォート文字(“と’)により空白文字を
文字列の一部として扱えます。
認証情報は/usr/local/etc/iscsi/authsに書きます。
Microsoft iSCSI Initiator が相手の場合はシークレットを
12文字以上16文字以下で指定します。
相互認証を有効にできます。
認証情報は/usr/local/etc/iscsi/authsに書きます。
相互認証キー(ユーザ名)はターゲットのIQNになります。
IPv6のリンクローカルアドレスでの接続を考慮します。
いわゆる仕様:
全てのIPアドレスが同じポート番号でグループ1のネットワークポータルになります。
ポート番号は従来の-pオプションで変更可能ですがグループ番号は固定です。
ダイジェストエラーになった場合にTCP接続の強制終了を第一選択肢にする。
デバイスの最大容量(LBA)が符号付64ビット(2^63=8EB)に制限されています。
主な修正点:
SCSIのライトキャッシュを切られたらO_FSYNCを設定するように修正しました。
シグナル処理用スレッドを新設しました。(処理は未実装)
SIGTERM/SIGINTに対してシャットダウン処理を行うように修正しました。
~参考設定~
ターゲットにはしばらくブログに書いてきたExpress5800/110Geに
Intel PRO 1000/PT Desktop Adapter を増設して利用しました。
ホストはWindows Server 2008に同型カードを挿しました。
それぞれのカードのIPアドレスを別のネットワークにして、
スイッチングハブをそれぞれに独立して接続します。
(参考設定ではIPv4に192.168.2.0/24と192.168.3.0/24を、
IPv6に2001:380:e00:42::/64をルータ広告で利用)
ターゲット側(FreeBSD 7.1):
/etc/rc.conf
ifconfig_em0="inet 192.168.3.36 netmask 255.255.255.0"
ifconfig_em1="inet 192.168.2.36 netmask 255.255.255.0"
ipv6_enable="YES"
iscsi_target_enable="YES"
iscsi_target_flags="-s 32 -C 8 -P '192.168.2.36;192.168.3.36;[2001:380:e00:42:21f:d0ff:fe16:38bd]'"
/usr/local/etc/iscsi/targets
# 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
/usr/local/etc/iscsi/auths
# CHAP secret
# name:type:secret
iqn.1991-05.com.microsoft\:ceres:CHAP:1234567890123456
#
ホスト側(Windows Server 2008):
オンボードLANに192.168.2.33/24を、
Intel PRO 1000/PTに192.168.3.33/24を割り当てました。
ここではIPv4による画像のみ掲載しますがIPv6でも同様に接続できます。
ターゲットへログオンするときに[詳細設定]でローカルアダプタ、ソースIP、
ターゲットポータルを指定します。
必要に応じてダイジェストにチェックを付けて有効にします。
(指定しなくてもターゲット側で強制していれば自動的に有効になります)
接続に認証が必要な場合は指定します。
相互認証が必要な場合は、予め双方に設定した上で指定します。
接続できたら、[詳細]でターゲットのプロパティを開きます。
セッションタブの[接続]を押します。
[追加]を押します。
ソースIP、ターゲットポータルを別のものを指定します。
必要に応じてダイジェストおよび認証を指定します。
負荷分散ポリシーを適当に変更します。
~相互認証の参考設定~
相互認証を実施するにはイニシエータにシークレットを設定して、
その設定をターゲット側にも設定します。
(通常のCHAPシークレットの設定も必要です)
認証ファイルの検索キー(ユーザ名)はターゲットのIQN(iSCSI Qualified Name)に固定されています。
ターゲット側(FreeBSD 7.1):
相互認証データは通常の認証ファイルと同じになっていますので、
追加して書きます。
/usr/local/etc/iscsi/auths
# mutual authentication
# name:type:secret
iqn.1994-04.org.netbsd.iscsi-target\:target1:CHAP:testchaptest1234
#
イニシエータ側(Windows Server 2008):
iSCSIイニシエータのプロパティで全般タブの[シークレット]を押します。
12文字以上16文字以下でシークレットを設定します。
~2TB以上の容量~
Windows Server 2003以降またはWindows Vistaが必要です。
Windows 2000やWindows XPで利用する場合は2TB(2097152MB)未満にします。
大容量ドライブの利用についてはこちらも参照してください。
http://shell.peach.ne.jp/aoyama/archives/191
更新>MCS/MPIO/64bitLBAパッチ 2008/12/25版
iscsi-targetの内部構造もだいぶ理解できたので、
簡易同期機能を廃止してまともに追従するようにしてみました。
パッチファイル: iscsi-target-20081223-patch.bz2
更新版をご利用ください。
# cd /usr/ports/net/iscsi-target
# make clean
# make patch
# bzcat < /path/to/iscsi-target-20081223-patch.bz2 | patch -p0
# make
# make install
設定例は以前の投稿をどうぞ。
主な修正点:
メディアの境界チェックが甘かったのを修正しました。
ソースコードの切り分け定義名を変更しました。
従来のMCS簡易同期機能を廃止してより正確に追跡するようになりました。
再接続時にクラッシュする事があったのを修正しました。
更新>MCS/MPIO/64bitLBAパッチ 2008/12/25版
IPv6のリンクローカルアドレスで接続した場合も処理できるようになりました。
複数のiscsi-targetを起動した場合でも使えるように、
認証ファイル及びPIDファイルを個別に指定できるようになりました。
認証なしで探索もできないモードをつけてみました。
64ビットLBAを用いて最大8ZB(2^64(16E)x512B)まで対応できるようになりました。
(FreeBSD7.1/i386においては符号付64ビット処理の関係で実質8EBが限界)
いまのところZFS以外のファイルシステムをサポートする予定はありません。
ゼタバイト~ヨタバイトのファイルが問題なく作れるようになったら考えるかも?
Windowsで2TB以上のデバイスを利用する場合はGPTが必要になるので、
Windows Server 2003以降またはWindows Vistaが必要です。
2TB以上でブートするには64ビット版 Windows Server 2008または
64ビット版 Windows Vistaが必須ですが未確認です。
Windows 2000やWindows XPで利用する場合は2TB(2097152MB)
未満にします。
~参考URL~
MS WHDC:GPT ドライブを使用する
http://www.microsoft.com/japan/whdc/device/storage/GPT-on-x64.mspx
MS TechNet:GUID パーティション テーブル
http://technet.microsoft.com/ja-jp/library/cc773223.aspx
MS Support:1 ボリュームのサイズが 2 TB 以上のシステム パーティションから Windows Vista を起動できない
http://support.microsoft.com/kb/946557/ja
MS Support:Windows Server 2003、Windows XP、および Windows 2000 で Diskpart.exe を使用してデータ ボリュームを拡張する方法
http://support.microsoft.com/kb/325590/ja
2TB以上のデバイス利用時の注意点:
現時点のWindows Server 2008はGUI上の表示が2147483648MBに
制限されます。
これは2PB(=2048TB)に相当します。
2PB以上のデバイスはdiskpartコマンドラインユーティリティで動くようですが
未確認です。
パッチファイル: iscsi-target-20081221-patch.bz2
更新版をご利用ください。
# cd /usr/ports/net/iscsi-target
# make clean
# make patch
# bzcat < /path/to/iscsi-target-20081221-patch.bz2 | patch -p0
# make
# make install
設定例は以前の投稿をどうぞ。
新しいコマンドラインオプション:
-A Discoveryセッションにも認証を強制する(デフォルトなし)
-a <path> 認証用データファイル(デフォルト /usr/local/etc/iscsi/auths)
-i <path> 作成するPIDファイル(デフォルト /var/run/iscsi-target.pid)
新しい機能:
targetsファイル内のsizeカラムにペタバイト、エクサバイト、ゼタバイトの
短縮形としてP, E, Zが利用できます。
それぞれ、PB=1024TB, EB=1024PB, ZB=1024EBとして計算されます。
設定ファイルでクォート文字(“と’)により空白文字を文字列として扱えます。
リンクローカル設定例:
実際に設定する場合はifconfigでアドレスを確認すること。
/etc/rc.conf
ipv6_enable="YES"
iscsi_target_enable="YES"
iscsi_target_flags="-s 32 -C 8 -P '192.168.2.36;[fe80::290:ccff:fee9:48c9]'"
/usr/local/etc/iscsi/targets
# 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
既知の問題:
長時間ターゲットからの応答がないとWindowsがクラッシュすることがあります。
いわゆる仕様:
全てのIPアドレスが同じポート番号でグループ1のネットワークポータルになります。
ポート番号は従来の-pオプションで変更可能ですがグループ番号は固定です。
ダイジェストエラーになった場合にTCP接続の強制終了を第一選択肢にする。
デバイスの最大容量(LBA)が符号付64ビット(2^63=8EB)に制限されています。
主な修正点:
オリジナルのバグを修正しました。
Discoveryセッションに認証を強制するオプションを追加しました。
リセットが必要ない場所でリセットしていたので修正しました。
リンクローカルアドレスを処理するように修正しました。
認証ファイル及びPIDファイルを指定できるように修正しました。
LOパラメータを維持できるように修正しました。
LBA4294967040以降にアクセスできない問題を修正しました。
SCSIコマンドのMODE SELECT(6)に応答するようにしました。
SCSIコマンドのMODE SELECT(10),MODE SENSE(10)に応答するようにしました。
SCSIコマンドのREAD CAPACITY(10)をLongLBAに対応しました。
SCSIコマンドのREAD CAPACITY(16)に応答するようにしました。
SCSIコマンドのSYNC CACHE(16)に応答するようにしました。
SCSIコマンドのREAD(12),WRITE(12),WRITE VERIFY(12)に応答するようにしました。
SCSIコマンドのREAD(16),WRITE(16),WRITE VERIFY(16)に応答するようにしました。
ストレージ容量定義にZEPの単位を追加しました。
コンフィグファイルでクォートを解釈するようになりました。