검색

1.7. 컨테이너에 Ceph iSCSI 게이트웨이 설치

download PDF

Ansible 배포 애플리케이션은 컨테이너에서 Ceph iSCSI 게이트웨이를 구성하는 데 필요한 데몬 및 툴을 설치합니다.

사전 요구 사항

  • 작동 중인 Red Hat Ceph Storage 클러스터.

절차

  1. root 사용자로 /etc/ansible/hosts 파일을 열고 편집합니다. iSCSI 게이트웨이 그룹에 노드 이름 항목을 추가합니다.

    예제

    [iscsigws]
    ceph-igw-1
    ceph-igw-2

  2. /usr/share/ceph-ansible 디렉토리로 이동합니다.

    [root@admin ~]# cd /usr/share/ceph-ansible/
  3. 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 게이트웨이 구성 섹션을 참조하십시오.

  4. 편집할 iscsigws.yml 파일을 엽니다.
  5. IPv4 또는 IPv6 주소를 사용하여 iSCSI 게이트웨이 IP 주소를 추가하여 gateway_ip_list 옵션을 구성합니다.

    예제

    gateway_ip_list: 192.168.1.1,192.168.1.2

    중요

    IPv4 및 IPv6 주소를 혼합하여 사용할 수 없습니다.

  6. 선택적으로 trusted_ip_list 옵션의 주석을 제거하고 SSL을 사용하려면 IPv4 또는 IPv6 주소를 적절하게 추가합니다. SSL을 구성하려면 iSCSI 게이트웨이 컨테이너에 대한 루트 액세스 권한이 필요합니다. SSL을 구성하려면 다음 단계를 수행합니다.

    1. 필요한 경우 모든 iSCSI 게이트웨이 컨테이너 내에 openssl 패키지를 설치합니다.
    2. 기본 iSCSI 게이트웨이 컨테이너에서 SSL 키를 저장할 디렉터리를 만듭니다.

      # mkdir ~/ssl-keys
      # cd ~/ssl-keys
    3. 기본 iSCSI 게이트웨이 컨테이너에서 인증서 및 키 파일을 만듭니다.

      # openssl req -newkey rsa:2048 -nodes -keyout iscsi-gateway.key -x509 -days 365 -out iscsi-gateway.crt
      참고

      환경 정보를 입력하라는 메시지가 표시됩니다.

    4. 기본 iSCSI 게이트웨이 컨테이너에서 PEM 파일을 만듭니다.

      # cat iscsi-gateway.crt iscsi-gateway.key > iscsi-gateway.pem
    5. 기본 iSCSI 게이트웨이 컨테이너에서 공개 키를 만듭니다.

      # openssl x509 -inform pem -in iscsi-gateway.pem -pubkey -noout > iscsi-gateway-pub.key
    6. 기본 iSCSI 게이트웨이 컨테이너에서 iscsi-gateway.crt,iscsi-gateway.pem,iscsi-gateway-pub.key, iscsi-gateway.key 파일을 다른 iSCSI 게이트웨이 컨테이너의 /etc/ceph/ 디렉터리에 복사합니다.
  7. 필요에 따라 다음 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
  8. 선택적으로 워크로드 요구 사항에 따라 다음 리소스 옵션을 검토하고 주석 처리를 해제합니다.

    # 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
  9. 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
  10. 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 게이트웨이 소프트웨어 설치.

절차

  1. root 사용자로 iSCSI 게이트웨이 명령줄 인터페이스를 시작합니다.

    # docker exec -it rbd-target-api gwcli
  2. 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 주소를 혼합하여 사용할 수 없습니다.

  3. 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

  4. 클라이언트를 생성합니다.

    구문

    > 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)]
  5. 클라이언트에 디스크 추가:

    구문

    >/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

  6. 다음 명령을 실행하여 iSCSI 게이트웨이 구성을 확인합니다.

    > ls
  7. 선택적으로 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/
  8. 다음 단계는 iSCSI 이니시에이터를 구성하는 것입니다.

추가 리소스

  • 컨테이너에 Red Hat Ceph Storage를 설치하는 방법에 대한 자세한 내용은 컨테이너의 Red Hat Ceph Storage 클러스터 설치 섹션을 참조하십시오.
  • 컨테이너에 iSCSI 게이트웨이 소프트웨어 설치에 대한 자세한 내용은 컨테이너 의 Ceph iSCSI 게이트웨이 설치 섹션을 참조하십시오.
  • iSCSI 이니시에이터 연결 방법에 대한 자세한 내용은 Red Hat Ceph Storage Block Device GuideiSCSI Initiator 구성 섹션을 참조하십시오.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.