MacでiSCSI targetをネイティブに走らせるのに失敗したため、仕方なくVirtualBoxを入れてiSCSIのサーバにしてみました。Ubuntu自体の設定は特別なことはなく"tgt"を入れて普通にセットアップしただけなのですが、MacOSX側、VirtualBoxでごにょごにょが必要だったので備忘録メモ。最近VMwareではなくVirtualBoxを愛用中。ハードな使い方をしていないので結構普通に使えてます。
- Oracleのロゴになにかを感じつつVirtualBox.orgから最新版(3.2.8)をダウンロード&インストール
- Ubuntu 10.04 64bitサーバ版をダウンロード&インストール
ハード的にはMacMiniにつないだUSB又はFirewireの外付けハードディスクを一台丸ごとそのままiSCSIとしてクライアントに提供する構成。
Mac側の問題はiSCSIはディスクをinitiator(クライアント)が占有するので母艦側でマウントしてしまってはダメ。VirtualBoxではGUIからは仮想ディスクをファイルベースのものしか指定できない。ディスクを指定することもvmdk経由で可能ですが、やはりホスト側が自動マウントしては問題があります。ということで。。
iSCSIで使うディスクのMacOSXの自動マウントを禁止
diskutil listでディスク一覧を取得。目的のディスクとパーティションを見つける
diskutil info /dev/diskXsY としてUUIDを見つける
/etc/fstabに
UUID=<your hdd's UUID> none hfs rw,noauto
などと記述する
ディスク丸ごとのvmdkファイルを作成して、raw diskの仮想ディスクを作成
VBoxManage internalcommands createrawvmdk -rawdisk /dev/diskX -filename iSCSI-DISK.vmdk -register
仮想マシンに上で作成した仮想ディスクをマウント
適当にGUIから設定。ボリュームマネージャで追加して、仮想マシンのSATAに追加(/dev/sdbなどになる)
Linuxを起動しても自動でマウントしないように。
tgtをインストールして普通に使う。
tgtの設定ファイル(/etc/tgt/targets.conf)で/dev/sdbを使うようにして起動
default-driver iscsi
<target iqn.2010-09.your.domain:stroage.fserver.data>
driver iscsi
backing-store /dev/sdb
incominguser yourname password
</target>
<target iqn.2010-09.your.domain:stroage.fserver.data>
driver iscsi
backing-store /dev/sdb
incominguser yourname password
</target>
クライアント(MacならglobalSAN等)でportal追加。
新しいディスクならフォーマットして使用。
使用感など
SheevaPlugやNetbook上のLinuxBox構成とさほど劣るわけでもなく、 速くもなくといったところです。一応HDDはFirewire 400接続の2.5inch 320GBのSATA HDDなのですが、USBと比べ微妙に速い程度でほぼ変わりありません。安定性も今のところ普通。
最近では500-1TBの2.5inchが安くなっていますよね。長時間つけっぱなしにすることが多いストレージですが、電気代ももったいないし音ももうるさいので、3.5inch HDDを徐々に減らしていこうかと思案中。