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.
. [: ]
-
今回はルールに従ってターゲット名を設定します。
# 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 targetTarget 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イニシエータのインストール
インストール
# yum install iscsi-initiator-utils
起動
# /etc/init.d/iscsi start
自動起動
# chkconfig iscsi on
iscsiイニシエータの設定
iscsiターゲットへの接続
-
iscsiターゲットの一覧を表示します。
# iscsiadm --mode=node192.168.11.200:3260,1 iqn.2009-11.net.oss-d.serv200:sdb1
-
イニシエータからターゲットへ接続を行います。
# 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 -lDisk /dev/sda: 8589 MB, bytes255 heads, 63 sectors/track, 1044 cylindersUnits = シリンダ数 of 16065 * 512 = bytesデバイス Boot Start End Blocks Id System/dev/sda1 * 1 13 104391 83 Linux/dev/sda2 14 1044 8281507+ 8e Linux LVMDisk /dev/sdb: 5362 MB, bytes165 heads, 62 sectors/track, 1023 cylindersUnits = シリンダ数 of 10230 * 512 = 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 -hFilesystem サイズ 使用 残り 使用% マウント位置/dev/mapper/VolGroup00-LogVol00 6.2G 2.5G 3.4G 43% //dev/sda1 99M 18M 76M 20% /boottmpfs 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