1.7. 컨테이너에 Ceph iSCSI 게이트웨이 설치
Ansible 배포 애플리케이션은 컨테이너에서 Ceph iSCSI 게이트웨이를 구성하는 데 필요한 데몬 및 툴을 설치합니다.
사전 요구 사항
- 작동 중인 Red Hat Ceph Storage 클러스터.
절차
root 사용자로
/etc/ansible/hosts
파일을 열고 편집합니다. iSCSI 게이트웨이 그룹에 노드 이름 항목을 추가합니다.예제
[iscsigws] ceph-igw-1 ceph-igw-2
/usr/share/ceph-ansible
디렉토리로 이동합니다.[root@admin ~]# cd /usr/share/ceph-ansible/
iscsigws.yml.sample
파일의 사본을 만들고 이름을iscsigws.yml
로 지정합니다.[root@admin ceph-ansible]# cp group_vars/iscsigws.yml.sample group_vars/iscsigws.yml
중요새 파일 이름(
iscsigws.yml
)과 새 섹션 제목([iscsigws]
)은 Red Hat Ceph Storage 3.1 이상에만 적용됩니다. 이전 버전의 Red Hat Ceph Storage에서 3.1로 업그레이드하면 이전 파일 이름(iscsi-gws.yml
)과 이전 섹션 제목([iscsi-gws]
)이 계속 사용됩니다.중요현재 Red Hat은 컨테이너 기반 배포 시 ceph-ansible을 사용하여 설치할 수 있는 다음 옵션을 지원하지 않습니다.
-
gateway_iqn
-
rbd_devices
-
client_connections
이러한 옵션을 수동으로 구성하는 방법은 컨테이너의 Ceph iSCSI 게이트웨이 구성 섹션을 참조하십시오.
-
-
편집할
iscsigws.yml
파일을 엽니다. IPv4 또는 IPv6 주소를 사용하여 iSCSI 게이트웨이 IP 주소를 추가하여
gateway_ip_list
옵션을 구성합니다.예제
gateway_ip_list: 192.168.1.1,192.168.1.2
중요IPv4 및 IPv6 주소를 혼합하여 사용할 수 없습니다.
선택적으로
trusted_ip_list
옵션의 주석을 제거하고 SSL을 사용하려면 IPv4 또는 IPv6 주소를 적절하게 추가합니다. SSL을 구성하려면 iSCSI 게이트웨이 컨테이너에 대한루트
액세스 권한이 필요합니다. SSL을 구성하려면 다음 단계를 수행합니다.-
필요한 경우 모든 iSCSI 게이트웨이 컨테이너 내에
openssl
패키지를 설치합니다. 기본 iSCSI 게이트웨이 컨테이너에서 SSL 키를 저장할 디렉터리를 만듭니다.
# mkdir ~/ssl-keys # cd ~/ssl-keys
기본 iSCSI 게이트웨이 컨테이너에서 인증서 및 키 파일을 만듭니다.
# openssl req -newkey rsa:2048 -nodes -keyout iscsi-gateway.key -x509 -days 365 -out iscsi-gateway.crt
참고환경 정보를 입력하라는 메시지가 표시됩니다.
기본 iSCSI 게이트웨이 컨테이너에서 PEM 파일을 만듭니다.
# cat iscsi-gateway.crt iscsi-gateway.key > iscsi-gateway.pem
기본 iSCSI 게이트웨이 컨테이너에서 공개 키를 만듭니다.
# openssl x509 -inform pem -in iscsi-gateway.pem -pubkey -noout > iscsi-gateway-pub.key
-
기본 iSCSI 게이트웨이 컨테이너에서
iscsi-gateway.crt
,iscsi-gateway.pem
,iscsi-gateway-pub.key
,iscsi-gateway.key
파일을 다른 iSCSI 게이트웨이 컨테이너의/etc/ceph/
디렉터리에 복사합니다.
-
필요한 경우 모든 iSCSI 게이트웨이 컨테이너 내에
필요에 따라 다음 iSCSI 대상 API 서비스 옵션을 검토하고 주석 처리를 해제합니다.
#api_user: admin #api_password: admin #api_port: 5000 #api_secure: false #loop_delay: 1 #trusted_ip_list: 192.168.122.1,192.168.122.2
선택적으로 워크로드 요구 사항에 따라 다음 리소스 옵션을 검토하고 주석 처리를 해제합니다.
# TCMU_RUNNER resource limitation #ceph_tcmu_runner_docker_memory_limit: 1g #ceph_tcmu_runner_docker_cpu_limit: 1 # RBD_TARGET_GW resource limitation #ceph_rbd_target_gw_docker_memory_limit: 1g #ceph_rbd_target_gw_docker_cpu_limit: 1 # RBD_TARGET_API resource limitation #ceph_rbd_target_api_docker_memory_limit: 1g #ceph_rbd_target_api_docker_cpu_limit: 1
Ansible 사용자로 Ansible 플레이북을 실행합니다.
[user@admin ceph-ansible]$ ansible-playbook site-docker.yml --limit iscsigws
Red Hat Enterprise Linux Atomic의 경우
--skip-tags=with_pkg
옵션을 추가합니다.[user@admin ceph-ansible]$ ansible-playbook site-docker.yml --limit iscsigws --skip-tags=with_pkg
Ansible 플레이북이 완료되면 TCP 포트
3260
을 열고trusted_ip_list
옵션에 나열된 각 노드의iscsigws.yml
파일에 지정된api_port
를 엽니다.참고api_port
옵션을 지정하지 않으면 기본 포트는5000
입니다.
추가 리소스
- 컨테이너에 Red Hat Ceph Storage를 설치하는 방법에 대한 자세한 내용은 컨테이너의 Red Hat Ceph Storage 클러스터 설치 섹션을 참조하십시오.
- Ceph의 iSCSI 게이트웨이 옵션에 대한 자세한 내용은 Red Hat Ceph Storage Block Device 가이드의 Table 8.1 을 참조하십시오.
- iSCSI 대상 API 옵션에 대한 자세한 내용은 Red Hat Ceph Storage Block Device Guide의 Table 8.2 를 참조하십시오.
-
iscsigws.yml
파일의 예는 부록 A Red Hat Ceph Storage Block Device Guide를 참조하십시오.
1.7.1. 컨테이너에서 Ceph iSCSI 게이트웨이 구성
Ceph iSCSI 게이트웨이 구성은 iSCSI 대상, LUN(Logical Unit Number) 및 ACL(액세스 제어 목록)을 생성하고 관리하기 위한 gwcli
명령줄 유틸리티로 수행됩니다.
사전 요구 사항
- 작동 중인 Red Hat Ceph Storage 클러스터.
- iSCSI 게이트웨이 소프트웨어 설치.
절차
root
사용자로 iSCSI 게이트웨이 명령줄 인터페이스를 시작합니다.# docker exec -it rbd-target-api gwcli
IPv4 또는 IPv6 주소를 사용하여 iSCSI 게이트웨이를 생성합니다.
구문
>/iscsi-target create iqn.2003-01.com.redhat.iscsi-gw:$TARGET_NAME > goto gateways > create $ISCSI_GW_NAME $ISCSI_GW_IP_ADDR > create $ISCSI_GW_NAME $ISCSI_GW_IP_ADDR
예제
>/iscsi-target create iqn.2003-01.com.redhat.iscsi-gw:ceph-igw > goto gateways > create ceph-gw-1 10.172.19.21 > create ceph-gw-2 10.172.19.22
중요IPv4 및 IPv6 주소를 혼합하여 사용할 수 없습니다.
RADOS 블록 장치(RBD)를 추가합니다.
구문
> cd /disks >/disks/ create $POOL_NAME image=$IMAGE_NAME size=$IMAGE_SIZE[m|g|t] max_data_area_mb=$BUFFER_SIZE
예제
> cd /disks >/disks/ create rbd image=disk_1 size=50g max_data_area_mb=32
중요풀 이름 또는 이미지 이름에 마침표(.)가 있을 수 없습니다.
주의Red Hat 지원팀이 이에 지시하지 않는 한
max_data_area_mb
옵션을 조정하지 마십시오.max_data_area_mb
옵션은 각 이미지가 iSCSI 대상과 Ceph 클러스터 간에 SCSI 명령 데이터를 전달하는 데 사용할 수 있는 메가바이트 단위로 메모리 양을 제어합니다. 이 값이 너무 작으면 과도한 대기열 전체 재시도 횟수가 발생하여 성능에 영향을 미칠 수 있습니다. 값이 너무 크면 한 디스크가 너무 많은 시스템 메모리를 사용하므로 다른 하위 시스템에 대한 할당 오류가 발생할 수 있습니다. 기본값은 8입니다.이 값은
reconfigure
명령을 사용하여 변경할 수 있습니다. 이 명령을 적용하려면 iSCSI 이니시에이터에서 이미지를 사용할 수 없습니다.구문
>/disks/ reconfigure max_data_area_mb $NEW_BUFFER_SIZE
예제
>/disks/ reconfigure max_data_area_mb 64
클라이언트를 생성합니다.
구문
> goto hosts > create iqn.1994-05.com.redhat:$CLIENT_NAME > auth chap=$USER_NAME/$PASSWORD
예제
> goto hosts > create iqn.1994-05.com.redhat:rh7-client > auth chap=iscsiuser1/temp12345678
중요CHAP 비활성화는 Red Hat Ceph Storage 3.1 이상에서만 지원됩니다. Red Hat은 클라이언트 혼합, 일부 CHAP 활성화 및 일부 CHAP 비활성화를 지원하지 않습니다. 모든 클라이언트에는 CHAP이 활성화되어 있거나 CHAP이 비활성화되어 있어야 합니다. 기본 동작은 이니시에이터 이름으로만 이니시에이터를 인증하는 것입니다.
이니시에이터가 대상에 로그인하지 못하면 CHAP 인증이 일부 이니시에이터에 대해 잘못 구성되어 있을 수 있습니다.
예제
o- hosts ................................ [Hosts: 2: Auth: MISCONFIG]
모든 CHAP 인증을 재설정하려면
호스트
수준에서 다음 명령을 수행합니다./> goto hosts /iscsi-target...csi-igw/hosts> auth nochap ok ok /iscsi-target...csi-igw/hosts> ls o- hosts ................................ [Hosts: 2: Auth: None] o- iqn.2005-03.com.ceph:esx ........... [Auth: None, Disks: 4(310G)] o- iqn.1994-05.com.redhat:rh7-client .. [Auth: None, Disks: 0(0.00Y)]
클라이언트에 디스크 추가:
구문
>/iscsi-target..eph-igw/hosts> cd iqn.1994-05.com.redhat:$CLIENT_NAME > disk add $POOL_NAME.$IMAGE_NAME
예제
>/iscsi-target..eph-igw/hosts> cd iqn.1994-05.com.redhat:rh7-client > disk add rbd.disk_1
다음 명령을 실행하여 iSCSI 게이트웨이 구성을 확인합니다.
> ls
선택적으로 API가 SSL을 올바르게 사용하고 있는지 확인합니다. 예를 들면
https
의/var/log/rbd-target-api.log
파일을 찾습니다.Aug 01 17:27:42 test-node.example.com python[1879]: * Running on https://0.0.0.0:5000/
- 다음 단계는 iSCSI 이니시에이터를 구성하는 것입니다.
추가 리소스
- 컨테이너에 Red Hat Ceph Storage를 설치하는 방법에 대한 자세한 내용은 컨테이너의 Red Hat Ceph Storage 클러스터 설치 섹션을 참조하십시오.
- 컨테이너에 iSCSI 게이트웨이 소프트웨어 설치에 대한 자세한 내용은 컨테이너 의 Ceph iSCSI 게이트웨이 설치 섹션을 참조하십시오.
- iSCSI 이니시에이터 연결 방법에 대한 자세한 내용은 Red Hat Ceph Storage Block Device Guide 의 iSCSI Initiator 구성 섹션을 참조하십시오.