검색

4.5. D3N 데이터 캐시

download PDF

datacenter-Data-Delivery Network(D3N)는 NVMe 와 같은 고속 스토리지를 사용하여 액세스 측의 데이터 집합을 캐시합니다. 이러한 캐싱을 사용하면 빅 데이터 작업에서 엣지의 각 Rados Gateway 노드에서 사용할 수 있는 컴퓨팅 및 빠른 저장소 리소스를 사용할 수 있습니다. Rados 게이트웨이는 백엔드 오브젝트 저장소(OSD)의 캐시 서버 역할을 하며 재사용을 위해 로컬로 데이터를 저장합니다.

참고

Rados 게이트웨이를 다시 시작할 때마다 캐시 디렉터리의 콘텐츠가 제거됩니다.

4.5.1. D3N 캐시 디렉토리 추가

RGW에서 D3N 캐시를 활성화하려면 podman unit.run 에 D3N 캐시 디렉토리도 포함해야 합니다.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터.
  • Ceph 개체 게이트웨이가 설치되어 있어야 합니다.
  • 관리 노드에 대한 루트 수준 액세스.
  • 각 RGW 노드에 있는 빠른 NVMe 드라이브로 로컬 캐시 스토리지 역할을 합니다.

프로세스

  1. NVMe 드라이브의 마운트 지점을 생성합니다.

    구문

    mkfs.ext4 nvme-drive-path

    예제

    [ceph: root@host01 /]# mkfs.ext4 /dev/nvme0n1
    mount /dev/nvme0n1 /mnt/nvme0n1/

  2. 캐시 디렉터리 경로를 만듭니다.

    구문

    mkdir <nvme-mount-path>/cache-directory-name

    예제

    [ceph: root@host01 /]# mkdir /mnt/nvme0n1/rgw_datacache

  3. nvme-mount-pathrgw_d3n_l1_datacache_persistent_path+rwx 권한을 제공합니다.

    구문

    chmod a+rwx nvme-mount-path ; chmod a+rwx rgw_d3n_l1_datacache_persistent_path

    예제

    [ceph: root@host01 /]# chmod a+rwx /mnt/nvme0n1 ; chmod a+rwx /mnt/nvme0n1/rgw_datacache/

  4. extra_container_args 를 사용하여 RGW 사양 파일을 생성/수정하여 rgw_d3n_l1_datacache_persistent_pathpodman unit.run 에 추가합니다.

    구문

    "extra_container_args:
              "-v"
              "rgw_d3n_l1_datacache_persistent_path:rgw_d3n_l1_datacache_persistent_path"
    			"

    예제

    [ceph: root@host01 /]# cat rgw-spec.yml
    	service_type: rgw
    	service_id: rgw.test
    	placement:
    		hosts:
    		    host1
    		    host2
    		extra_container_args:
    		    "-v"
    		    "/mnt/nvme0n1/rgw_datacache/:/mnt/nvme0n1/rgw_datacache/"

    참고

    단일 호스트에 RGW 인스턴스가 여러 개인 경우 각 인스턴스에 대해 별도의 rgw_d3n_l1_datacache_persistent_path 를 생성해야 하며 extra_container_args 에 각 경로를 추가해야 합니다.

    :

    각 호스트의 RGW 두 개의 인스턴스에 대해 rgw_d3n_l1_data cache_persistent_path:/mnt/nvme0n1/rgw_datacache/rgw1/mnt/nvme0n1/rgw_datacache/rgw2아래에 두 개의 별도의 캐시 디렉토리를 만듭니다.

    rgw 사양 파일의 "extra_container_args"를 예로 들 수 있습니다.

    "extra_container_args:
    	"-v"
    	"/mnt/nvme0n1/rgw_datacache/rgw1/:/mnt/nvme0n1/rgw_datacache/rgw1/"
    	"-v"
    	"/mnt/nvme0n1/rgw_datacache/rgw2/:/mnt/nvme0n1/rgw_datacache/rgw2/"
    "

    rgw-spec.yml의 예::

    [ceph: root@host01 /]# cat rgw-spec.yml
    	service_type: rgw
    		service_id: rgw.test
    		placement:
    			hosts:
    				host1
    				host2
    			count_per_host: 2
    			extra_container_args:
    				"-v"
    				"/mnt/nvme0n1/rgw_datacache/rgw1/:/mnt/nvme0n1/rgw_datacache/rgw1/"
    				"-v"
    				"/mnt/nvme0n1/rgw_datacache/rgw2/:/mnt/nvme0n1/rgw_datacache/rgw2/"
  5. RGW 서비스를 재배포합니다.

    예제

    [ceph: root@host01 /]# ceph orch apply -i rgw-spec.yml

4.5.2. rados 게이트웨이에서 D3N 구성

기존 RGW에 D3N 데이터 캐시를 구성하여 Red Hat Ceph Storage 클러스터에서 실행되는 빅 데이터 작업의 성능을 향상시킬 수 있습니다.

사전 요구 사항

  • 실행 중인 Red Hat Ceph Storage 클러스터.
  • Ceph 개체 게이트웨이가 설치되어 있어야 합니다.
  • 관리 노드에 대한 루트 수준 액세스.
  • 캐시 스토리지 역할을 하는 빠른 NVMe입니다.

필요한 D3N 관련 구성 추가

기존 RGW에서 D3N을 활성화하려면 각 Rados 게이트웨이 클라이언트에 대해 다음 구성을 설정해야 합니다.

구문

# ceph config set <client.rgw> <CONF-OPTION> <VALUE>

  • rgw_d3n_l1_local_datacache_enabled=true
  • rgw_d3n_l1_datacache_persistent_path= 캐시 디렉터리의경로

    예제

    rgw_d3n_l1_datacache_persistent_path=/mnt/nvme/rgw_datacache/

  • rgw_d3n_l1_datacache_size=max_size_of_cache_in_bytes

    예제

    rgw_d3n_l1_datacache_size=10737418240

절차 예

  1. 테스트 오브젝트를 생성합니다.

    참고

    테스트 오브젝트는 캐시하려면 4MB보다 커야 합니다.

    예제

    [ceph: root@host01 /]# fallocate -l 1G ./1G.dat
    [ceph: root@host01 /]# s3cmd mb s3://bkt
    [ceph: root@host01 /]# s3cmd put ./1G.dat s3://bkt

  2. GET 오브젝트를 수행합니다.

    예제

    [ceph: root@host01 /]# s3cmd get s3://bkt/1G.dat /dev/shm/1G_get.dat
    download: 's3://bkt/1G.dat' -> './1G_get.dat'  [1 of 1]
    1073741824 of 1073741824   100% in   13s    73.94 MB/s  done

  3. 캐시 생성을 확인합니다. 캐시는 구성된 rgw_d3n_l1_datacache_persistent_path 내에 오브젝트 키-이름으로 구성된 이름으로 생성됩니다.

    예제

    [ceph: root@host01 /]# ls -lh /mnt/nvme/rgw_datacache
    
    rw-rr. 1 ceph ceph 1.0M Jun  2 06:18 cc7f967c-0021-43b2-9fdf-23858e868663.615391.1_shadow.ZCiCtMWeu_19wb100JIEZ-o4tv2IyA_1

  4. 오브젝트에 대한 캐시가 생성되면 해당 오브젝트에 대한 다음 GET 작업에서 캐시에서 액세스하면 더 빠르게 액세스할 수 있습니다.

    예제

    [ceph: root@host01 /]# s3cmd get s3://bkt/1G.dat /dev/shm/1G_get.dat
    download: 's3://bkt/1G.dat' -> './1G_get.dat'  [1 of 1]
    1073741824 of 1073741824   100% in    6s   155.07 MB/s  done

    위 예제에서는 캐시 가속을 설명하기 위해 RAM 드라이브(/dev/shm)에 씁니다.

추가 리소스

  • 고가용성 사용에 대한 자세한 내용은 Red Hat Ceph Storage 문제 해결 가이드의 Ceph 하위 시스템 기본 로깅 수준 값 섹션을 참조하십시오.
  • 고가용성 사용에 대한 자세한 내용은 Red Hat Ceph Storage 문제 해결 가이드 의 Ceph 로그 이해 섹션을 참조하십시오.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.