iSCSI Targetの設定
目次
概要
最近iSCSIのハードディスクに興味があり、 ネットでコンシューマ向けの製品を調べていました。 ただ、ラインナップも少なく、価格的にも手軽に購入できる ものではなかったので、自作する道を考えていました。 市販の製品も内部的にはUNIX系のOSが 動いているだけだろうと思って調べてみたところ、 やはりLinuxでも構築できるようです。
iSCSIとは簡単に言うとTCP/IPのパケットに乗せて SCSIコマンドを送信することでイーサネット経由で ハードディスクにアクセスするための規格です。
そのため物理的に見るとPCとハードディスク装置を LANケーブルで接続しています。 ただしSCSIコマンドを使用しているため PCから見るとハードディスクはSCSI接続されているように見えます。
前からなんとなくイメージはできていましたが、 実際にネットワークで接続されているだけの装置が Windows XPから内蔵ディスクとして認識されていることに ちょっと驚きました。
必要な設定はSCSIのターゲット(接続先の装置)であるLinuxサーバと、 SCSIにイニシエータ(接続元の装置)であるWindowsの 両方なのですが、今回はLinuxサーバの設定方法を紹介します。
iSCSIのターゲットとして構築するために必要なパッケージは CentOS 5.2には同梱されていません。 そのためソースをダウンロードし、コンパイルして使用します。
このサイトで紹介しているOSインストール手順書では rpmパッケージで機能をインストールすることを前提にしていますので makeを実行した時点でエラーが出力されて失敗してしまいます。 今回iSCSIの構築を試した環境は「最小インストール」 +「開発ツール」+「開発ライブラリ」をベースとしています。
構成
サーバ構成
OSバージョン
CentOS 5.2
ソフトウェア・パッケージ一覧
- iscsitarget-0.4.16.tar.gz
環境構築
インストール
インターネット上からwgetでファイルをダウンロードしてインストールします。
# cd /tmp # wget http://jaist.dl.sourceforge.net/sourceforge/iscsitarget/iscsitarget-0.4.16.tar.gz # tar zxvf ./iscsitarget-0.4.16.tar.gz # cd ./iscsitarget-0.4.16 # make # make install
設定
viエディタで設定ファイル(ietd.conf)を開き、設定を変更します。
# cd /etc/ # mv ./ietd.conf ./ietd.conf.bk # touch ./ietd.conf # vi ./ietd.conf
※新規作成※
Target iqn.2009-01.jp.ne.ranonet:storage.disk2
IncomingUser
OutgoingUser
Lun 0 Path=/dev/sdc,Type=fileio
Alias iSCSI
OSの起動に合わせてデーモンを自動起動する設定に変更します。
# chkconfig iscsi-target on
以上で設定が終了しましたのでrcスクリプトを使用してデーモンを起動します。
# /etc/rc.d/init.d/iscsi-target start