iSCSIターゲットの選択

マルチパス障害テストは、またもや失敗しました。
LANケーブル抜いたとたん仮想マシンが一斉に通信不可に!
抜くケーブルを間違えたのかもしれません・・・・


それは置いといて、フリーでiSCSIターゲットを構築する場合
選択肢として下記のようなものがあると思います。

  1. openfiler
  2. FreeNas
  3. CentOS + tgtd (標準添付)
  4. CentOS + IET
  5. Solaris + ZFS


長いので、詳細は続きを読むに。

1.openfiler http://www.openfiler.com/

フリーのNASサーバです。
日本語化されていないせいか、日本ではあまり人気がないようですね。
本家フォーラムではかなり活発に議論が交わされています。
iSCSI環境でしかさわっていませんが非常にコンパクトにできていて扱いやすいと思います。
XenServerでの事例以外、変な癖もありません。


ベースとなるシステムは、以前はCentOSだったようですが、今はrPathという
OSが使用されています。 http://www.rpath.com/
パッケージ管理ソフトがrpmではなくconaryという次世代版が採用されていますので
多くのrpmソフトはインストールが困難です。
conaryで用意されているソフトはコマンド一つでインストールできます。
iSCSI TargetについてはIET(iSCSI Enterprise Target)が採用されています。
基本的に改造して使うソフトではないのでopenfilerで出来ない事があるのならば
openfilerを使うべきではないと思います。

2.FreeNAS http://www.freenas.org/

こちらもフリーのNASサーバです。
Windows向けのNASとしてお手軽に利用できるので人気があるようですね。
日本語化されているのも人気の一つだと思います。
iSCSI Target機能は、仮想化環境のストレージとしてはあまり採用例を
みなかった(日米とも)ので検証もしてません・・・。
その名の通り採用OSがFreeBSDなので馴染みがなかったのも要因です。

3.CentOS + tgtd (標準添付) http://www.centos.org/

CentOSの説明は不要かと思いますがRedHat Enterprise Linuxのクローンですね。
tgtdは、CentOSに標準で用意されているパッケージで

yum install scsi-target-utils

でインストール出来ます。
次のIETをコンパイルしてインストールする例が多く見られますがtgtdはOS標準添付なので
バージョンアップや依存関係、セキュリティーパッチを管理しなくてよいのがメリットではないでしょうか?
また、tgtdは設定ファイルがないので再起動すると設定を忘れてしまい、
毎回自前のスクリプトで設定を登録しなければいけないという報告が多いですが、
実は /etc/tgtd/target.conf という設定ファイルが新設されています。
あまり複雑な設定は出来ませんが、一般設定であれば十分です。
man tgt-admin で設定サンプルを含めて詳細に記載されています。


iSCSI Targetとしての性能ですが、通常利用するには問題はありませんでした。
ただ、下記サイトでも指摘されているように一度切断されてしまったセッションを
再接続することが出来ないのでいろいろと面倒なことになります。
http://ken-etsu-tech.blogspot.com/2008/04/rhcs-iscsi-dm-mp-clvm-and-gfs9.html


あと、LUN0にArray Controllerというものが表示されるのですがESXサーバでは、
Targetのスキャンをするたびに増えていきます(笑)
LUN0 Array Controller
LUN1 Disk
LUN2 Array Controller
LUN3 Array Controller
.....(スキャンするたびに1つずつ増えます)
再起動すれば消えるので問題はないのですが気持ち悪いです。

4.CentOS + IET http://iscsitarget.sourceforge.net/

CentOSを利用したiSCSI Targetとしては一番報告例が多いのではないでしょうか?
IETはopenfilerでも採用されているように広く使われていて情報が多いのがメリットです。
デメリットは、3でも指摘したようにメンテナンスを自分でしなければいけない点では
ないでしょうか?
仮想化環境におけるiSCSI Targetでは再起動すら大仕事になりますので設定ミスで
動作しないといったトラブルは致命的になります。

5.Solaris + ZFS http://jp.sun.com/practice/software/solaris/

iSCSIにとって最適といわれるZFSを標準サポートする唯一のOSです。
ZFSはFreeNASでも利用できるようになってきているようですがまだまだ
実験扱いのような感じですので本番環境での採用は躊躇してしまします。
ZFSLinux用に公開すれば爆発的に広まるでしょうがSolarisの優位性が
なくなってしまうので手放さないのでしょうね。
iSCSI Targetも標準添付ですのでメンテナンス性もばっちりです。
ただ、情報が少ない。トラブルに対する対処法を探すのに苦労します。
結局、インストールはしたのですがパフォーマンステストをする前に
あきらめてしまいました。
DELLがサポートしていないというのも要因でしたが、実験的にiSCSI
利用したいのなら一番おもしろい選択肢ではないでしょうか?



以上、だらだらと記載しましたがどれも十分な機能や信頼性はもって
いるのではないかと思います。
利用環境や自分のスキルによって優先順位が変わると思いますので
気になったものを試してみるといいのではないでしょうか?
ちなみにopenfilerを採用するに当たっては下記を重視しました。

  • 再起動したくない、メンテナンスしたくない
  • 安定性重視、性能はそこそこあればよい
  • マルチパスが利用できる
  • できればLinux、特にCentOS系がよい
  • OMSAが利用できる(動作中のRAIDの再構築、復旧作業)

結局最後の二つは妥協するしかなかったのですが。