SheevaPlugにLinux SCSI target framework (tgt)をインストールしてiscsiのtarget(サーバ)にしてみたのですが、ちょっと問題があったのでメモ。
- >NIL:'s Techno Feats: Using the SheevaPlug as an iSCSI target for Vista
- Ubuntuのiscsi(tgt)を使ってMacのディスクにしてみたメモ (blog@browncat.org)
上にあるSheevaPlugにiscsiを入れる記事ですが、そのままだとインストールはできるもののtgtadmするとどうもサーバが落ちてしまってうまく動きません。適当にgdbで落ちてる箇所を特定してパッチを当ててみると無事動いている模様。
インストール手順
- SheevaPlug自体に開発ツールその他が入っていること
- sudo apt-get install libconfig-general-perl
- Linux SCSI target framework (tgt) projectからtgt-1.0.7.tar.gzをダウンロード
- 適当なディレクトリで展開
tar xvfz tgt-1.0.7.tar.gz - cd tgt-1.0.7
- usr/util.cの145行目 (str_to_open_flags()の頭のあたり)に以下の2行を追加
if (!buf)
return 0;
- make ISCSI=1 && sudo make install
- tgt-adminにMOIMOIさんのパッチ適用
gist: 459680 - GitHub
これでインストール完了。
動作確認
- sudo tgtd
- sudo tgtadm --lld iscsi --op new --mode target --tid 1 -T iqn.2010-08.com.yourdomain.plugserver:storage.fserver.data
- sudo tgtadm --lld iscsi --op new --mode logicalunit --tid 1 --lun 1 -b /dev/sda
- sudo tgtadm --lld iscsi --op show --tid 1
- なにやらディスクの情報が見えるはず
これで適当にクライアントからつないでみると動いていると思います。この時点ではiqn...はもっと短い適当な名前でもOK。
設定ファイル作成
tgtadmでの設定はサーバを落とせば消えてしまうのでconfigファイルを以下のように作成。
file: /etc/tgt/targets.conf
default-driver iscsi
<target iqn.2010-08.com.yourdomain.plugserver:storage.fserver.data>
driver iscsi
backing-store /dev/sda
incominguser <user-name> <your password>
</target>
ちなみにiqnから始まるディスクの名前っぽいのはiscsiネームというもので世界的にユニークな必要があるらしい。iqn.取得日付.domain.server:disk...という感じのネーミングとのことらしい。ローカルオンリーなら問題なさそうだが一応それっぽく書いておくのがいいかもしれません。
起動時に有効になるように
initスクリプトを自分で書けばいいのだが手抜き。/etc/rc.localに以下の二行を追加
tgtd
tgt-admin -e --ready ALL
tgt-admin -e --ready ALL
ベンチマーク
前のエントリーと同じ条件/同じディスクを使い同じMacBook Airからxbenchのdiskテストを行った結果の抜粋。値はスコアです。
Disk Test | 7.97 |
Sequential | 4.72 |
Random | 25.69 |
前エントリーで測ったeeepc901より若干いい結果ですがほぼ誤差と思われます。SheevaPlugの1.2GhzのARMもそれなりに速いですがATOMよりは遅いでしょうからUSBディスクとネットワークの方で頭打ちになっている模様(予想の範囲)。1Gbpsの有線イーサで比べると実力差が出るかもしれません。いずれにせよカジュアルな使い方ではそれなりな性能が出ているようです。
注意点
iSCSIディスクは基本固定ディスクの扱いですので、アンマウントせずにサーバのリブート・シャットダウンやネットワークの切断などを行うとMac側も動作がおかしくなったり最悪データが失われたりします。サーバからONにしてクライアントからOFFにしていくという昔ながらの基本手順は必須。
また上で当てたパッチはかなり適当なので我ながら少し不安。いずれちゃんと追っかける予定。とりあえず数日TimeMachineディスク+データディスクにしていますが今のところ問題ない模様。