PBとはなんぞと言うとただの単位です。
1PB=1024TBとテラバイトのひとつ上の単位です。
当然というか現時点でそんなアレイはそうそうないので、
スパースファイル(穴あきファイル)を使います。
さらにZFS圧縮をオンにして急激にデータが増えた場合に死に難くしました。
# zfs create -o atime=off -o compression=on tank/iscsiz
# zfs create -o atime=off -o compression=gzip-9 tank/iscsiz9
# extents file start length
extent0 /tank/iscsiz/istgt-test-2PB-1MB 0 2147483647MB
extent1 /tank/iscsiz9/istgt-test-1EB 0 1EB
extent2 /tank/iscsiz9/istgt-test-1PB 0 1PB
extent3 /tank/iscsiz9/istgt-test-2PB 0 2PB
extent4 /tank/iscsiz9/istgt-test-256PB 0 256PB
extent5 /tank/iscsiz9/istgt-test-2TB 0 2TB
extent6 /tank/iscsiz9/istgt-test-200GB 0 200GB
#
今回はターゲットの設定を上記のように行い、
WS2008(64ビット版)に持ってきました。
ディスクの初期化では必ずGPTを指定します。
そうしないと2TB止まりなので。
パーティションを作成するのですが、GUIの作成ウィザードが
MB単位で要求してくるからGB以上の計算をするのがめんどくさい。
今は単一ユニットで1TBの時代だから、
そろそろGB単位で指定してもよいのではとか思ったり。
続いてNTFSフォーマットですが、
アロケーションユニットを64Kに明示しないと失敗します。
Windows Server 2008 64ビット版で作成できるNTFS最大サイズは268435455MBです。
これは256TB(=268435456MB)-1MBですね。
試してみると2PB以上はあきらかに表示がおかしい。
よくよく見てみると、MB単位の表示部分が符号付き32ビットじゃないのだろうか(汗)
現状だとこうなる↓
GUI上の最大ディスクサイズ 2147483647MB (=2PB-1MB)
NTFS最大サイズ 268435455MB (=256TB-1MB)
#数値の計算はFreeBSD上でbcを使って行いました
さて、256TB-1MBをクイックフォーマットしたらすぐに戻ってこない。
さすがにかなり時間かかるものなのね。
接続して認識するまでだけでもデバッグログが4GB超えちゃう(汗汗)
メモリ8GBとかぜんぜん足りないいいいいいいっ。
正常マウントするのに約1分かかります。
2PBに比べたら2TBのディスクとかはかわいいものですね(笑)
さらにHyper-V用に1024GBの仮想イメージを作成する。
容量固定1TBを作成しました。
作成時間はおよそ6時間ぐらい。
スループットにして3GB/min, 50MB/secぐらいか。
作成した時の環境は
FreeBSD 7.1(2008/12/14に取得) ZFS 圧縮ON、
データ・ヘッダダイジェスト共に有効、
2本のMCSラウンドロビン接続(+管理用1本の計3系統)
(それぞれのLANにNETGEAR GS116を配備)
この時のCPU使用率はだいたい15~20%ぐらい。
作成できたらHyper-Vに設定してFreeBSD 7.1 RC1 amd64を導入します。
DHCPが・・・というコメントを頂いたので、
今回はDHCPでセットアップしてみました。
Hyper-Vマネージャでレガシーネットワークアダプタを追加して、
上記で作成した仮想HDDを追加して、仮想マシンを起動!
FreeBSDのネットワークの設定ではExtra Options to ifconfigの欄に
media 100baseTX mediaopt full-duplex
といれます。
インストール後のリセットで停止するのでタスクマネージャから終了させて、
自作パッチを適用する。
(このあたりの手順については以前の投稿1,投稿2をご覧くださいな)
FreeBSDに限って言えばVirtualServerやVirtualPCと比べるとHyper-Vの方が
だいぶ安定している感じがします。
というかVirtualServerがダメダメすぎる。
個人的印象は Hyper-V > VirtualPC >>> VirtualServer
インストールが終わったら、portsnap fecth/extractで最新portsにして
mgとかbashとかちょこっと入れてみた。
他にもいろいろやっていたらiscsi-targetが死んでしまった(汗)
ああっ、バグありますね。はい。ごめんなさいZzz。
[root@pb ~]# uname -a
FreeBSD pb.peach.ne.jp.private 7.1-RC1 FreeBSD 7.1-RC1 #0: Mon Dec 22 19:10:59 J
ST 2008 root@pb.peach.ne.jp.private:/usr/obj/usr/src/sys/GENERIC amd64
[root@pb ~]# ifconfig -a
de0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
ether 00:15:5d:02:21:1f
inet 192.168.2.166 netmask 0xffffff00 broadcast 192.168.2.255
media: Ethernet 100baseTX <full-duplex>
status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
inet6 ::1 prefixlen 128
inet 127.0.0.1 netmask 0xff000000
[root@pb ~]# df -h
Filesystem Size Used Avail Capacity Mounted on
/dev/ad0s1a 989M 412M 498M 45% /
devfs 1.0K 1.0K 0B 100% /dev
/dev/ad0s1e 989M 1.7M 908M 0% /tmp
/dev/ad0s1f 19G 1.9G 16G 11% /usr
/dev/ad0s1g 959G 58M 882G 0% /usr/local
/dev/ad0s1d 7.7G 76M 7.1G 1% /var
[root@pb ~]#






