貧乏人のためのboot-from-SAN (2) iSCSI Target編
貧乏人のためのboot-from-SAN (1) 導入編の続きです。このエントリーではソフトウェアiSCSI Targetの設定方法について説明しています。すでにiSCSI Targetを設定してあるという場合は省略できます。
iSCSI Target用マシンのインストール
ここではTarget用マシンにFedora Core 6をインストールして使うことにします。なぜなら、iSCSI Enterprise Targetの最新のstable版(0.4.14)や開発版を使うためにはKernel 2.6.14以降でなくてはならないからです。カーネルバージョンさえ保証できるなら他のディストリビューションでもまったく問題ありません。
iSCSI用に提供するための空き容量が必要です。すでに動作しているTarget用マシンがある場合にはiSCSI用にディスクを追加しても構いませんが、説明の都合上一個のディスクにFC6を新規インストールすることを前提に話を進めます。
標準ではFC6インストール時にHDDの大半がVolGroup00に割り当てられ、VolGroup00はLogVol00(/パーティション)とLogVol01(swap)にすべて割り当てられてしまいます。LogVol00のサイズを数10GB程度に修正してください。こうしておくと、VolGroup00のうち使われていない部分を後からiSCSI用のLogical Volumeとして簡単に切り出すことができます。パーティションの設定が済んだらそのままインストールを継続してください。
さてそうやって無事にインストールが済み、最低限の設定は済んだものとします。
iSCSI Enterprise Targetのインストール
SourceForge.net: iSCSI Enterprise Targetから最新のstable版をダウンロードするか、以下のように開発版をcheckoutします。
# svn co svn://svn.berlios.de/iscsitarget/trunk iscsitarget
ビルドやインストールはよくある手順どおり実施してください。注意点は、make install時にdepmodするので/sbinにパスが通っている必要がある点くらいです。
# make; make install # /sbin/chkconfig --add iscsi-target # /sbin/chkconfig iscsi-target on # /etc/init.d/iscsi-target start
psコマンドでietdが動いていることが確認できれば問題ありません。
# ps -C ietd PID TTY TIME CMD 2691 ? 00:00:00 ietd
iptablesによるファイアウォールを導入している場合には、ietdが使うポートに穴を開けておく必要があります。/etc/sysconfig/iptablesに以下を追加して、/etc/init.d/iptables restartすればひとまずはよいでしょう。
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3260 -j ACCEPT
Logical Volumeの切り出しとTargetの設定
10GB分のLogical Volume(名前はtest)をVolGroup00から切り出すには、以下のようにlvcreateコマンドを実行します。
# lvcreate -n test -L 10G VolGroup00
正常に切り出せれば、lvdisplayコマンドで以下のように表示されるはずです。切り出したLogical Volumeは/dev/VolGroup00/testというブロックデバイスとして見えるわけですね。
# lvdisplay VolGroup00 (snipped) --- Logical volume --- LV Name /dev/VolGroup00/test VG Name VolGroup00 LV UUID AN1Q8q-h0Ty-GORO-0lJB-2s0a-4Ev2-GyjLng LV Write Access read/write LV Status available # open 1 LV Size 10.00 GB Current LE 320 Segments 1 Allocation inherit Read ahead sectors 0 Block device 253:2
次にTargetの設定を行います。
まず、TargetのIDとiSCSI Qualified Nameを決める必要あります。IDはそのiSCSIサーバでユニークな1以上の整数値です。ここでは「100」とします。iSCSI Qualified Nameは、グローバルにユニークである必要があるため、タイプ識別子「iqn.」、ドメイン取得日、ドメイン名、ドメイン取得者が付けた文字列を付けることになっています(RFC 3720 - Internet Small Computer Systems Interface (iSCSI) (IETF/rfc3720))。ここでは「iqn.2006-12.net.as-is.iscsi:test」にしておきます。
新しいTargetを作るにはietadmコマンドを使って以下のように実行します。
# ietadm --op new --tid=100 --params Name=iqn.2006-12.net.as-is.iscsi:test # ietadm --op new --tid=100 --lun=0 --params Path=/dev/VolGroup00/test
/etc/ietd.confに書く方法もありますが、とりあえずテストということで。ユーザ認証を追加することもできますが、とりあえずテストということで。
ietadmコマンドで行った設定は/proc/net/iet/volumeを参照することで確認できます。
# cat /proc/net/iet/volume
tid:100 name:iqn.2006-12.net.as-is.iscsi:test
lun:0 state:0 iotype:fileio iomode:wt path:/dev/VolGroup00/test
複数のiSCSIドライブが必要な場合には、好きなだけlvcreateとietadmを繰り返すことになります。
これでiSCSI Targetに関する作業は終了です。
- 貧乏人のためのboot-from-SAN (1) 導入編
- 貧乏人のためのboot-from-SAN (2) iSCSI Target編 (このエントリー)
- 貧乏人のためのboot-from-SAN (3) iSCSI InitiatorとVM編
- 貧乏人のためのboot-from-SAN (4) 性能比較編 (気が向いたら書く予定のエントリー)
このエントリーのトラックバックURL: http://as-is.net/mt/mt-tb.cgi/461
Comments (0)