第27章 iSCSI ターゲットおよびイニシエーターの設定
注記
多数の iSCSI LUN を使用して hal デーモンを使用する場合は、ブートが失敗しないように --child-timeout オプションを使用する必要があります。--child-timeout オプションは、すべてのディスクプローブの実行を待つ秒数を設定します。たとえば、hal デーモンが 10 分と 30 秒待機するように強制するには、このオプションは --child-timeout=630 を読み取ります。デフォルトの時間は 250 秒です。これは、hal デーモンの起動に時間がかかることを意味しますが、すべてのディスクデバイスが認識され、起動の失敗を防ぐために十分な時間を確保できます。
この回避策の理由は、hal デーモンが作成する際に 2003 では目立つために、これは dozen iSCSI ディスク以上のものを持つためです。このため、hal デーモンは Red Hat Enterprise Linux 7 で削除され、udisks に置き換えられました。
詳細は、以下の Red Hat ナレッジベースソリューション「hal daemon fails to start on system with a large many disks in RHEL 5 and RHEL 6」を参照してください。
27.1. iSCSI ターゲットの作成
iSCSI ターゲットは、ネットワーク内の専用の物理デバイスか、ネットワークストレージサーバー上にある iSCSI ソフトウェア構成の論理デバイスになります。ターゲットは、SCSI バス通信内のエンドポイントです。イニシエーターによってアクセスされるターゲット上のストレージは、LUN で定義されます。
手順27.1 iSCSI ターゲットの作成
- scsi-target-utils をインストールします。
~]# yum install scsi-target-utils
- ファイアウォールでポート 3260 を開きます。
~]# iptables -I INPUT -p tcp -m tcp --dport 3260 -j ACCEPT ~]# service iptables save
- ターゲットサービスを開始して有効にします。
~]# service tgtd start ~]# chkconfig tgtd on
- LUN にストレージを割り当てます。この例では、ブロックストレージ用に新しいパーティションが作成されます。
~]# fdisk /dev/vdb Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table Building a new DOS disklabel with disk identifier 0x43eb8efd. Command (m for help): n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): *Enter* Using default response p Partition number (1-4, default 1): *Enter* First sector (2048-2097151, default 2048): *Enter* Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-2097151, default 2097151): +250M Partition 1 of type Linux and of size 250 MiB is set Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.
/etc/tgt/targets.conf
ファイルを編集し、ターゲットを作成します。~]# cat /etc/tgt/targets.conf ... default-driver iscsi <target iqn.2015-06.com.example.test:target1> backing-store /dev/vdb1 initiator-address 10.10.1.1 </target>
上記の例では、1 つのバッキングストアと許可されたイニシエーター 1 つを含む簡単なターゲットが作成されます。YYYY-MM.reverse.domain.name : OptionalIdentifierの形式で、iqn の名前を指定して 名前を指定する必要があります。バッキングストアは、ストレージが置かれているデバイスです。initiator-address は、ストレージにアクセスするためのイニシエーターの IP アドレスです。- ターゲットサービスを再起動します。
~]# service tgtd restart Stopping SCSI target daemon: [ OK ] Starting SCSI target daemon: [ OK ]
- 設定を確認します。
~]# tgt-admin --show Target 1: iqn.2015.06.com.example.test: server System information: Driver: iscsi State: ready I_T nexus information: LUN information: Lun: 0 Type: controller SCSI ID: IET 00010000 SCSI SN: beaf10 Size: 0 MB, Block size: 1 Online: Yes Removable media: No Prevent removal: No Readonly: No Backing store type: null Backing store path: None Backing store flags: LUN: 1 Type: disk SCSI ID: IET 00010001 SCSI SN: beaf11 Size: 2147 MB, Block size: 512 Online: Yes Removable media: No Prevent removal: No Readonly: No Backing store type: rdwr Backing store path: /dev/vdb1 Backing store flags: Account information: ACL information: 10.10.1.1