7.5. iSCSI イニシエーターの設定


iSCSI イニシエーターを設定して、以下のプラットフォームの Ceph iSCSI ゲートウェイに接続できます。

7.5.1. Red Hat Enterprise Linux の iSCSI イニシエーターの設定

前提条件

  • Red Hat Enterprise Linux 7.7 以降。
  • パッケージ iscsi-initiator-utils-6.2.0.873-35 以降がインストールされている。
  • パッケージ device-mapper-multipath-0.4.9-99 以降がインストールされている。

手順

  1. iSCSI イニシエーターおよびマルチパスツールをインストールします。

    [root@rhel ~]# yum install iscsi-initiator-utils
    [root@rhel ~]# yum install device-mapper-multipath
  2. /etc/iscsi/initiatorname.iscsi ファイルを編集してイニシエーター名を設定します。イニシエーター名は、gwcli コマンドでの初期設定中に使用されたイニシエーター名と同じである必要がある点に注意してください。
  3. マルチパス I/O を設定します。

    1. デフォルトの /etc/multipath.conf ファイルを作成し、multipathd サービスを有効にします。

      [root@rhel ~]# mpathconf --enable --with_multipathd y
    2. 以下のように /etc/multipath.conf ファイルを更新します。

      devices {
              device {
                      vendor                 "LIO-ORG"
                      product                "TCMU device"
                      hardware_handler       "1 alua"
                      path_grouping_policy   "failover"
                      path_selector          "queue-length 0"
                      failback               60
                      path_checker           tur
                      prio                   alua
                      prio_args              exclusive_pref_bit
                      fast_io_fail_tmo       25
                      no_path_retry          queue
              }
      }
    3. multipathd サービスを再起動します。

      [root@rhel ~]# systemctl reload multipathd
  4. CHAP と iSCSI の検出とログインを設定します。

    1. 以下のように /etc/iscsi/iscsid.conf ファイルを更新して、CHAP ユーザー名とパスワードを指定します。

      node.session.auth.authmethod = CHAP
      node.session.auth.username = user
      node.session.auth.password = password
    2. ターゲットポータルを検出します。

      構文

      iscsiadm -m discovery -t st -p IP_ADDR

    3. ターゲットにログインします。

      構文

      iscsiadm -m node -T TARGET -l

  5. マルチパス I/O 設定を表示します。multipathd デーモンは、multipath.conf ファイルの設定に基づいてデバイスを自動的に設定します。

    1. multipath コマンドを使用して、パスごとに優先度の高いグループが含まれるフェイルオーバー設定でのデバイス設定を表示します。

      [root@rhel ~]# multipath -ll
      mpathbt (360014059ca317516a69465c883a29603) dm-1 LIO-ORG,TCMU device
      size=1.0G features='0' hwhandler='1 alua' wp=rw
      |-+- policy='queue-length 0' prio=50 status=active
      | `- 28:0:0:1 sde  8:64  active ready running
      `-+- policy='queue-length 0' prio=10 status=enabled
        `- 29:0:0:1 sdc  8:32  active ready running

      multipath -ll 出力の prio 値は ALUA の状態を示します。ここでは、prio=50 は、ALUA Active-Optimized の状態の独自の iSCSI ゲートウェイへのパスであり、prio=10 は Active-non-Optimized パスであることを示します。status フィールドは、使用されているパスを示します。こででは、active は現在使用されているパス、enabledactive なパスに問題が発生した場合にフェイルオーバーパスが有効になります 。

    2. multipath -ll の出力でデバイス名 (例: sde) を iSCSI ゲートウェイに一致させるには、次のコマンドを実行します。

      [root@rhel ~]# iscsiadm -m session -P 3

      Persistent Portal の値は、gwcli ユーティリティーの一覧に記載されている iSCSI ゲートウェイに割り当てられた IP アドレスです。

7.5.2. Red Hat Virtualization の iSCSI イニシエーターの設定

前提条件

  • Red Hat Virtualization 4.1
  • すべての Red Hat Virtualization ノードでの MPIO デバイスの設定
  • パッケージ iscsi-initiator-utils-6.2.0.873-35 以降
  • パッケージ device-mapper-multipath-0.4.9-99 以降

手順

  1. マルチパス I/O を設定します。

    1. 以下のように /etc/multipath/conf.d/DEVICE_NAME.conf ファイルを更新します。

      devices {
              device {
                      vendor                 "LIO-ORG"
                      product                "TCMU device"
                      hardware_handler       "1 alua"
                      path_grouping_policy   "failover"
                      path_selector          "queue-length 0"
                      failback               60
                      path_checker           tur
                      prio                   alua
                      prio_args              exclusive_pref_bit
                      fast_io_fail_tmo       25
                      no_path_retry          queue
              }
      }
    2. multipathd サービスを再起動します。

      [root@rhv ~]# systemctl reload multipathd
  2. Storage resource タブをクリックして既存のストレージドメインを一覧表示します。
  3. 新規ドメイン ボタンをクリックして、新規ドメイン ウィンドウを開きます。
  4. 新規ストレージドメインの 名前 を入力します。
  5. データセンター ドロップダウンメニューを使用してデータセンターを選択します。
  6. ドロップダウンメニューを使用して、Domain Function および Storage Type を選択します。選択したドメイン機能との互換性がないストレージドメインタイプは利用できません。
  7. Use Host フィールドでアクティブなホストを選択します。データセンターの最初のデータドメインではない場合は、データセンターの SPM ホストを選択する必要があります。
  8. 新規ドメイン ウィンドウで、iSCSI がストレージタイプとして選択されている場合に、未使用の LUN が割り当てられた既知のターゲットが自動的に表示されます。ストレージを追加するターゲットが一覧にない場合には、ターゲット検出を使用して検索できます。それ以外の場合は、次のステップに進みます。

    1. ターゲットを検出 をクリックし、ターゲットの検出オプションを有効にします。ターゲットが検出され、ログインすると、新規ドメイン ウィンドウに、その環境で未使用の LUN が割り当てられたターゲットが自動的に表示されます。環境外の LUN も表示されることに注意してください。ターゲットを検出 のオプションを使用すると、多くのターゲットに LUN を追加したり、同じ LUN に複数のパスを追加したりすることができます。
    2. Address フィールドに、iSCSI ホストの完全修飾ドメイン名または IP アドレスを入力します。
    3. ポートフィールドでのターゲットの参照時に、ホストに接続する ポート を入力します。デフォルトは 3260 です。
    4. ストレージのセキュリティー保護にチャレンジハンドシェイク認証プロトコル (CHAP) を使用している場合は、ユーザー認証のチェックボックスを選択します。CHAP のユーザー名CHAP のパスワード を入力します。
    5. 検出 ボタンをクリックします。
    6. 検出結果から使用するターゲットを選択し、ログイン ボタンをクリックします。または、Login All をクリックし、検出されたすべてのターゲットにログインします。

      重要

      複数のパスのアクセスが必要な場合には、すべての必要なパスでターゲットを検出してログインするようにしてください。ストレージドメインを変更してパスを追加する方法は、現在サポートされていません。

  9. 対象のターゲットの横にある + ボタンをクリックします。これにより、エントリーを展開し、ターゲットにアタッチされている未使用の LUN をすべて表示します。
  10. ストレージドメインの作成に使用する各 LUN のチェックボックスを選択します。
  11. オプションで、詳細パラメーターを設定することが可能です。

    1. 詳細パラメーター をクリックします。
    2. 容量不足の警告 のフィールドに、パーセンテージ値を入力します。ストレージドメインの空き容量がこの値を下回ると、ユーザーに警告メッセージが表示され、ログに記録されます。
    3. アクションをブロックする 深刻な容量不足 のフィールドに GB 単位で値を入力します。ストレージドメインの空き容量がこの値を下回ると、ユーザーにエラーメッセージが表示され、ログに記録されます。領域を消費する新しいアクションは、一時的であってもブロックされます。
    4. 削除後にワイプ オプションを有効にするには、wipe after delete のチェックボックスを選択します。このオプションは、ドメインの作成後に編集できますが、すでに存在するディスクの wipe after delete プロパティーは変更されません。
    5. 削除後に破棄 チェックボックスを選択して、削除後に破棄のオプションを有効化します。このオプションは、ドメインの作成後に編集できます。このオプションは、ブロックストレージドメインでのみ使用できます。
  12. OK をクリックしてストレージドメインを作成し、ウィンドウを閉じます。

7.5.3. Microsoft Windows の iSCSI イニシエーターの設定

前提条件

  • Microsoft Windows Server 2016

手順

  1. iSCSI イニシエーターをインストールし、検出および設定を行います。

    1. iSCSI イニシエータードライバーおよび MPIO ツールをインストールします。
    2. MPIO プログラムを起動し、Discover Multi-Paths タブをクリックし、iSCSI デバイスのサポートの追加 チェックボックスにチェックを入れ、Add をクリックします。
    3. MPIO プログラムを再起動します。
    4. iSCSI Initiator プロパティーウィンドウ、Discovery タブ 1 でターゲットポータルを追加します。Ceph iSCSI ゲートウェイの IP アドレスまたは DNS 名 2 および ポート 3 を入力します。

      iscsi discovery tab mod
    5. Targets タブ 1 で、ターゲットを選択し、Connect 2 をクリックします。

      iscsi target tab mod
    6. Connect To Target ウィンドウで Enable multi-path オプション 1 を選択し、Advanced ボタン 2 をクリックします。

      iscsi connect to target mod
    7. Connect using セクションで、Target portal IP 1 を選択します。 2 で CHAP ログイン を選択し、Ceph iSCSI クライアント認証情報セクションから Name および Target secret の値 3 を入力して、OK 4 をクリックします。

      iscsi advanced window mod
      重要

      Windows Server 2016 は 12 バイト未満の CHAP シークレットを受け入れません。

    8. iSCSI ゲートウェイを設定するときに定義されたターゲットポータルごとに、前述の 2 つの手順を繰り返します。
    9. イニシエーター名が初期設定中に使用されるイニシエーター名と異なる場合は、イニシエーター名を変更します。iSCSI Initiator プロパティーウィンドウの 設定 タブ 1Change ボタン 2 をクリックしてイニシエーターの名前を変更します。

      iscsi windows initiator properties mod
  2. multipath I/O を設定します。PowerShell では、PDORemovePeriod コマンドを使用して MPIO 負荷分散ポリシーと mpclaim コマンドを使用して負荷分散ポリシーを設定します。iSCSI Initiator Tool は、残りのオプションを設定します。

    注記

    Red Hat は、PDORemovePeriod オプションを PowerShell から 120 秒に増やすことを推奨します。この値はアプリケーションに基づいて調整する必要がある場合があります。すべてのパスがダウンし、120 秒の有効期限が切れると、オペレーティングシステムは I/O 要求の失敗を開始します。

    Set-MPIOSetting -NewPDORemovePeriod 120
    1. フェイルオーバーポリシーの設定

      mpclaim.exe -l -m 1
    2. フェイルオーバーポリシーの確認

      mpclaim -s -m
      MSDSM-wide Load Balance Policy: Fail Over Only
    3. iSCSI Initiator ツールを使用して、ターゲット タブ 1 から デバイス...ボタン 2 をクリックします。

      iscsi target tab2 mod
    4. デバイス ウィンドウで、ディスク 1 を選択し、MPIO…​ 2 ボタンをクリックします。

      iscsi devices mpio mod
    5. デバイスの詳細 ウィンドウには、各ターゲットポータルへのパスが表示されます。Load Balancing Policy Fail Over Only を選択する必要があります。

      mpio set failover only mod
    6. PowerShell から multipath 設定を表示します。

      mpclaim -s -d MPIO_DISK_ID

      MPIO_DISK_ID を適切なディスク識別子に置き換えます。

      注記

      LUN を所有する iSCSI ゲートウェイノードへのパスである Active/Optimized パスが 1 つあります。他の iSCSI ゲートウェイノードごとに Active/optimized パスがあります。

      mpclaim output mod
  3. オプションで、設定をチューニングします。以下のレジストリー設定の使用を検討してください。

    • Windows ディスクのタイムアウト

      キー

      HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Disk

      TimeOutValue = 65

    • Microsoft iSCSI イニシエータードライバー

      キー

      HKEY_LOCAL_MACHINE\\SYSTEM\CurrentControlSet\Control\Class\{4D36E97B-E325-11CE-BFC1-08002BE10318}\<Instance_Number>\Parameters

      LinkDownTime = 25
      SRBTimeoutDelta = 15

7.5.4. VMware ESXi 向けの iSCSI イニシエーターの設定

前提条件

  • サポートされる VMware ESXi バージョンについては、カスタマーポータルのナレッジベースの 記事iSCSI Gateway (IGW)セクションを参照してください。
  • VMware ホストクライアントへのアクセス
  • esxcli コマンドを実行する VMware ESXi ホストへの root アクセス

手順

  1. HardwareAcceleratedMove を無効にします。

    > esxcli system settings advanced set --int-value 0 --option /DataMover/HardwareAcceleratedMove
  2. iSCSI ソフトウェアを有効にします。Navigator ペインから Storage 1 をクリックします。Adapters タブ 2 を選択します。iSCSI の設定 3 をクリックします。

    esx web client storage main mod
  3. 名前 & エイリアス のセクション 1 でイニシエーター名を確認します。

    esx web client config iscsi main mod step2
  4. イニシエーター名が gwcli を使用して初期設定中にクライアントを作成するときに使用されるイニシエーター名と異なる場合は、イニシエーター名 (VMware ESX ホスト) を変更し、esxcli コマンドを実行します。

    1. iSCSI ソフトウェアのアダプター名を取得します。

      > esxcli iscsi adapter list
      > Adapter  Driver     State   UID            Description
      > -------  ---------  ------  -------------  ----------------------
      > vmhba64  iscsi_vmk  online  iscsi.vmhba64  iSCSI Software Adapter
    2. イニシエーター名を設定します。

      構文

      > esxcli iscsi adapter set -A ADAPTOR_NAME -n INITIATOR_NAME

      > esxcli iscsi adapter set -A vmhba64 -n iqn.1994-05.com.redhat:rh7-client

  5. CHAP を設定します。CHAP 認証 セクション 1 を展開します。"Do not use CHAP unless unless required by target" (ターゲットによって必要な場合を除き、CHAP は使用しないでください) 2 を選択してください。初期設定で使用されていた CHAP Name および Secret 3 の認証情報を入力します。Mutual CHAP 認証 セクション 4 で "Do not use CHAP" (CHAP は使用しないでください) が選択されていることを確認します。

    esx web client chap mod step3
    警告

    VMware Host Client のバグにより、CHAP 設定が最初に使用されません。Ceph iSCSI ゲートウェイノードでは、このバグを示しているので、カーネルログには以下のエラーが含まれます。

    > kernel: CHAP user or password not set for Initiator ACL
    > kernel: Security negotiation failed.
    > kernel: iSCSI Login negotiation failed.

    このバグを回避するには、esxcli コマンドを使用して CHAP を設定します。authname 引数は vSphere Web クライアントの Name です。

    > esxcli iscsi adapter auth chap set --direction=uni --authname=myiscsiusername --secret=myiscsipassword --level=discouraged -A vmhba64
  6. iSCSI 設定を設定します。Advanced settings 1 を展開します。RecoveryTimeout の値を 25 2 に設定します。

    esx web client iscsi recovery timeout mod step4
  7. 検出アドレスを設定します。Dynamic targets セクション 1 で、Add dynamic target 2 をクリックします。Address 3 の下に、Ceph iSCSI ゲートウェイの 1 つに IP アドレスを追加します。1 つの IP アドレスのみを追加する必要があります。最後に、Save configuration ボタン 4 をクリックします。Devices タブのメインインターフェイスから RBD イメージが表示されます。

    esx web client config iscsi main mod step5
    注記

    LUN は、ALUA SATP および MRU PSP を使用して自動的に設定されます。他の SATP および PSP は使用しないでください。これは、esxcli コマンドで確認できます。

    構文

    esxcli storage nmp path list -d eui.DEVICE_ID

    DEVICE_ID を適切なデバイス識別子に置き換えます。

  8. マルチパスが正しく設定されていることを確認します。

    1. デバイスを一覧表示します。

      > esxcli storage nmp device list | grep iSCSI
         Device Display Name: LIO-ORG iSCSI Disk (naa.6001405f8d087846e7b4f0e9e3acd44b)
         Device Display Name: LIO-ORG iSCSI Disk (naa.6001405057360ba9b4c434daa3c6770c)

    2. 直前の手順で Ceph iSCSI ディスクのマルチパス情報を取得します。

      > esxcli storage nmp path list -d naa.6001405f8d087846e7b4f0e9e3acd44b
      
      iqn.2005-03.com.ceph:esx1-00023d000001,iqn.2003-01.com.redhat.iscsi-gw:iscsi-igw,t,1-naa.6001405f8d087846e7b4f0e9e3acd44b
         Runtime Name: vmhba64:C0:T0:L0
         Device: naa.6001405f8d087846e7b4f0e9e3acd44b
         Device Display Name: LIO-ORG iSCSI Disk (naa.6001405f8d087846e7b4f0e9e3acd44b)
         Group State: active
         Array Priority: 0
         Storage Array Type Path Config: {TPG_id=1,TPG_state=AO,RTP_id=1,RTP_health=UP}
         Path Selection Policy Path Config: {current path; rank: 0}
      
      iqn.2005-03.com.ceph:esx1-00023d000002,iqn.2003-01.com.redhat.iscsi-gw:iscsi-igw,t,2-naa.6001405f8d087846e7b4f0e9e3acd44b
         Runtime Name: vmhba64:C1:T0:L0
         Device: naa.6001405f8d087846e7b4f0e9e3acd44b
         Device Display Name: LIO-ORG iSCSI Disk (naa.6001405f8d087846e7b4f0e9e3acd44b)
         Group State: active unoptimized
         Array Priority: 0
         Storage Array Type Path Config: {TPG_id=2,TPG_state=ANO,RTP_id=2,RTP_health=UP}
         Path Selection Policy Path Config: {non-current path; rank: 0}

      この出力例から、各パスには iSCSI または SCSI 名があり、以下の部分があります。

      Initiator name = iqn.2005-03.com.ceph:esx1 ISID = 00023d000002 Target name = iqn.2003-01.com.redhat.iscsi-gw:iscsi-igw Target port group = 2 Device id = naa.6001405f8d087846e7b4f0e9e3acd44b

      Group State の値が active の場合は、これが iSCSI ゲートウェイへの Active-Optimized パスであることを示します。gwcli コマンドは、iSCSI ゲートウェイ所有者として active を一覧表示します。パスの残りの部分には、unoptimizedGroup State の値があり、active パスが dead 状態になる場合にフェイルオーバーパスになります。

  9. 対応する iSCSI ゲートウェイへのすべてのパスに一致するには、以下のコマンドを実行します。

    > esxcli iscsi session connection list
    vmhba64,iqn.2003-01.com.redhat.iscsi-gw:iscsi-igw,00023d000001,0
       Adapter: vmhba64
       Target: iqn.2003-01.com.redhat.iscsi-gw:iscsi-igw
       ISID: 00023d000001
       CID: 0
       DataDigest: NONE
       HeaderDigest: NONE
       IFMarker: false
       IFMarkerInterval: 0
       MaxRecvDataSegmentLength: 131072
       MaxTransmitDataSegmentLength: 262144
       OFMarker: false
       OFMarkerInterval: 0
       ConnectionAddress: 10.172.19.21
       RemoteAddress: 10.172.19.21
       LocalAddress: 10.172.19.11
       SessionCreateTime: 08/16/18 04:20:06
       ConnectionCreateTime: 08/16/18 04:20:06
       ConnectionStartTime: 08/16/18 04:30:45
       State: logged_in
    
    vmhba64,iqn.2003-01.com.redhat.iscsi-gw:iscsi-igw,00023d000002,0
       Adapter: vmhba64
       Target: iqn.2003-01.com.redhat.iscsi-gw:iscsi-igw
       ISID: 00023d000002
       CID: 0
       DataDigest: NONE
       HeaderDigest: NONE
       IFMarker: false
       IFMarkerInterval: 0
       MaxRecvDataSegmentLength: 131072
       MaxTransmitDataSegmentLength: 262144
       OFMarker: false
       OFMarkerInterval: 0
       ConnectionAddress: 10.172.19.22
       RemoteAddress: 10.172.19.22
       LocalAddress: 10.172.19.12
       SessionCreateTime: 08/16/18 04:20:06
       ConnectionCreateTime: 08/16/18 04:20:06
       ConnectionStartTime: 08/16/18 04:30:41
       State: logged_in

    パス名を ISID 値と照合し、RemoteAddress 値は独自の iSCSI ゲートウェイの IP アドレスです。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.