記事の更新は少ないです…が時々コメント欄で話題を広げていたりします。楽しいコメントをいただければ嬉しいです。
(返信できないかもしれません。ご了承ください)

2010年3月23日

iSCSIを立ち上げた。

今まで何でスルーしてたんだろう,と思った。

Vista時代からiSCSIという名前は目にしていたけど,うさんくさいなー,負担かかりそうだなーと思ったりしてろくに調べもせずサービスを停止したりしていた。そのくせ,Sambaはドライブレターが面倒だな…とか思ったりしてきた。

iSCSIは伝送線にEthernet上のTCP/IPを使うSCSIと定義されてはいるものの,現時点では物理的にはネットワークインタフェースを利用し,トランスポート層はソフトウェアで実装されているものが多いそう。つまり,自宅サーバーを建てていれば,サービスの1つとしてストレージを構築できるようなのだ。

iSCSIでディスクをマウントすると,クライアントのOSからはネットワークストレージではなく,ローカルディスクとして認識される。これがSCSIたる所以なんでしょう。iSCSIをセットアップすれば,ディスクの管理ツールに新たなディスクとして現れる。クライアント(iSCSI流に言えば「イニシエータ」)は,他のローカルディスクと同様に,フォーマットだけでなくパーティションの管理まで行うことができる。

しかも!サーバー(iSCSI内の呼称は「ターゲット」)が提供しているのは1つのファイル(「エクステント」)だけ…ということは、バックアップや復元も簡単にスケジュールできるではないかっ。

ここまで調べれば導入しないわけにはいかないので、さっそくFreeBSDサーバーに導入。

先人が居られたので導入は楽だった。
http://uyota.asablo.jp/blog/2009/04/03/4222456 「FreeBSDでiSCSIを試す」
http://freebsd.fkimura.com/FreeNAS-a0.html 「FreeNASでiSCSIターゲット。」

わかる人向けに要約すると、
1)portsからnet/iscsi-targetをmake install。
2)/usr/local/etc/iscsi/target を編集。
3)/usr/local/etc/iscsi/auths, /usr/local/etc/iscsi/passwdを編集しておくとユーザー認証による不正アクセス回避ができる。Windows7のiSCSIコントロールパネルによるとIPSecで通信内容も暗号化できるらしい…が、これは試さなかった。iscsi-targetには、それらしい項目は実装されていない様子だった。
4)/etc/rc.confを編集して iscsi_target_enable="YES"を追加。
5)/usr/local/etc/rc.d/iscsi-target onestartでサービス起動。
6)Windowsのコントロールパネル→管理ツール→iSCSIイニシエーターで、ターゲットのIPや認証情報を打ち込んで、ターゲットの中のiSCSIディスクを探索する。
7)目的とするターゲットを選択して「接続」する。すると、次回からはネットワーク接続時に自動的に再接続されるらしい。ビバ自動再接続!
8)ディスクはフォーマットされていないので、管理ツール→ディスクの管理を立ち上げると、ディスクを初期化せよとのアラートが出るので、それに従いMBR形式で初期化→パーティションの作成→NTFSでフォーマットをする。
以上の8手順。

ここまでで、エクスプローラー上にはディスクとして認識されている。試しにCrystal DiskMark2.2でベンチマークをとってみた。
130Mbpsの無線LANイニシエータ上からのパフォーマンスはシーケンシャルリード4MB/s、ライト7MB/sで頭打ち。ランダム512KBもシーケンシャルと同スコアだった。ランダム4KBが2~3MBと十分に速いので、ファイル管理アプリケーションの体感速度は悪くない、というか、十分速い。bpsに直すと50Mbps程度で頭打ちになっている。リンクが300Mbpsにならないのはアンテナが2本だからかもしれませんが,もし300MでリンクすればワイヤレスUSB並の速度が出てしまうのに驚愕。

そして一番気になる1000BASE-T上でのパフォーマンスは…びっくりです。
シーケンシャルリード/ライト(MB/s)  61.2 / 73.53
ランダムリード/ライト(512KB, MB/s)  60.23 / 53.15
ランダムリード/ライト(4KB, MB/s)   11.47 / 3.943
firewall越しでもUSB2.0より速い…というか,ローカルの2.5インチより速いんですけど?

あとは,VPN経由でのパフォーマンスを測定してみたいところですが,こちらはADSLでは期待薄ですね。(NTTから遠いせいで,下り1.5M,上り800k程度しか出ていないので)
来月から光になるので,その後に測定してみたいと思います。

いやー,これは予想以上かもしれません。
自宅サーバーをもてあましてる人,やめちゃった人は試してみるといいかもしれませんよ。


ググると勉強になる単語集
CIDR 「192.168.0.0/16」などの「/16」の記法についてのルールらしい。サブネットマスクは2進数で書くと111....1000....0となっているので,サブネットマスクの記述は1の長さだけわかればよい,ということで簡略化された書き方。
例)192.168.0.0/16の場合
サブネットマスクは1111 1111 1111 1111 0000 0000 0000 0000なので
サブネットは192.168.0.1~192.168.255.254。
192.168.0.0/24の場合
サブネットマスクは1111 1111 1111 1111 1111 1111 0000 0000なので
サブネットは192.168.0.1~192.168.0.254

0 件のコメント: