6.4. 명령줄 인터페이스를 사용하여 양방향 미러링 구성
이 절차에서는 기본 스토리지 클러스터와 보조 스토리지 클러스터 간에 풀의 양방향 복제를 구성합니다.
양방향 복제를 사용하는 경우 두 스토리지 클러스터만 미러링할 수 있습니다.
이 섹션의 예제에서는 기본 이미지를 site-a로 사용하여 기본 스토리지 클러스터를 참조하여 두 개의 스토리지 클러스터를 구분하고 이미지를
로 복제하는 보조 스토리지 클러스터를 구분합니다. 이러한 예제에서 사용된 풀 이름을 site-
bdata
라고 합니다.
사전 요구 사항
- 최소 2개의 정상 및 실행 중인 Red Hat Ceph Storage 클러스터.
- 각 스토리지 클러스터의 Ceph 클라이언트 노드에 대한 루트 수준 액세스.
- 관리자 수준의 기능이 있는 CephX 사용자.
절차
두 사이트 모두에서
cephadm
쉘에 로그인합니다.예제
[root@site-a ~]# cephadm shell [root@site-b ~]# cephadm shell
site-a
기본 클러스터에서 다음 명령을 실행합니다.예제
[ceph: root@site-a /]# ceph orch apply rbd-mirror --placement=host01
참고nodename
은 미러링을 설정하려는 호스트입니다.site-b
에서 보조 클러스터에서 mirror 데몬 배포를 예약합니다.구문
ceph orch apply rbd-mirror --placement=NODENAME
예제
[ceph: root@site-b /]# ceph orch apply rbd-mirror --placement=host04
참고nodename
은 보조 클러스터에서 미러링을 설정하려는 호스트입니다.site-a
의 이미지에서 저널링 기능을 활성화합니다.새 이미지의 경우
--image-feature
옵션을 사용하십시오.구문
rbd create IMAGE_NAME --size MEGABYTES --pool POOL_NAME --image-feature FEATURE FEATURE
예제
[ceph: root@site-a /]# rbd create image1 --size 1024 --pool data --image-feature exclusive-lock,journaling
참고exclusive-lock
이 이미 활성화된 경우journaling
을 유일한 인수로 사용하십시오. 그렇지 않으면 다음 오류를 반환합니다.one or more requested features are already enabled (22) Invalid argument
기존 이미지의 경우
rbd feature enable
명령을 사용합니다.구문
rbd feature enable POOL_NAME/IMAGE_NAME FEATURE, FEATURE
예제
[ceph: root@site-a /]# rbd feature enable data/image1 exclusive-lock, journaling
기본적으로 모든 새 이미지에서 저널링을 활성화합니다.
구문
ceph config set global rbd_default_features SUM_OF_FEATURE_NUMERIC_VALUES ceph config show HOST01 rbd_default_features
예제
[ceph: root@site-a /]# ceph config set global rbd_default_features 125 [ceph: root@site-a /]# ceph config show mon.host01 rbd_default_features
두 스토리지 클러스터에서 미러링 모드(풀 또는 이미지 모드)를 선택합니다.
풀 모드 활성화 :
구문
rbd mirror pool enable POOL_NAME MODE
예제
[ceph: root@site-a /]# rbd mirror pool enable data pool [ceph: root@site-b /]# rbd mirror pool enable data pool
이 예에서는
data
라는 전체 풀을 미러링할 수 있습니다.이미지 모드 활성화 :
구문
rbd mirror pool enable POOL_NAME MODE
예제
[ceph: root@site-a /]# rbd mirror pool enable data image [ceph: root@site-b /]# rbd mirror pool enable data image
이 예에서는
data
풀에서 이미지 모드 미러링을 활성화합니다.참고풀의 특정 이미지에 미러링을 사용하려면 Red Hat Ceph Storage 블록 장치 가이드 의 이미지 미러링 활성화 섹션을 참조하십시오.
두 사이트 모두에서 미러링이 성공적으로 활성화되었는지 확인합니다.
구문
rbd mirror pool info POOL_NAME
예제
[ceph: root@site-a /]# rbd mirror pool info data Mode: pool Site Name: c13d8065-b33d-4cb5-b35f-127a02768e7f Peer Sites: none [ceph: root@site-b /]# rbd mirror pool info data Mode: pool Site Name: a4c667e2-b635-47ad-b462-6faeeee78df7 Peer Sites: none
Ceph 클라이언트 노드에서 스토리지 클러스터 피어를 부트스트랩합니다.
Ceph 사용자 계정을 생성하고 스토리지 클러스터 피어를 풀에 등록합니다.
구문
rbd mirror pool peer bootstrap create --site-name PRIMARY_LOCAL_SITE_NAME POOL_NAME > PATH_TO_BOOTSTRAP_TOKEN
예제
[ceph: root@rbd-client-site-a /]# rbd mirror pool peer bootstrap create --site-name site-a data > /root/bootstrap_token_site-a
참고이 예제 부트스트랩 명령은
client.rbd-mirror.site-a
및client.rbd-mirror-peer
Ceph 사용자를 생성합니다.-
부트스트랩 토큰 파일을
site-b
스토리지 클러스터에 복사합니다. site-b
스토리지 클러스터에서 부트스트랩 토큰을 가져옵니다.구문
rbd mirror pool peer bootstrap import --site-name SECONDARY_LOCAL_SITE_NAME --direction rx-tx POOL_NAME PATH_TO_BOOTSTRAP_TOKEN
예제
[ceph: root@rbd-client-site-b /]# rbd mirror pool peer bootstrap import --site-name site-b --direction rx-tx data /root/bootstrap_token_site-a
참고피어를 부트스트랩할 때 양방향 미러링이 기본값이므로
--direction
인수는 선택 사항입니다.
미러링 상태를 확인하려면 기본 및 보조 사이트의 Ceph 모니터 노드에서 다음 명령을 실행합니다.
구문
rbd mirror image status POOL_NAME/IMAGE_NAME
예제
[ceph: root@mon-site-a /]# rbd mirror image status data/image1 image1: global_id: a4c667e2-b635-47ad-b462-6faeeee78df7 state: up+stopped description: local image is primary service: host03.glsdbv on host03.ceph.redhat.com last_update: 2021-09-16 10:55:58 peer_sites: name: a state: up+stopped description: replaying, {"bytes_per_second":0.0,"entries_behind_primary":0,"entries_per_second":0.0,"non_primary_position":{"entry_tid":3,"object_number":3,"tag_tid":1},"primary_position":{"entry_tid":3,"object_number":3,"tag_tid":1}} last_update: 2021-09-16 10:55:50
여기서는
rbd
-mirror
데몬이 실행 중임을 의미하며중지됨
은 이 이미지가 다른 스토리지 클러스터에서 복제 대상이 아님을 의미합니다. 이는 이미지가 이 스토리지 클러스터에서 기본이기 때문입니다.예제
[ceph: root@mon-site-b /]# rbd mirror image status data/image1 image1: global_id: a4c667e2-b635-47ad-b462-6faeeee78df7 state: up+replaying description: replaying, {"bytes_per_second":0.0,"entries_behind_primary":0,"entries_per_second":0.0,"non_primary_position":{"entry_tid":3,"object_number":3,"tag_tid":1},"primary_position":{"entry_tid":3,"object_number":3,"tag_tid":1}} service: host05.dtisty on host05 last_update: 2021-09-16 10:57:20 peer_sites: name: b state: up+stopped description: local image is primary last_update: 2021-09-16 10:57:28
이미지가
up+replaying
상태인 경우 미러링이 제대로 작동합니다. 여기서는rbd
-mirror 데몬이
실행 중임을 의미하며 재생
은 이 이미지가 다른 스토리지 클러스터에서 복제 대상임을 의미합니다.참고사이트 간 연결에 따라 미러링은 이미지를 동기화하는 데 시간이 오래 걸릴 수 있습니다.
추가 리소스
- 자세한 내용은 Red Hat Ceph Storage Block Device Guide의 Ceph블록 장치 미러링 섹션을 참조하십시오.
- Ceph 사용자에 대한 자세한 내용은 Red Hat Ceph Storage 관리 가이드 의 사용자 관리 섹션 을 참조하십시오.