IBM Storage Ceph 7.0 에서 개선 사항 중, 하나인 NVMe over TCP Storage Gateway에 대한 추가 및 설정 방법에 대하여 알아보도록 하겠습니다. 다음 내용은 Tech Preview Code 로 참고만 하시는게 좋을 것 같습니다.
NVMe over TCP 는 데이터 센터에서 사용되는 고대역폭, 저지연 광 네트워크를 활용하여 NVMe 드라이브의 성능 및 집약도, 병렬성을 확보하도록하는 네트워크 전송 기반 스토리지 프로토콜 입니다. 이러한 방식을 이용하여 증가하고 있는 대규모의 데이터 센터, 컨테이터 및 가상 머신에 대하여 효율적인 고성능 솔루션을 제공할 수 있습니다.
NVMe Gateway 서비스와 리스너를 구성하여 NVMe namespace를 Ceph RBD 이미지와 연결하여 사용할 수 있습니다. 다음은 Ceph Storage에 NVMe Gateway 설치 및 구성하는 방법에 대하여 알아보도록 하겠습니다.
1. NVMe Gateway 설치
1.1 Pool 생성
$ ceph osd pool create $nvme_datastore01
1.2 Pool 초기화
$ rbd pool init $nvme_datastore01
1.3 RBD Pool 에 이미지 생성 (MB 단위)
$ rbd create $nvme_image01 --size $disk_size --pool $nvme_datastore01
1.4 NVMeof 서비스에 추가
$ ceph orch apply nvmeof $nvme_datastore01 --placement="$nvme-demo-2"
기존 클러스터 노드에 NVMef를 추가. (예: nvme-demo-2 노드에 추가)
1.5 NVMeof 서비스 확인
$ ceph orch ls nvmeof
작업 시간이 소요되며, RUNNING 결과 (1/1)로 확인할 수 있습니다.
1.6 Ceph 관리노드에 로그인 (자동 로그인 일 경우, 생략)
$ podman login -u cp -p $entitlement_key_goes_here cp.icr.io
1.7 NVMe 이름 복사 (향후 사용, vme-demo-2 노드에서 실행)
$ cat /etc/nvme/hostnqn
1.8 NQN 추가 (관리 노드에서 실행)
$ nqn=”$nqn.2014-08.org.nvmexpress:uuid:b7340342-f923-173a-a550-4d9d60f2ecd6”
2. NVMe Gateway 구성
2.1 NVMe Subsystem 생성
$ podman run -it cp.icr.io/cp/ibm-ceph/nvmeof-cli-rhel9:latest --server-address $ip_of_node --server-port 5500 create_subsystem --subnqn $nqn --max-namespaces 256
작업 시간이 많이 소요되며, 생성 중 질문에 대해 "True" 응답한다.
2.2 NVMeof TCP Gateway daemon 이름 확인
$ ceph orch ps | grep nvmeof
2.3 NVMe Subsystem에 Daemon 추가
$ podman run -it cp.icr.io/cp/ibm-ceph/nvmeof-cli-rhel9:latest --server-address $ip_of_node --server-port 5500 create_listener -n $nqn -g client.$nvmeof.nvme_datastore01.nvme-demo-2.fidpef -a $ip_of_node -s 4420
참고 사항으로 전자에 "client" 를 붙여서 진행합니다.
2.4 승인된 Initiators 생성
$ podman run -it cp.icr.io/cp/ibm-ceph/nvmeof-cli-rhel9:latest --server-address $ip_of_node --server-port 5500 add_host --subnqn $nqn --host "$nqn.2014-08.com.vmware:nvme:nvme-esxi"
또는 모두가 접근 가능하도록 설정
$ podman run -it cp.icr.io/cp/ibm-ceph/nvmeof-cli-rhel9:latest --server-address $ip_of_node --server-port 5500 add_host --subnqn $nqn --host “*”
2.5 NMVe over TCP 할당 (RBD 이미지와 연결)
$ podman run -it cp.icr.io/cp/ibm-ceph/nvmeof-cli-rhel9:latest --server-address $ip_of_node --server-port 5500 create_bdev --pool $nvme_datastore01 --image $nvme_image01 --bdev $ceph_nvme_block01
2.6 Namespace 생성 (RBD 연동)
$ podman run -it cp.icr.io/cp/ibm-ceph/nvmeof-cli-rhel9:latest --server-address $ip_of_node --server-port 5500 add_namespace --subnqn $nqn --bdev $ceph_nvme_block01
이제까지 Ceph 클러스터 노드에 NVMe Gateway를 설치하는 법을 알아 보았습니다.
본 내용은 IBM Blog을 통하여 확인된 내용으로 Tech Preview 코드임을 참고하시기 바랍니다. 아래 링크를 통하여 blog 원본을 확인하실 수 있습니다.
Original
'Software Defined Storage' 카테고리의 다른 글
Ceph Storage 기본 성능 테스트 방법 (Benchmark) (0) | 2024.04.25 |
---|---|
IBM Storage Ceph S3-Select 벤치마크 (Trino을 사용한 TPC-DS) (0) | 2024.04.22 |
Ceph Reef 성능 테스트 (RBD) (0) | 2024.03.18 |
볼륨 성능 테스트 방법 (0) | 2021.09.27 |
Gluster 볼륨을 통한 Samba 서비스 구성 (0) | 2020.10.12 |