OSS Fan ~OSSでLinuxサーバ構築~

作成日: 2008/11/26
更新日: 2011/02/11

Linux Tips

iSCSI Targetの設定

トップページ > Linux Tips > 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の構築を試した環境は「最小インストール」 +「開発ツール」+「開発ライブラリ」をベースとしています。

設定

 インターネット上から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

ファイル名: /etc/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

■■■ 当サイトは Internet Explorer 9 と Mozilla Firefox 22 で動作確認済みです。 ■■■