CentOSでのiSCSI環境構築
| Table of Contents |
はじめに
CentOS5を利用してiSCSIターゲットとiSCSIイニシエータを構築します。
CentOS6については下記をご覧ください。
CentOS6でのiSCSI環境構築
システム構成
iscsi-initiator側
- ホスト名(IP)
- serv100(192.168.11.100)
- OS
- CentOS 5.4(kernel 2.6.18-164.6.1.el5)
- パッケージ
- iscsi-initiator-utils.i386 6.2.0.871-0.10.el5
iscsi-target側
- ホスト名(IP)
- serv200(192.168.11.200)
- OS
- CentOS 5.4(kernel 2.6.18-164.6.1.el5)
- パッケージ
- scsi-target-utils 0.0-5.20080917snap.el5
iscsi-targetの構築 (192.168.11.200側)
iscsiターゲットのインストール
インストール
# yum install scsi-target-utils.i386
起動
# /etc/init.d/tgtd start
自動起動
# chkconfig tgtd on
iscsiターゲットの設定
iscsiターゲットの作成
- iscsiターゲットを作成します。iscsiターゲット名はユニークな名称である必要があり、
以下のようなルールが推奨されています。
iqn.<yyyy-mm>.<tld.domain.some.host>[:<identifier>]
- 今回はルールに従ってターゲット名を設定します。
# tgtadm --lld iscsi --op new --mode target --tid 0 --targetname \ iqn.2009-11.net.oss-d.serv200:sdb1
公開パーティションのターゲット登録
- ターゲットの作成後、公開パーティション(/dev/sdb1)をロジカルユニットとしてターゲットに登録します。
# tgtadm --lld iscsi --op new --mode logicalunit --tid 0 --lun 1 \ --backing-store /dev/sdb1
イニシエータの登録
- イニシエータの登録を行います。初期状態では、イニシエータが登録されていないためターゲットにアクセスできません。
尚、イニシエータの登録は、IPアドレスまたはユーザー名の指定が可能ですが、今回はIPアドレスを利用します。
# tgtadm --lld iscsi --op bind --mode target --tid 0 --initiator-address 192.168.11.100
設定確認
- tgtadmコマンドで設定を確認します。
「LUN:0」はコントローラで、「LUN:1」が今回追加したロジカルユニットです。
# tgtadm --lld iscsi --op show --mode target Target 0: iqn.2009-11.net.oss-d.serv200:sdb1 System information: Driver: iscsi State: ready I_T nexus information: LUN information: LUN: 0 Type: controller SCSI ID: deadbeaf0:0 SCSI SN: beaf00 Size: 0 MB Online: Yes Removable media: No Backing store: No backing store LUN: 1 Type: disk SCSI ID: deadbeaf0:1 SCSI SN: beaf01 Size: 5363 MB Online: Yes Removable media: No Backing store: /dev/sdb1 Account information: ACL information: 192.168.11.100
ファイアウォールの設定
- tgtdデーモンは「tcp:3260」をLISTENします。 必要に応じてiptablesを変更してください。
iscsi-initiatorの構築 (192.168.11.100側)
iscsiイニシエータのインストール
インストール
# yum install iscsi-initiator-utils
起動
# /etc/init.d/iscsi start
自動起動
# chkconfig iscsi on
iscsiターゲットの設定
iscsiターゲットへの接続
- イニシエータからターゲットへ接続を行います。
# iscsiadm --mode=discovery --type=sendtargets --portal=192.168.11.200 \ 192.168.11.200:3260,1 iqn.2009-11.net.oss-d.serv200:sdb1
- targetの接続一覧を表示して確認します。
# iscsiadm -m node 192.168.11.200:3260,1 iqn.2009-11.net.oss-d.serv200:sdb1
- ログインします(targetで認証等を設定しているとパスワード等を聞かれます。)
# iscsiadm -m node \ --targetname iqn.2009-11.net.oss-d.serv200:sdb1 \ --portal 192.168.11.200:3260 \ --login Login session [iface: default, target: iqn.2009-11.net.oss-d.serv200:sdb1, portal: 192.168.11.200,3260] Logging in to [iface: default, target: iqn.2009-11.net.oss-d.serv200:sdb1, portal: 192.168.11.200,3260] Login to [iface: default, target: iqn.2009-11.net.oss-d.serv200:sdb1, portal: 192.168.11.200,3260]: successful
iscsiボリュームのマウント
iscsiボリューム上にファイルシステム(ext3)を作成してマウントします。
iscsiボリュームの確認
- fdiskコマンドでiscsiボリュームを確認します。
(今回は/dev/sdbがiscsiボリュームとして割り当てられています)# fdisk -l Disk /dev/sda: 8589 MB, 8589934592 bytes 255 heads, 63 sectors/track, 1044 cylinders Units = シリンダ数 of 16065 * 512 = 8225280 bytes デバイス Boot Start End Blocks Id System /dev/sda1 * 1 13 104391 83 Linux /dev/sda2 14 1044 8281507+ 8e Linux LVM Disk /dev/sdb: 5362 MB, 5362850304 bytes 165 heads, 62 sectors/track, 1023 cylinders Units = シリンダ数 of 10230 * 512 = 5237760 bytes ディスク /dev/sdb は正常な領域テーブルを含んでいません
領域の作成
- fdiskコマンドで領域の作成を行います。
# fdisk /dev/sdb デバイスは正常な DOS 領域テーブルも、Sun, SGI や OSF ディスクラベルも 含んでいません 新たに DOS ディスクラベルを作成します。あなたが書き込みを決定するまで、変更は メモリ内だけに残します。その後はもちろん以前の内容は修復不可能になります。 警告: 領域テーブル 4 の不正なフラグ 0x0000 は w(書き込み)によって 正常になります
- nで領域を追加します。
コマンド (m でヘルプ): n コマンドアクション e 拡張 p 基本領域 (1-4) p 領域番号 (1-4): 1 最初 シリンダ (1-652, default 1): 終点 シリンダ または +サイズ または +サイズM または +サイズK (1-652, default 652): Using default value 652
- wで保存します。
コマンド (m でヘルプ): w 領域テーブルは交換されました! ioctl() を呼び出して領域テーブルを再読込みします。 ディスクを同期させます。
ファイルシステムのフォーマット
- 今回はext3でフォーマットします。
# mke2fs -j /dev/sdb1
マウントポイントの作成
- マウントポイントを/iscsiとして作成します。
# mkdir /iscsi
マウント
- iscsiボリュームをマウントします。
# mount -t ext3 /dev/sdb1 /iscsi
- マウントの確認を行います。/dev/sdb1のマウント位置が/iscsiになっていることを確認します。
# df -h Filesystem サイズ 使用 残り 使用% マウント位置 /dev/mapper/VolGroup00-LogVol00 6.2G 2.5G 3.4G 43% / /dev/sda1 99M 18M 76M 20% /boot tmpfs 379M 0 379M 0% /dev/shm /dev/sdb1 5.0G 139M 4.6G 3% /iscsi
- 起動時にiscsiボリュームを自動マウントするようfstabを設定します。
# vi /etc/fstab /dev/sdb1 /iscsi ext3 _netdev 1 1
動作テスト
- 最後にイニシエータ(serv100)で書き込みと削除のテストを行います。
問題なければこれで終了です。
# touch /iscsi/test.txt # rm /iscsi/test.txt
