ひとりごと

新しい記事:[2411]  古い記事:[2408] 表示単位 :

ついったー[おとなり日記] かがみさん Y.Kumagaiさん

2009/01/08 (木)

・ はじめてのiSCSI

サーバの仮想化がらみで Xen Server とか VMware ESXi とかいろいろ試してるのですが、その中で iSCSI という聞きなれない言葉が出てきました。私の知ってる SCSI というと、ただのSCSIに始まってU-SCSIとかUW-SCSIとか。あとUltra2SCSIとかになるともう意味不明になっていたような。最近では S-ATA と同様にシリアル化して SAS という名称になっているのかな? 高性能らしいけど高いから使おうと思ったことはないデス。

で、iSCSIというのはその延長に存在するものじゃなくて、SCSIのプロトコルをそのままイーサネットの上に流してしまおうという企てだそうです。最近はNAS箱と呼ばれるSMBをしゃべる箱が安く売ってます。アレとよく似ているのですが、一般的なNASが「共有ドライブ」なのに対して、iSCSIは言わば「コードの長い外付けドライブ」。途中のイーサネットは「SCSIケーブルの延長コードの代わりに使ってる」といったところです。

で、お求めやすい価格として扱われているiSCSI HDDはこんなやつ。一番安いもので10万円します。高すぎて買えません(T^T)。

だけど、いろいろ探してると FreeBSD を iSCSI HDDにしてしまうという芸当もアリらしいのです。 いつものごとく ports に /usr/ports/net/iscsi-target というのがあるので、make install。 /usr/local/etc/iscsi/targets に

extent0 /var/smb/iscsi/iscsi-target0 0 10GB
target0 rw extent0 192.168.24.0/24

と記述してプログラムを動かすと、10GBのドライブが出来上がります。手元のWindows XP は iSCSI に対応していませんが、Microsoft iSCSI Software Initiator Version 2.08 を使うと、先ほど作成した場所をドライブとして扱うことが出来ます。共有ドライブと根本的に違うのは、接続後に領域確保やフォーマットを行うこと。いやはや、ホントにネットワークを通ってるのはローレベルなものなのですね。

てことで、とりあえず上の方法で作成したドライブに対して Windows からどれくらい速度がてるのか試してみました。

HDBENCH

えーと、えーと、、、? こんなに出るんですか!!?

1GBのファイルをローカルからこのドライブにコピーする時間を計ってみると実測18秒で約52MB/sなのでほぼベンチマークどおりです。その昔、MMX-PentiumなPCでは非力ゆえ100Base-TXの帯域を使い切ることが出来なかったのですが、いつのまにかギガビットな帯域でもPCで使えるようになってたのですね・・・。

うちのWindows機はドライブを2台積んでいるのですが、ディスクアクセス音がちょっとうるさいな~と思っていたのです。FreeBSDは別の部屋にあるので音は関係ないですし、Windows機を2.5インチドライブ1台構成にして デカいドライブはFreeBSDの中ってのも良いような気がしてきました。

なお、FreeBSD側のファイルは単なるディスクイメージなので、例えば

# mdconfig -a -t vnode -f iscsi-target0 -u 0
# mount_ntfs -C euc-jp /dev/md0s1 /mnt
とやれば中身が読めたりします。現在H.264エンコード用にネットワーク越しにマウントしていることがローカルだけで解決するのかな。さすがにこの状態で /mnt に書き込み出来ませんが、そもそも mount_ntfs は読込み専用ですし現在も mount_smbfs を使って read only でマウントしているから特に問題はないでしょう。Vistaだと iSCSI initiator が標準で入ってますから対応NICを使えば夢のディスクレス運用も可能なのかな?

そろそろサーバのHDDを160GBx2から250GBx2に増強したいなーと思っていたのですが、ここは一気に1TBx2にしたほうが良いような気がしてきました。

[つっこみ]

新しい記事:[2411]  古い記事:[2408] 表示単位 :
※このページへのリンクは自由です。リンクの方法については[つっこみ]で表示されるページの最後をごらんください。
たかたに(takatani@mars.dti.ne.jp)