MacでTime Machineを使ってみたいと思い、ディスクに余裕のあるUbuntu Boxをサーバにしようとnetatalkを立ち上げたりしたのですが、どうもうまくいかないので面倒になってiSCSIのサーバ(target)を立ち上げてみました。
というか、あまりに簡単に出来たので書くことがない感じですが、Mac New Comerなのでご勘弁願い、とりあえずメモ。
まずUbuntu Hardy側では
sudo apt-get install iscsitarget
sudo vi /etc/ietf.conf
Target iqn.2001-04.com.example:storage.disk2.sys1.xyzとあるところを適当に変更。
すぐ下のLUNの設定のあたりに以下のような二行の記述を追加
LUN 0 PATH=/home/<user>/test.img,Type=fileio
Alias Test
保存して終了。
とりあえず100GBほどのファイルで領域をとる。
sudo dd if=/dev/zero of=/home/<user>/test.img bs=1M count=100000
終わったら
/etc/init.d/iscsitarget restart
Mac側では詳しい説明のある以下のサイト
Mac OS X用のiSCSIイニシエータとLinuxのiSCSITarget
を参考にglobalSAN iSCSIをインストール。iSCSIなSANストレージ屋さんとはいえクライアントをフリーで配布とは太っ腹ですね。
Portalsタブで[+]を押してサーバアドレスを入れ"Refresh"するとTargetsタブにさっき作ったディスクが見えるので[Logon]してそのまま[connect]
あっさりつながったのでディスクをフォーマット。普通にディスクとして使えるようになりました。まあこんなやり方では拡張性もないしLinux側に巨大ファイルを作るのもいまいちですが、テストには十分。
ファイルの共有だけなら普通にSambaで使う方がよほど便利なのですが、設定も簡単で小細工もなしで普通にTime Machineが使えるのが利点か。起動時に自動マウントできたりとそのまま外付けHDDのように扱えてそこそこ速いのもいいところ。今回はお試しなのでストレージ側にファイルを使いましたが、専用のパーティションやLVMなんかで領域を充ててやれば下手にUSB接続のHDDをつなぐよりいいかも。
xbenchで簡単にテストした結果
内蔵120GB |
iSCSI Ubuntu/GbE/7200rpm 100GBパーティション |
|
Results | 37.82 | 38.69 |
Sequential | 65.24 | 34.26 |
Uncached Write[4k] |
59.64 / 36.62 MB/S |
63.07 / 38.72 MB/S |
Uncached Write[256k] | 63.48 / 35.92 MB/S |
59.43 / 33.62 MB/S |
Uncached Read [4k] |
65.30 / 19.11 MB/S |
12.89 / 3.77 MB/S |
Uncached Read [256k] |
74.17 / 37.28 MB/S |
154.07 / 77.43 MB/S |
Random | 26.63 | 44.44 |
Uncached Write [4k] |
9.31 / 0.99 MB/S |
13.18 / 1.40 MB/S |
Uncached Write [256k] |
62.15 / 19.90 MB/S |
102.73 / 32.89 MB/S |
Uncached Read [4k] |
64.34 / 64.34 M/S | 511.75 / 3.63 MB/S |
Uncached Read [256k] |
89.55 / 16.62 MB/S |
409.10 / 75.91 MB/S |
サーバ側はメモリが2GB載っていますし、Seagateの750GB/7200GBのそれなりに高速なHDDですが予想した以上に高速。Uncachedとあるものの、キャッシュが双方に効いているのかな?いずれにせよ十分実用に足る性能ですね。
MacMiniオンボードのSATAを引き出して高速なHDDを直接続している強者な方もおられるようですが、見た目が悪くなるがXですね。先日HGSTの250GB/5400rpm/2.5inchを軽くhdparm -tしたところ58MB/Sなんていう性能が出たのでより性能の高いと思われる320GBか7200rpmあたりに換装してみたいですね。