ページの先頭行へ戻る
PRIMECLUSTER Global Disk Services  説明書 4.5
FUJITSU Software

4.9.3 iSCSI ターゲットの作成

サーバ間ミラーリング機能を使用するすべてのノードで、以下の設定を行います。

以下の手順の「自ノード」は、ノード1で手順を実行する場合はノード1、ノード2で手順を実行する場合はノード2を表します。

設定手順は OS のバージョンによって異なります。

RHEL6】

  1. /etc/tgt/targets.conf ファイルに iSCSI ターゲットの設定を追記します。

    以下の内容を追記してください。

    <target targetname>
      initiator-address IPaddress1
      initiator-address IPaddress2
      write-cache off
      <backing-store by-id>
        lun LUN
        scsi_id SCSI-ID
      </backing-store>
    </target>
    

    ポイント

    • targetname には、自ノードのターゲット名を記述します。
      クラスタシステム内で一意な文字列 (255 文字以内) を指定します。

    • IPaddress1 には、ノード1のサーバ間ミラーリング用の IP アドレスを記述します。IPv4アドレスまたはIPv6アドレスが設定できます。

    • IPaddress2 には、ノード2のサーバ間ミラーリング用の IP アドレスを記述します。IPv4アドレスまたはIPv6アドレスが設定できます。

    • サーバ間ミラーリングで使用する、すべての IP アドレスを initiator-address として設定します。

    • by-id には、サーバ間ミラーリングを行う自ノードのディスクまたはパーティションの by-id ファイルのパスを記述します。

    • LUN には、by-id で指定したディスクの iSCSI デバイスの LUN番号を記述します。
      iSCSI ターゲット内 (<target targetname> ~ </target>内) で一意な番号を指定します。

    • SCSI-ID には、by-id で指定したディスクの iSCSI デバイスの SCSI ID を記述します。
      クラスタシステム内で一意な番号を指定します。

    • サーバ間ミラーリングを行うディスクが自ノードに複数個ある場合、各ディスクについて <backing-store by-id> から </backing-store> までの4行を記述します。

    記述例 (ノード1)

    <target target-0101>
      initiator-address 192.168.56.20
      initiator-address 192.168.56.10
      write-cache off
      <backing-store /dev/disk/by-id/scsi-3500000e111c56610>
        lun 1
        scsi_id SDX01
      </backing-store>
    </target>
    

    記述例 (ノード2)

    <target target-0201>
      initiator-address 192.168.56.20
      initiator-address 192.168.56.10
      write-cache off
      <backing-store /dev/disk/by-id/scsi-3500000e114784360>
        lun 1
        scsi_id SDX02
      </backing-store>
    </target>
    
  2. SCSI ターゲットデーモン (tgtd) を再起動します。

    # service tgtd restart
    Stopping SCSI target daemon:                               [  OK  ] 
    Starting SCSI target daemon:                               [  OK  ]

    SCSI ターゲットデーモン (tgtd) が未起動だった場合、以下のメッセージが出力されます。

    Stopping SCSI target daemon: not running                   [FAILED]

    その後、以下のメッセージが出力されていれば問題ありません。

    Starting SCSI target daemon:                               [  OK  ]

RHEL7】

  1. targetcli を実行し、対話モードに入ります。

    # targetcli
  2. デフォルトのポータルが自動的に作成されないように設定します。

    /> set global auto_add_default_portal=false
  3. サーバ間ミラーリングを行う自ノードのディスクまたはパーティションを登録します。

    /> /backstores/block/ create ストレージ名 デバイスパス

    ポイント

    • ストレージ名には任意の文字列 (255 文字以内) を指定します。

    • デバイスパスにはサーバ間ミラーリングを行う自ノードのディスクまたはパーティションの by-id ファイルのパスを指定します。

    • サーバ間ミラーリングを行うディスクが自ノードに複数個ある場合、各ディスクについて本手順を繰り返します。

    実行例

    /> /backstores/block/ create storage1 /dev/disk/by-id/scsi-3500000e111c56611
  4. デバイスの設定を確認します。

    以下のコマンドを実行し、emulate_write_cache が 0 であることを確認します。

    /> /backstores/block/ストレージ名 get attribute emulate_write_cache

    ポイント

    ストレージ名には手順3. で設定したストレージ名を指定します。

    実行例

    /> /backstores/block/storage1 get attribute emulate_write_cache
    emulate_write_cache=0
  5. iSCSI ターゲットを作成します。

    /> /iscsi/ create
  6. 作成された iSCSI ターゲットを確認します。

    /> /iscsi/ ls

    実行例

    /> /iscsi/ ls
    o- iscsi ..................................................................... [Targets: 1]
      o- iqn.2003-01.org.linux-iscsi.node1.x8664:sn.2613f8620d98 .................... [TPGs: 1]
        o- tpg1 ........................................................ [no-gen-acls, no-auth]
          o- acls ................................................................... [ACLs: 0]
          o- luns ................................................................... [LUNs: 0]
          o- portals ............................................................. [Portals: 0]

    この例では、iqn 名「iqn.2003-01.org.linux-iscsi.node1.x8664:sn.2613f8620d98」が生成され、/iscsi/ 配下にターゲットが作成されたことが分かります。

  7. 両ノードの iSCSI イニシエータを登録します。

    /> /iscsi/iqn名/tpgX/acls create ノード1のイニシエータ名
    /> /iscsi/iqn名/tpgX/acls create ノード2のイニシエータ名

    ポイント

    • iqn 名には手順6. で確認した iqn 名を指定します。

    • tpgX には iqn 名ディレクトリに生成されたディレクトリ名(例では tpg1 )を指定します。

    • イニシエータ名は /etc/iscsi/initiatorname.iscsi ファイルで確認できます。

    実行例

    /> /iscsi/iqn.2003-01.org.linux-iscsi.node1.x8664:sn.2613f8620d98/tpg1/acls create \
    iqn.1994-05.com.redhat:dee92ff9979d
    /> /iscsi/iqn.2003-01.org.linux-iscsi.node1.x8664:sn.2613f8620d98/tpg1/acls create  \
    iqn.1994-05.com.redhat:fa7eb9cf483c

    注意

    iSCSI イニシエータ名はクラスタシステムの各ノードで異なる必要があります。

    各ノードの iSCSI イニシエータ名が同一の場合、各ノードで別の iSCSI イニシエータ名になるように変更してください。

    iSCSI イニシエータ名は以下の手順で変更できます。

    1. 新しい iSCSI イニシエータ名を決定します。
      以下のコマンドを使用するとランダムな ID でイニシエータ名を生成できます。

      (例)

      # iscsi-iname
      iqn.1994-05.com.redhat:5ea612eab618
    2. 設定ファイルを変更します。
      /etc/iscsi/initiatorname.iscsi ファイル内の "InitiatorName=" に続く文字列を手順1の iSCSI イニシエータ名に書き換えます。

      (例)

      [変更前]

      InitiatorName=iqn.1994-05.com.redhat:4539cd846026

      [変更後]

      InitiatorName=iqn.1994-05.com.redhat:5ea612eab618
    3. 設定を反映するため、iscsid を再起動します。

      (例)

      # systemctl restart iscsid.service
  8. 手順3. で登録したデバイスを接続します。

    /> /iscsi/iqn名/tpgX/luns create /backstores/block/ストレージ名

    ポイント

    • iqn 名には手順6. で確認した iqn 名を指定します。

    • tpgX にはiqn 名ディレクトリに生成されたディレクトリ名(例では tpg1 )を指定します。

    • ストレージ名には手順3. で設定したストレージ名を指定します。

    • サーバ間ミラーリングを行うディスクが自ノードに複数個ある場合、各ディスクについて本手順を繰り返します。

    実行例

    /> /iscsi/iqn.2003-01.org.linux-iscsi.node1.x8664:sn.2613f8620d98/tpg1/luns create \
    /backstores/block/storage1
  9. ターゲットが使用する IP アドレスを登録します。

    /> /iscsi/iqn名/tpgX/portals create IPaddress

    ポイント

    • iqn 名は手順6. で確認した iqn 名を指定します。

    • tpgX には iqn 名ディレクトリに生成されたディレクトリ名(例では tpg1 )を指定します。

    • IPaddress には、自ノードのサーバ間ミラーリング用の IP アドレスを記述します。
      IPv4 アドレスまたは IPv6 アドレスが設定できます。
      cip の IP アドレスは指定できません。NIC (eth0 など)に直接割り当てた IP アドレスを使用してください。
      NIC や IP アドレスの条件については、「3.9.1 ネットワーク構成」を参照してください。

    実行例

    /> /iscsi/iqn.2003-01.org.linux-iscsi.node1.x8664:sn.2613f8620d98/tpg1/portals create \
    192.168.125.123
  10. targetcli の対話モードを終了します。本操作により設定が記録されます。

    /> exit
  11. ターゲットの構成を確認します。

    # targetcli ls

    ポイント

    (*1) サーバ間ミラーリングで使用するデバイスの by-id ファイルのパスが出力されることを確認します。

    (*2) 各クラスタノードの iSCSI イニシエータ名が出力されることを確認します。

    (*3) (*1)で確認したストレージが各 iSCSI イニシエータに割り当てられていることを確認します。

    (*4) サーバ間ミラーリングで使用する自ノードの IP アドレスが出力されることを確認します。

    実行例

    # targetcli ls
    o- / ................................................................................ [...]
      o- backstores ..................................................................... [...]
      | o- block ......................................................... [Storage Objects: 1]
      | | o- storage1 .. [/dev/disk/by-id/scsi-3500000e111c56611 (8.0GiB) write-thru activated]    (*1)
      | o- fileio ........................................................ [Storage Objects: 0]
      | o- pscsi ......................................................... [Storage Objects: 0]
      | o- ramdisk ....................................................... [Storage Objects: 0]
      o- iscsi ................................................................... [Targets: 1]
      | o- iqn.2003-01.org.linux-iscsi.node1.x8664:sn.2613f8620d98 .................. [TPGs: 1]
      |   o- tpg1 ...................................................... [no-gen-acls, no-auth]
      |     o- acls ................................................................. [ACLs: 2]
      |     | o- iqn.1994-05.com.redhat:dee92ff9979d ......................... [Mapped LUNs: 1]    (*2)
      |     | | o- mapped_lun0 ..................................... [lun0 block/storage1 (rw)]    (*3)
      |     | o- iqn.1994-05.com.redhat:fa7eb9cf483c ......................... [Mapped LUNs: 1]    (*2)
      |     |   o- mapped_lun0 ..................................... [lun0 block/storage1 (rw)]    (*3)
      |     o- luns ................................................................. [LUNs: 1]
      |     | o- lun0 ............... [block/storage1 (/dev/disk/by-id/scsi-3500000e111c56611)]
      |     o- portals ........................................................... [Portals: 1]
      |       o- 192.168.125.123:3260 .................................................... [OK]    (*4)
      o- loopback ................................................................ [Targets: 0]