2008/10/20

iSCSIターゲット(CentOS)とiSCSIイニシエーター(MacOS)のインストール

iSCSIはEthernet上でSCSIプロトコルのやりとりを行うことで、安価なEthernetの機器を利用してSANを構築することができるものです。
今回はそのiSCSIの環境を構築してみたいと思います。
ちなみにiSCSIのディスク(サーバー)に相当するものがターゲット、クライアントに相当するものをイニシエータと呼びます。

ちなみに、ターゲットとイニシエータは多くは1対1で利用します。
複数から接続する場合は、それに対応したファイルシステム(GFS,OCFSなど)が必要です。
これは普通のSCSIと同じですね。

まず、iSCSIターゲットのインストールをします。
LinuxではiSCSI Enterprise Targetというものがあるので、これを使用します。
下記の手順でインストールすることが可能です。
途中openssl-develを求められたので、インストールしていない場合はyumで導入しておきます。
KSRCには今起動しているカーネルのソースツリーを指定します。
カーネルソースが入っていない場合もyumで導入しておきます。
# wget http://nchc.dl.sourceforge.net/sourceforge/iscsitarget/iscsitarget-0.4.16.tar.gz
# tar xzvf iscsitarget-0.4.16.tar.gz
# cd iscsitarget-0.4.16
# make KSRC=/usr/src/kernels/2.6.18-92.1.13.el5xen-i686/
# make KSRC=/usr/src/kernels/2.6.18-92.1.13.el5xen-i686/ install

次に設定を行います。
今回はテストなので、適当なイメージファイルを作成します。
# dd if=/dev/zero of=/tmp/test.img bs=1M count=1024

次に設定ファイルの/etc/ietd.confを編集します。
Targetから始まる行を削除し、以下のように記述します。
iqnから始まる部分は環境によって読み替えてください。
Target iqn.2008-10.com.hirokikana:storage.test
Lun 0 Path=/tmp/test.img,Type=fileio


最後にiSCSIターゲットを起動します。
# /etc/init.d/iscsi-target start
# chkconfig iscsi-target on

これでインストール完了です。

ひとまずMacにイニシエーターをインストールして動作確認しました。
MacのイニシエーターはglobalSAN iSCSI Initiator for OS Xを使用しました。
公式サイトからダウンロードしてきて、あとは普通にインストールします。
インストール後OSの再起動が必要です。

再起動後、システム環境設定にglobalSAN iSCSIの設定項目が追加されています。
メニューのPortalsを選び、下の+マークを押すとホスト名を入力するダイアログが表示されるので、iSCSIターゲットをインストールしたホスト名を指定します。
次にメニューのTargetsを選ぶとインストールしたTargetが表示されているので選択し、Log Onボタンを押します。
すると何かいろいろ入力するダイアログが出ますが、Connectボタンを押します。
これで接続完了です。



このときは初めて接続したのでフォーマットをするか聞かれます。
とりあえずFATでフォーマットしてみました。
あとは普通のディスクとして使用できます。
アイコンが黒ベースのちょっと違う感じになっています。

認証とか経路の暗号化などもできるようですが、中からつなげるだけなので特にいらないかなぁと思ってます。
でも、情報収集のためにいずれ使ってみます。

ちなみにXbenchで計測してみたところ以下のような感じになりました。
Sequential 15.58 
Uncached Write 17.50 10.74 MB/sec [4K blocks]
Uncached Write 15.02 8.50 MB/sec [256K blocks]
Uncached Read 12.08 3.54 MB/sec [4K blocks]
Uncached Read 19.91 10.01 MB/sec [256K blocks]
Random 47.90
Uncached Write 39.79 4.21 MB/sec [4K blocks]
Uncached Write 26.12 8.36 MB/sec [256K blocks]
Uncached Read 489.62 3.47 MB/sec [4K blocks]
Uncached Read 55.37 10.27 MB/sec [256K blocks]


iSCSIの意味がないくらい遅いですね。
なぜなら我が家のネットワークは未だに100BASE/TXだからなのです。
Gigaにすればもっと早くなると思います。
今使ってるスイッチがAllideの16ポートスイッチなので、新しいのにするの躊躇してるんですよね。
それにいつもしていることで100BASE/TXで困ったことがないもので…。

次回はLinuxのマシンにイニシエーターをインストールして接続してみます。

0 件のコメント: