7.5. iSCSI 이니시에이터 구성

다음 플랫폼의 Ceph iSCSI 게이트웨이에 연결하도록 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 또는 newer를 설치해야 합니다.

절차

  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. target에 로그인합니다.

      구문

      iscsiadm -m node -T TARGET -l

  5. 다중 경로 I/O 구성을 봅니다. multipathd 데몬은 multipath.conf 파일의 설정에 따라 장치를 자동으로 설정합니다.

    1. multipath 명령을 사용하여 각 경로의 우선순위 그룹이 있는 장애 조치(failover) 구성에서 장치 설정을 표시합니다. 예를 들면 다음과 같습니다.

      예제

      [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 output prio 값은 ALUA 상태를 나타냅니다. 여기서 prio=50 은 ALUA Active-Optimized 상태에서 보유한 iSCSI 게이트웨이의 경로이고 prio=10 은 Active-non-Optimized 경로임을 나타냅니다. status 필드는 사용 중인 경로를 나타냅니다. 여기서 active 는 현재 사용된 경로를 나타내며 활성화 된 경우 활성 상태가 실패하는 경우 장애 조치(failover) 경로를 나타냅니다.

    2. 장치 이름과 일치하려면, 예를 들어 multipath -ll 출력에서 iSCSI 게이트웨이에 대해 감소 합니다.

      예제

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

      영구 포털 값은 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 리소스 탭을 클릭하여 기존 스토리지 도메인을 나열합니다.
  3. New Domain (새 도메인) 버튼을 클릭하여 New Domain (새 도메인) 창을 엽니다.
  4. 새 스토리지 도메인의 이름 을 입력합니다.
  5. Data Center (데이터 센터) 드롭다운 메뉴를 사용하여 데이터 센터를 선택합니다.
  6. 드롭다운 메뉴를 사용하여 Domain Function (도메인 기능) 및 스토리지 유형 을 선택합니다. 선택한 도메인 기능과 호환되지 않는 스토리지 도메인 유형은 사용할 수 없습니다.
  7. Use Host (호스트 사용) 필드에서 활성 호스트를 선택합니다. 데이터 센터의 첫 번째 데이터 도메인이 아닌 경우 데이터 센터의 SPM 호스트를 선택해야 합니다.
  8. iSCSI를 스토리지 유형으로 선택하면 New Domain (새 도메인) 창에는 사용되지 않는 LUN이 있는 알려진 대상이 자동으로 표시됩니다. 스토리지를 추가하는 대상이 목록에 없으면 대상 검색을 사용하여 해당 대상을 찾을 수 있습니다. 그렇지 않으면 다음 단계로 진행합니다.

    1. Discover Targets (대상 검색)를 클릭하여 대상 검색 옵션을 활성화합니다. 대상이 검색되고 로그인되면 New Domain (새 도메인) 창에 환경에서 사용하지 않는 LUN이 있는 대상이 자동으로 표시됩니다. 환경 외부의 LUN도 표시됩니다. Discover Targets (대상 검색) 옵션을 사용하여 여러 대상에 LUN을 추가하거나 동일한 LUN에 대한 여러 경로를 추가할 수 있습니다.
    2. Address(주소) 필드에 iSCSI 호스트의 정규화된 도메인 이름 또는 IP 주소 를 입력합니다.
    3. Port(포트) 필드에서 대상을 검색할 때 호스트에 연결할 포트 를 입력합니다. 기본값은 3260 입니다.
    4. 챌린지 핸드셰이크 인증 프로토콜(CHAP)을 사용하여 스토리지를 보호하는 경우 User Authentication (사용자 인증) 확인란을 선택합니다. CHAP 사용자 이름CHAP 암호를 입력합니다.
    5. Discover (검색) 버튼을 클릭합니다.
    6. 검색 결과에서 사용할 대상을 선택하고 Login (로그인) 버튼을 클릭합니다. 또는 Login All (모두 로그인)을 클릭하여 검색된 모든 대상에 로그인합니다.

      중요

      두 개 이상의 경로 액세스가 필요한 경우 모든 필요한 경로를 통해 대상을 검색하고 로그인하십시오. 추가 경로를 추가하기 위해 스토리지 도메인을 수정하는 것은 현재 지원되지 않습니다.

  9. 원하는 대상 옆에 있는 + 버튼을 클릭합니다. 그러면 항목이 확장되고 대상에 연결된 사용되지 않는 모든 LUN이 표시됩니다.
  10. 스토리지 도메인을 생성하는 데 사용하는 각 LUN의 확인란을 선택합니다.
  11. 선택적으로 고급 매개 변수를 구성할 수 있습니다.

    1. Advanced Parameters (고급 매개 변수)를 클릭합니다.
    2. Warning Low Space Indicator 필드에 백분율 값을 입력합니다. 스토리지 도메인에서 사용 가능한 사용 가능한 공간이 이 백분율 미만인 경우 사용자에게 경고 메시지가 표시되고 기록됩니다.
    3. Critical Space Action Blocker 필드에 GB 값을 입력합니다. 스토리지 도메인에서 사용 가능한 사용 가능한 공간이 이 값보다 작으면 오류 메시지가 사용자에게 표시되고 로그인된 후 일시적으로 공간을 소비하는 새 작업이 차단됩니다.
    4. 삭제 후 삭제 옵션을 사용하려면 Wipe after Delete 확인란을 선택합니다. 도메인을 만든 후에는 이 옵션을 편집할 수 있지만, 이렇게 하면 이미 존재하는 디스크의 삭제 속성 후 delete 가 변경되지 않습니다.
    5. 삭제 후 삭제 옵션을 활성화하려면 Discard after Delete (삭제 후 삭제) 확인란을 선택합니다. 도메인을 생성한 후 이 옵션을 편집할 수 있습니다. 이 옵션은 블록 스토리지 도메인에서만 사용할 수 있습니다.
  12. OK (확인)를 클릭하여 스토리지 도메인을 생성하고 창을 닫습니다.

7.5.3. Microsoft Windows용 iSCSI 이니시에이터 구성

사전 요구 사항

  • Microsoft Windows Server 2016

절차

  1. iSCSI 이니시에이터를 설치하고 검색 및 설정을 구성합니다.

    1. iSCSI 이니시에이터 드라이버 및 MPIO 툴을 설치합니다.
    2. MPIO 프로그램을 시작하고, Discover Multi-Paths 탭을 클릭하고, iSCSI 장치 추가 확인란을 선택한 다음 추가 를 클릭합니다.
    3. MPIO 프로그램을 다시 부팅합니다.
    4. iSCSI 이니시에이터 속성 창의 검색1 에서 대상 포털을 추가합니다. Ceph iSCSI 게이트웨이의 IP 주소 또는 DNS 이름 2 및 포트 3 를 입력합니다.

      iSCSI 검색 탭 mod
    5. 대상1 에서 대상을 선택하고 연결을 클릭합니다 2 :

      iSCSI 대상 탭 mod
    6. 대상에 연결 창에서 다중 경로 활성화 옵션 1 을 선택하고 고급 버튼 2 를 클릭합니다.

      iSCSI가 target mod에 연결
    7. Connect using 섹션에서 대상 포털 IP 1 를 선택합니다. 2 에서 CHAP 로그인 활성화를 선택하고 Ceph iSCSI 클라이언트 인증 정보 섹션에서 이름대상 시크릿3 를 입력하고 확인 4 을 클릭합니다.

      iSCSI 고급 창 mod
      중요

      Windows Server 2016은 12바이트 미만의 CHAP 시크릿을 허용하지 않습니다.

    8. iSCSI 게이트웨이를 설정할 때 정의된 각 대상 포털에 대해 이전 두 단계를 반복합니다.
    9. 이니시에이터 이름이 초기 설정 중에 사용된 이니시에이터 이름과 다른 경우 이니시에이터 이름 이름을 바꿉니다. iSCSI 이니시에이터 속성 창의 구성1 에서 변경 버튼 2 을 클릭하여 이니시에이터 이름의 이름을 바꿉니다.

      iSCSI 창 이니시에이터 속성 mod
  2. 다중 경로 I/O 설정. PowerShell에서 PDORemovePeriod 명령을 사용하여 MPIO 로드 밸런싱 정책과 mpclaim 명령을 사용하여 로드 밸런싱 정책을 설정합니다. iSCSI Initiator 툴은 나머지 옵션을 구성합니다.

    참고

    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 에서 devices…​ 버튼을 클릭합니다. 2 :

      iSCSI 대상 탭2 mod
    4. 장치 창에서 디스크 1 를 선택하고 MPIO…​ 버튼 2 을 클릭합니다.

      iSCSI 장치 MPio mod
    5. 장치 세부 정보 창에 각 대상 포털의 경로가 표시됩니다. 로드 밸런싱 정책(Lail Over)은 반드 시 선택되어 있어야 합니다.

      MPIO 설정 장애 조치(failover)만 mod
    6. PowerShell에서 다중 경로 구성을 확인합니다.

      mpclaim -s -d MPIO_DISK_ID

      MPIO_DISK_ID 를 적절한 디스크 식별자로 바꿉니다.

      참고

      LUN을 소유하는 iSCSI 게이트웨이 노드의 경로인 Active/Optimized 경로가 1개 있으며 서로 다른 iSCSI 게이트웨이 노드에 대해 Active/Unoptimized 경로가 있습니다.

      mpclaim 출력 mod
  3. 선택적으로 설정을 조정합니다. 다음 레지스트리 설정을 사용하는 것이 좋습니다.

    • Windows 디스크 시간 제한

      HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Disk

      TimeOutValue = 65

    • Microsoft iSCSI Initiator 드라이버

      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 게이트웨이(IGW) 섹션을 참조하십시오.
  • VMware Host Client에 대한 액세스.
  • VMware ESXi 호스트에 대한 루트 액세스로 esxcli 명령을 실행합니다.

절차

  1. HardwareAcceleratedMove (XCOPY)를 비활성화합니다.

    > esxcli system settings advanced set --int-value 0 --option /DataMover/HardwareAcceleratedMove
  2. iSCSI 소프트웨어를 활성화합니다. Navigator 창에서 스토리지 1 를 클릭합니다. 어댑터2 을 선택합니다. iSCSI 3 구성을 클릭합니다.

    ESX 웹 클라이언트 스토리지 메인 모드
  3. 이름 및 별칭 섹션에서 이니시에이터 이름을 확인합니다 1 .

    ESX 웹 클라이언트 구성 iscsi 기본 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 을 확장합니다. "대상에 의해 필요하지 않은 경우 CHAP을 사용하지 않음"을 선택합니다. 2 . 초기 설정에 사용된 CHAP 이름시크릿 3 인증 정보를 입력합니다. 상호 CHAP 인증 섹션 4 에 " CHAP을 사용하지 않음"이 선택되어 있는지 확인합니다.

    ESX 웹 클라이언트 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 Client의 이름입니다.

    > esxcli iscsi adapter auth chap set --direction=uni --authname=myiscsiusername --secret=myiscsipassword --level=discouraged -A vmhba64
  6. iSCSI 설정을 구성합니다. 고급 설정 1 을 확장합니다. recoveryTimeout 값을 25 2 로 설정합니다.

    ESX 웹 클라이언트 iscsi 복구 타임아웃 mod step4
  7. 검색 주소를 설정합니다. 동적 대상 섹션에서 동적 대상 1 추가 를 클릭합니다. 2 주소 3 에서 Ceph iSCSI 게이트웨이 중 하나의 IP 주소를 추가합니다. 하나의 IP 주소만 추가해야 합니다. 마지막으로 구성 저장 버튼 4 을 클릭합니다. 기본 인터페이스의 장치 탭에 RBD 이미지가 표시됩니다.

    ESX 웹 클라이언트 구성 iscsi 기본 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 이름이 있습니다.

      이니시에이터 이름 = iqn.2005-03.com.ceph:esx1 ISID = 00023d000002 대상 이름 = iqn.2003-01.com.redhat.iscsi-gw:iscsi-igw 대상 그룹 = 2 장치 id = naa.6001405f8d087846e7b4f0e3f0e3

      Group Stateactive 는 iSCSI 게이트웨이의 Active-Optimized 경로임을 나타냅니다. gwcli 명령은 iSCSI 게이트웨이 소유자로 활성 을 나열합니다. 나머지 경로에는 최적화되지 않은 Group State 값이 있으며 활성 경로가 dead 상태로 전환되면 장애 조치(failover) 경로입니다.The rest of the paths have the Group State value of unoptimized and are the failover path, if the active path goes into a dead state.

  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 주소입니다.