Version 11 (modified by yuna, 55 years ago) (diff) |
---|
IET(The iSCSI Enterprise Target)でiSCSIをLinux上で使う
ストレージをFCなどで構築するとコストがかさみますが、Linux上でソフトウェアのiSCSIターゲットを利用すると、Linuxマシンを用意すれば格安でストレージを構築できます。LinuxでiSCSIのターゲットを利用するには、 iSCSI Enterprise Target(IET)を利用ます。まずは、ストレージを作る準備をしてみよう。
ドライバのビルド/インストール
Fedoraの場合
IETのサイトから ソースコードを取得し、次のようにしてパッケージをビルドする。ビルドに必要なパッケージは予めインストールしておくこと。
# rpmbuild -ta iscsitarget-1.4.20.1.tar.gz # cd /root/rpmbuild/RPMS/x86_64/ # rpm -Uvh iscsitarget-1.4.20.1-1.x86_64.rpm kmod-iscsitarget-1.4.20.1-1_2.6.33.3_85.fc13.x86_64.x86_64.rpm
モジュールのインストールが完了したら、モジュールをロードする。
# insmod iscsi_trgt # dmesg iSCSI Enterprise Target Software - version 1.4.20.1 iscsi_trgt: Registered io type fileio iscsi_trgt: Registered io type blockio iscsi_trgt: Registered io type nullio
Ubuntuの場合
# apt-get install openiscsi iscsitarget iscsitarget-source # m-a a-i iscsitarget-source
ストレージの作成
ストレージの作成は、まずiSCSIのストレージにしたいファイルを作成する。
# dd if=/dev/zero of=/iscsi/iscsitarget bs=1024 count=100000
次に、ietd.confに作成したファイルをiSCSIストレージとして利用する設定を行う。 /etc/iet/ietd.confに下記の記述を追加する。
Target iqn.2001-04.org.ultimana:storage.disk1 Lun 0 Path=/iscsi/iscsitarget,Type=fileio
iSCSIターゲットの起動と確認しよう。
# /etc/init.d/iscsi-target start # iscsiadm -m discovery --type sendtargets -p 192.168.122.1 192.168.122.1:3260,1 iqn.2001-04.org.ultimana:storage.disk1
iSCSIの利用側
iSCSIを利用するには、次のようにする。まずは、iSCSIイニシエータ(iSCSIのクライアント)にiSCSIディスクを認識させておく。
# iscsiadm -m discovery --type sendtargets -p 192.168.122.1 192.168.122.1:3260,1 iqn.2001-04.org.ultimana:storage.disk1
iSCSIディスクをデバイスにマッピングする。
# iscsiadm -m node -T iqn.2001-04.org.ultimana:storage.disk1 --login Logging in to [iface: default, target: iqn.2001-04.org.ultimana:storage.disk1, portal: 192.168.122.1,3260] Login to [iface: default, target: iqn.2001-04.org.ultimana:storage.disk1, portal: 192.168.122.1,3260]: successful
dmesgで確認すると、認識されたデバイス名が分かる。
# dmesg .... scsi6 : iSCSI Initiator over TCP/IP scsi 6:0:0:0: Direct-Access IET VIRTUAL-DISK 0 PQ: 0 ANSI: 4 sd 6:0:0:0: [sdb] 200000 512-byte logical blocks: (102 MB/97.6 MiB) sd 6:0:0:0: [sdb] Write Protect is off sd 6:0:0:0: [sdb] Mode Sense: 77 00 00 08 sd 6:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA sd 6:0:0:0: Attached scsi generic sg2 type 0 sdb: unknown partition table sd 6:0:0:0: [sdb] Attached SCSI disk
ここでは、/dev/sdbとして認識されている。あとは、普通のDISKの様に利用すればok。
利用が終了したらログアウトする。
# iscsiadm -m node -T iqn.2001-04.org.ultimana:storage.disk1 --logout Logging out of session [sid: 3, target: iqn.2001-04.org.ultimana:storage.disk1, portal: 192.168.122.1,3260] Logout of [sid: 3, target: iqn.2001-04.org.ultimana:storage.disk1, portal: 192.168.122.1,3260]: successful
virshにストレージプールを登録
pool.xmlにiSCSIの設定情報を記述
<pool type="iscsi"> <name>lun1</name> <source> <host name="10.68.122.1" /> <device path="iqn.2001-04.org.ultimana:storage.disk1"/> </source> <target> <path>/dev/disk/by-path</path> </target> </pool>
virshに定義とストレージプールのスタート。
virsh # pool-define pool.xml virsh # pool-start lun1 virsh # vol-list lun1 名前 パス ----------------------------------------- 6.0.0.0 /dev/disk/by-path/ip-10.68.122.1:3260-iscsi-iqn.2001-04.org.ultimana:storage.disk1-lun-0
Attachments
- storagemgr.sh (1003 bytes) - added by yuna 11 years ago.