10.5. iSCSI 이니시에이터 구성
다음 플랫폼에서 Ceph iSCSI 게이트웨이에 연결하도록 iSCSI 이니시에이터를 구성할 수 있습니다.
10.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
이상을 설치해야 합니다.
절차
iSCSI 이니시에이터 및 다중 경로 툴을 설치합니다.
[root@rhel ~]# yum install iscsi-initiator-utils [root@rhel ~]# yum install device-mapper-multipath
-
/etc/iscsi/initiatorname.iscsi
파일을 편집하여 이니시에이터 이름을 설정합니다. 이니시에이터 이름은gwcli
명령을 사용하여 초기 설정 중에 사용된 이니시에이터 이름과 일치해야 합니다. 다중 경로 I/O 구성.
기본
/etc/multipath.conf
파일을 생성하고multipathd
서비스를 활성화합니다.[root@rhel ~]# mpathconf --enable --with_multipathd y
다음과 같이
/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 } }
multipathd
서비스를 다시 시작합니다.[root@rhel ~]# systemctl reload multipathd
CHAP 및 iSCSI 검색 및 로그인 설정.
/etc/iscsi/iscsid.conf 파일을 적절하게 업데이트하여 CHAP 사용자 이름과 암호를 제공합니다.
예를 들면 다음과 같습니다.node.session.auth.authmethod = CHAP node.session.auth.username = user node.session.auth.password = password
대상 포털을 검색합니다.
구문
iscsiadm -m discovery -t st -p IP_ADDR
대상에 로그인합니다.
구문
iscsiadm -m node -T TARGET -l
다중 경로 I/O 구성을 봅니다.
multipathd
데몬은multipath.conf
파일의 설정을 기반으로 장치를 자동으로 설정합니다.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
outputprio
값은 ALUA 상태를 나타냅니다. 여기서prio=50
은 ALUA Active-Optimized 상태의 iSCSI 게이트웨이 경로임을 나타내고prio=10
은 Active-non-Optimized 경로임을 나타냅니다.status
필드는 사용 중인 경로를 나타냅니다. 여기서active
는 현재 사용된 경로를 나타내며,enabled
는활성
이 실패하는 경우 페일오버 경로를 나타냅니다.장치 이름(예:
multipath -ll
출력의sde
)을 iSCSI 게이트웨이에 맞추려면 다음을 수행합니다.예제
[root@rhel ~]# iscsiadm -m session -P 3
영구 포털
값은gwcli
유틸리티에 나열된 iSCSI 게이트웨이에 할당된 IP 주소입니다.
10.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
패키지 이상
절차
다중 경로 I/O 구성.
다음과 같이
/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 } }
multipathd
서비스를 다시 시작합니다.[root@rhv ~]# systemctl reload multipathd
- Storage (스토리지) 리소스 탭을 클릭하여 기존 스토리지 도메인을 나열합니다.
- New Domain(새 도메인 ) 버튼을 클릭하여 New Domain(새 도메인 ) 창을 엽니다.
- 새 스토리지 도메인의 Name (이름)을 입력합니다.
- Data Center (데이터 센터) 드롭다운 메뉴를 사용하여 데이터 센터를 선택합니다.
- 드롭다운 메뉴를 사용하여 Domain Function (도메인 기능) 및 Storage Type (스토리지 유형)을 선택합니다. 선택한 도메인 기능과 호환되지 않는 스토리지 도메인 유형을 사용할 수 없습니다.
- Use Host (호스트 사용) 필드에서 활성 호스트를 선택합니다. 데이터 센터의 첫 번째 데이터 도메인이 아닌 경우 데이터 센터의 SPM 호스트를 선택해야 합니다.
iSCSI를 스토리지 유형으로 선택하면 New Domain (새 도메인) 창에서 사용되지 않는 LUN을 사용하여 알려진 타겟을 자동으로 표시합니다. 에서 스토리지를 추가하는 대상이 나열되지 않은 경우 대상 검색을 사용하여 찾을 수 있습니다. 그렇지 않으면 다음 단계로 진행합니다.
- Discover Targets (대상 검색)를 클릭하여 대상 검색 옵션을 활성화합니다. 대상이 검색되어 에 로그인되면 New Domain(새 도메인 ) 창에 환경에서 사용하지 않는 LUN이 있는 대상이 자동으로 표시됩니다. 환경 외부의 LUN도 표시됩니다. Discover Targets(대상 검색) 옵션을 사용하여 여러 대상에 LUN을 추가하거나 동일한 LUN에 여러 경로를 추가할 수 있습니다.
- Address (주소) 필드에 iSCSI 호스트의 정규화된 도메인 이름 또는 IP 주소를 입력합니다.
-
Port(포트) 필드에서 대상을 찾을 때 에서 호스트에 연결할 포트를 입력합니다. 기본값은
3260
입니다. - 스토리지를 보호하는 데 챌린지 Handshake Authentication Protocol(CHAP)를 사용하는 경우 User Authentication (사용자 인증) 확인란을 선택합니다. CHAP 사용자 이름과 CHAP 암호를 입력합니다.
- Discover(검색 ) 버튼을 클릭합니다.
검색 결과에서 사용할 대상을 선택하고 Login(로그인) 버튼을 클릭합니다. 또는 Login All (로그인 모두)을 클릭하여 검색된 모든 대상에 로그인합니다.
중요두 개 이상의 경로 액세스가 필요한 경우 필요한 모든 경로를 통해 대상을 검색하고 로그인해야 합니다. 스토리지 도메인을 변경하여 추가 경로를 추가하는 것은 현재 지원되지 않습니다.
- 원하는 대상 옆에 있는 + 버튼을 클릭합니다. 그러면 항목이 확장되고 대상에 연결된 사용하지 않는 모든 LUN이 표시됩니다.
- 스토리지 도메인을 생성하기 위해 사용 중인 각 LUN의 확인란을 선택합니다.
선택적으로 고급 매개 변수를 구성할 수 있습니다.
- Advanced Parameters (고급 매개 변수)를 클릭합니다.
- Warninglow Space Indicator(낮은 공간 표시기 ) 필드에 백분율 값을 입력합니다. 스토리지 도메인에서 사용 가능한 여유 공간이 이 백분율 미만인 경우 경고 메시지가 사용자에게 표시되고 기록됩니다.
- Critical Space Action Blocker (심각 공간 작업 블록) 필드에 GB 값을 입력합니다. 스토리지 도메인에서 사용 가능한 여유 공간이 이 값보다 작으면 사용자에게 오류 메시지가 표시되고 기록되고 공간을 소비하는 새 작업이 차단됩니다.
-
Wipe after Delete(삭제 후 Wipe
after Delete)
확인란을 선택하여 삭제 후 지우기 옵션을 활성화합니다. 도메인을 생성한 후 이 옵션을 편집할 수 있지만, 이렇게 하면 이미 존재하는 디스크의삭제 속성 후에는 wipe
가 변경되지 않습니다. - 삭제 후 삭제 옵션을 활성화하려면 Discard after Delete(삭제 후 카드 비활성화) 확인란을 선택합니다. 도메인을 생성한 후 이 옵션을 편집할 수 있습니다. 이 옵션은 블록 스토리지 도메인에서만 사용할 수 있습니다.
- OK(확인 )를 클릭하여 스토리지 도메인을 생성하고 창을 닫습니다.
10.5.3. Microsoft Windows용 iSCSI 이니시에이터 구성
사전 요구 사항
- Microsoft Windows Server 2016
절차
iSCSI 이니시에이터를 설치하고 검색 및 설정을 구성합니다.
- iSCSI 이니시에이터 드라이버 및 MPIO 툴을 설치합니다.
- MPIO 프로그램을 시작하고 Discover Multi-Paths(다중 경로 검색) 탭을 클릭하고 Add ( 추가 )를 클릭합니다.
- MPIO 프로그램을 다시 부팅합니다.
- iSCSI Initiator 속성 창의 검색 탭에 대상 포털을 추가합니다. Ceph iSCSI 게이트웨이의 IP 주소 또는 DNS 이름 및 포트를 입력합니다.
- 대상 탭에서 대상을 선택하고 연결을 클릭합니다.
- 연결 대상 창에서 다중 경로 사용 옵션을 선택하고 고급 버튼을 클릭합니다.
연결 using 섹션에서 Microsoft ISCSI Intiator 를 드롭다운 상자에서 로컬 어댑터 로 선택합니다. 드롭다운 상자에서 Windows 클라이언트 IP 주소를 Initiator IP 로 선택합니다. 대상 포털 IP 주소를 선택합니다. Enable CHAP login on 을 선택하고 Ceph iSCSI 클라이언트 자격 증명 섹션에서 Name and Target secret 값을 입력하고 OK 를 클릭합니다.
중요Windows Server 2016은 12바이트 미만의 CHAP 시크릿을 허용하지 않습니다.
- 연결 탭을 클릭하기 전에 iSCSI 게이트웨이를 설정할 때 정의된 각 대상 포털에 대해 이전 두 단계를 반복합니다.
- 이니시에이터 이름이 초기 설정 중에 사용된 이니시에이터 이름과 다른 경우 이니시에이터 이름의 이름을 변경합니다. iSCSI Initiator Properties 창에서 Configuration (구성) 탭에서 Change (변경) 버튼을 클릭하여 이니시에이터 이름의 이름을 바꿉니다.
다중 경로
I/O 설정. PowerShell에서PDORemovePeriod
명령을 사용하여 MPIO 로드 밸런싱 정책 및mpclaim
명령을 설정하여 부하 분산 정책을 설정합니다. iSCSI 이니시에이터 도구는 나머지 옵션을 구성합니다.참고Red Hat은
PDORemovePeriod
옵션을 PowerShell에서 120초로 늘릴 것을 권장합니다. 애플리케이션을 기반으로 이 값을 조정해야 할 수도 있습니다. 모든 경로가 다운되고 120초가 만료되면 운영 체제가 I/O 요청 실패를 시작합니다.Set-MPIOSetting -NewPDORemovePeriod 120
페일오버 정책 설정
mpclaim.exe -l -m 1
페일오버 정책 확인
mpclaim -s -m MSDSM-wide Load Balance Policy: Fail Over Only
- iSCSI Initiator 툴을 사용하여 대상 탭에서 Devices…을 클릭합니다. 버튼:
- 장치 창에서 디스크를 선택하고 MPIO…을 클릭합니다. 버튼:
- Device Details (장치 세부 정보) 창에는 각 대상 포털에 대한 경로가 표시됩니다. 부하 분산 Policy Fail Over only(로드 밸런싱 정책 실패)만 선택해야 합니다.
PowerShell에서
다중 경로
구성을 확인합니다.mpclaim -s -d MPIO_DISK_ID
MPIO_DISK_ID 를 적절한 디스크 식별자로 바꿉니다.
참고LUN을 소유하고 있는 iSCSI 게이트웨이 노드의 경로인 Active/Optimized 경로가 하나 있으며 다른 iSCSI 게이트웨이 노드마다 Active/Unoptimized 경로가 있습니다.
선택적으로 설정을 조정합니다. 다음 레지스트리 설정을 사용하는 것이 좋습니다.
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
10.5.4. VMware ESXi용 iSCSI 이니시에이터 구성
사전 요구 사항
- 지원되는 VMware ESXi 버전은 고객 포털 지식 베이스 문서 의 IGW (iSCSI 게이트웨이) 섹션을 참조하십시오.
- VMware ESXi 웹 인터페이스에 대한 액세스.
-
esxcli
명령을 실행하기 위해 VMware ESXi 호스트 콘솔에 대한 루트 액세스.
절차
- VMware ESXi 웹 인터페이스에 로그인합니다.
-
작업
서비스 강조 표시 SSH 사용을 클릭합니다. VMware ESXi 호스트 콘솔에 로그인하고
HardwareAcceleratedMove
(XCOPY)를 비활성화합니다.> esxcli system settings advanced set --int-value 0 --option /DataMover/HardwareAcceleratedMove
- VMware ESXi 웹 인터페이스의 Navigator (네트워크) 창의 Storage(스토리지 )를 클릭합니다. Adapters 탭을 클릭합니다. 어댑터를 강조 표시하고 Configure iSCSI (iSCSI 구성)를 클릭합니다.
- Name & alias(이름 및 별칭 ) 필드에서 이니시에이터 이름을 확인합니다.
이니시에이터 이름이
gwcli
유틸리티를 사용하여 초기 설정 중에 클라이언트를 생성할 때 사용되는 이니시에이터 이름과 다른 경우 이니시에이터 이름을 변경합니다. VMware ESXi 호스트 콘솔에서 다음 단계를 수행합니다.iSCSI 소프트웨어의 어댑터 이름을 가져옵니다.
> esxcli iscsi adapter list > Adapter Driver State UID Description > ------- --------- ------ ------------- ---------------------- > vmhba64 iscsi_vmk online iscsi.vmhba64 iSCSI Software Adapter
이니시에이터 이름을 설정합니다.
구문
esxcli iscsi adapter set -A ADAPTOR_NAME -n INITIATOR_NAME
예제
> esxcli iscsi adapter set -A vmhba64 -n iqn.1994-05.com.redhat:rh8-client
- VMware ESXi 웹 인터페이스에서 새 이니시에이터 이름을 확인합니다. 탐색기 창에서 Storage(스토리지 )를 클릭합니다. Software iSCSI(소프트웨어 iSCSI )를 클릭합니다. 새 이니시에이터 이름은 Ceph Object Gateway 노드 이름과 함께 Name & alias (이름 및 별칭) 필드에 있습니다.
CHAP 인증 섹션을 확장합니다. 드롭다운 목록에서 대상에 필요한 경우가 아니면 Do not use CHAP( CHAP를 사용하지 않음)를 선택합니다. 초기 설정에 사용된 CHAP Name 및 Secret 자격 증명을 입력합니다. 상호 CHAP 인증 섹션이 CHAP를 사용하지 않는지 확인합니다.
중요사용자 이름/암호는 관리자 및 상호 CHAP 인증에 대해 동일하지 않아야 합니다.
-
사용자 이름 /
mutual_
은 8-64자이며 [username
0-9
,a-z
,A-Z
] 및 . .:
,@
,_
,-
.
의 범위에 있는 영숫자가 포함됩니다. -
암호
/mutual_password
는 12-16자이며 [0-9
0-9,a
,-
zA-Z
] 및@
, - ,_
,/
의 범위에 있는 영숫자가 포함됩니다.
주의VMware 호스트 클라이언트의 버그로 인해 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
인수는 CHAP 인증 섹션의 Name 입니다.구문
esxcli iscsi adapter auth chap set --direction=uni --authname=ISCSI_USER_NAME --secret=ISCSI_PASSWORD --level=discouraged -A ADAPTOR_NAME
-
사용자 이름 /
- Advanced settings(고급 설정 ) 섹션을 확장합니다. RecoveryTimeout 값을 25로 설정합니다.
Dynamic Target(동적 타겟 ) 섹션에서 Add dynamic target (동적 대상 추가)을 클릭합니다. Address (주소) 필드에서 클릭하여 Ceph iSCSI 게이트웨이 중 하나에 대한 IP 주소를 추가합니다. 하나의 IP 주소만 추가해야 합니다. 마지막으로 Save configuration (구성 저장) 버튼을 클릭합니다. Devices (장치) 탭을 클릭하여 RBD 이미지를 확인합니다.
참고LUN은 ALUA TFTP 및 MRU PSP를 사용하여 자동으로 구성됩니다. 다른 SatP 및 PSP를 사용하지 마십시오.
esxcli
명령으로 확인할 수 있습니다.구문
esxcli storage nmp path list -d eui.DEVICE_ID
DEVICE_ID 를 적절한 장치 식별자로 바꿉니다.
VMware ESXi 호스트 콘솔에서 다중 경로가 올바르게 설정되었는지 확인합니다.
장치를 나열합니다.
예제
> 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)
이전 단계에서 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
Target port group =2
장치 ID =naa.6001405f8d087846e7b4f0e9e3acd44b
active
의Group State
값은 이 값이 iSCSI 게이트웨이의 Active-Optimized 경로임을 나타냅니다.gwcli
명령은 iSCSI 게이트웨이 소유자로활성
을 나열합니다. 나머지 경로에는Group State
값이최적화되지 않고
활성
경로가dead
상태가 되면 페일오버 경로가 됩니다.각 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 주소입니다.
- VMware ESXi 웹 인터페이스에서 장치 탭을 클릭하여 iSCSI 디스크를 확인합니다.
New datastore (새 데이터 저장소)를 클릭하여 마법사를 시작합니다.
- 새 데이터 저장소의 이름을 입력하고 Next (다음)를 클릭합니다.
- Use full disk를 선택하고 Next (다음)를 클릭합니다.
- 완료를 클릭합니다. 디스크 삭제에 대한 경고 메시지가 표시됩니다. Yes (예)를 클릭하여 계속하고 새 데이터 저장소를 만듭니다.
- 새 데이터 저장소가 Datastores(데이터 저장소) 탭에 표시됩니다.
데이터 저장소 이름을 선택하여 디스크 사용량을 확인할 수 있습니다. 다음 명령을 실행하여 Ceph에서 디스크 사용량을 확인할 수도 있습니다.
구문
rbd du --pool POOL_NAME
예제
[root@rbd-client ~]# rbd du --pool rbdpool