5.5. 명령줄 인터페이스를 사용하여 단방향 미러링 구성
다음 절차에서는 기본 스토리지 클러스터에서 보조 스토리지 클러스터로 풀의 단방향 복제를 구성합니다.
단방향 복제를 사용하는 경우 여러 보조 스토리지 클러스터에 미러링할 수 있습니다.
이 섹션의 예는 기본 이미지를 site-a
로 참조하며 이미지를 site-b
로 복제하는 보조 스토리지 클러스터를 참조하여 두 스토리지 클러스터를 구분합니다. 이 예제에서 사용되는 풀 이름을 data
라고 합니다.
사전 요구 사항
- Red Hat Ceph Storage 클러스터 최소 2개 이상 정상 및 실행 중인.
- 각 스토리지 클러스터의 Ceph 클라이언트 노드에 대한 루트 수준 액세스.
- 관리자 수준의 기능이 있는 CephX 사용자.
- 풀 내의 이미지에는 저널 기반 미러링에 사용할 수 있는 독점 잠금 및 저널링이 활성화되어 있어야 합니다.
절차
site-b
스토리지 클러스터에 연결된 클라이언트 노드에rbd-mirror
패키지를 설치합니다.Red Hat Enterprise Linux 7
yum install rbd-mirror
[root@rbd-client ~]# yum install rbd-mirror
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat Enterprise Linux 8
dnf install rbd-mirror
[root@rbd-client ~]# dnf install rbd-mirror
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고패키지는 Red Hat Ceph Storage Tools 리포지토리에서 제공됩니다.
이미지에서 배타적 잠금 및 저널링 기능을 활성화합니다.
새 이미지 의 경우
--image-feature
옵션을 사용합니다.구문
rbd create IMAGE_NAME --size MEGABYTES --pool POOL_NAME --image-feature FEATURE [,FEATURE]
rbd create IMAGE_NAME --size MEGABYTES --pool POOL_NAME --image-feature FEATURE [,FEATURE]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
rbd create image1 --size 1024 --pool data --image-feature exclusive-lock,journaling
[root@rbd-client ~]# rbd create image1 --size 1024 --pool data --image-feature exclusive-lock,journaling
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 기존 이미지 의 경우
rbd 기능 enable 명령을
사용합니다.구문
rbd feature enable POOL_NAME/IMAGE_NAME FEATURE [,FEATURE]
rbd feature enable POOL_NAME/IMAGE_NAME FEATURE [,FEATURE]
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
rbd feature enable data/image1 exclusive-lock,journaling
[root@rbd-client ~]# rbd feature enable data/image1 exclusive-lock,journaling
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 기본적으로 모든 새 이미지에서 배타적 잠금 및 저널링을 활성화하려면 Ceph 구성 파일에 다음 설정을 추가합니다.
rbd_default_features = 125
rbd_default_features = 125
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
미러링 모드(풀 또는 이미지 모드)를 선택합니다.
중요스냅샷 기반 미러링에 이미지 모드를 사용합니다.
풀 모드 활성화:
구문
rbd mirror pool enable POOL_NAME MODE
rbd mirror pool enable POOL_NAME MODE
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
rbd mirror pool enable data pool
[root@rbd-client ~]# rbd mirror pool enable data pool
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예제에서는
data
라는 전체 풀을 미러링할 수 있습니다.이미지 모드 활성화:
구문
rbd mirror pool enable POOL_NAME MODE
rbd mirror pool enable POOL_NAME MODE
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
rbd mirror pool enable data image
[root@rbd-client ~]# rbd mirror pool enable data image
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예제에서는
data
라는 풀에서 이미지 모드 미러링을 활성화합니다.미러링이 성공적으로 활성화되었는지 확인합니다.
구문
rbd mirror pool info POOL_NAME
rbd mirror pool info POOL_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
rbd mirror pool info data
[root@rbd-client ~]# rbd mirror pool info data Mode: image Site Name: 94cbd9ca-7f9a-441a-ad4b-52a33f9b7148 Peer Sites: none
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
site-a
클러스터에서 다음 단계를 완료합니다.Ceph 클라이언트 노드에서 사용자를 생성합니다.
구문
ceph auth get-or-create client.PRIMARY_CLUSTER_NAME mon 'profile rbd-mirror' osd 'profile rbd' -o /etc/ceph/ceph.PRIMARY_CLUSTER_NAME.keyring
ceph auth get-or-create client.PRIMARY_CLUSTER_NAME mon 'profile rbd-mirror' osd 'profile rbd' -o /etc/ceph/ceph.PRIMARY_CLUSTER_NAME.keyring
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
ceph auth get-or-create client.rbd-mirror.site-a mon 'profile rbd-mirror' osd 'profile rbd' -o /etc/ceph/ceph.client.rbd-mirror.site-a.keyring
[root@rbd-client-site-a ~]# ceph auth get-or-create client.rbd-mirror.site-a mon 'profile rbd-mirror' osd 'profile rbd' -o /etc/ceph/ceph.client.rbd-mirror.site-a.keyring
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 인증 키를
site-b
클러스터에 복사합니다.구문
scp /etc/ceph/ceph.PRIMARY_CLUSTER_NAME.keyring root@SECONDARY_CLUSTER:_PATH_
scp /etc/ceph/ceph.PRIMARY_CLUSTER_NAME.keyring root@SECONDARY_CLUSTER:_PATH_
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
scp /etc/ceph/ceph.client.rbd-mirror.site-a.keyring root@rbd-client-site-b:/etc/ceph/
[root@rbd-client-site-a ~]# scp /etc/ceph/ceph.client.rbd-mirror.site-a.keyring root@rbd-client-site-b:/etc/ceph/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ceph 클라이언트 노드에서 스토리지 클러스터 피어를 부트스트랩합니다.
스토리지 클러스터 피어를 풀에 등록합니다.
구문
rbd mirror pool peer bootstrap create --site-name LOCAL_SITE_NAME POOL_NAME > PATH_TO_BOOTSTRAP_TOKEN
rbd mirror pool peer bootstrap create --site-name LOCAL_SITE_NAME POOL_NAME > PATH_TO_BOOTSTRAP_TOKEN
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
rbd mirror pool peer bootstrap create --site-name rbd-mirror.site-a data > /root/bootstrap_token_rbd-mirror.site-a
[root@rbd-client-site-a ~]# rbd mirror pool peer bootstrap create --site-name rbd-mirror.site-a data > /root/bootstrap_token_rbd-mirror.site-a
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고이 예제 bootstrap 명령은
client.rbd-mirror-peer
Ceph 사용자를 생성합니다.부트스트랩 토큰 파일을
site-b
스토리지 클러스터에 복사합니다.구문
scp PATH_TO_BOOTSTRAP_TOKEN root@SECONDARY_CLUSTER:/root/
scp PATH_TO_BOOTSTRAP_TOKEN root@SECONDARY_CLUSTER:/root/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
scp /root/bootstrap_token_site-a root@ceph-rbd2:/root/
[root@rbd-client-site-a ~]# scp /root/bootstrap_token_site-a root@ceph-rbd2:/root/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
site-b
클러스터에서 다음 단계를 완료합니다.클라이언트 노드에서 사용자를 생성합니다.
구문
ceph auth get-or-create client.SECONDARY_CLUSTER_NAME mon 'profile rbd-mirror' osd 'profile rbd' -o /etc/ceph/ceph.SECONDARY_CLUSTER_NAME.keyring
ceph auth get-or-create client.SECONDARY_CLUSTER_NAME mon 'profile rbd-mirror' osd 'profile rbd' -o /etc/ceph/ceph.SECONDARY_CLUSTER_NAME.keyring
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
ceph auth get-or-create client.rbd-mirror.site-b mon 'profile rbd-mirror' osd 'profile rbd' -o /etc/ceph/ceph.client.rbd-mirror.site-b.keyring
[root@rbd-client-site-b ~]# ceph auth get-or-create client.rbd-mirror.site-b mon 'profile rbd-mirror' osd 'profile rbd' -o /etc/ceph/ceph.client.rbd-mirror.site-b.keyring
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 인증 키를 Ceph 클라이언트 노드인
site-a
클러스터에 복사합니다.구문
scp /etc/ceph/ceph.SECONDARY_CLUSTER_NAME.keyring root@PRIMARY_CLUSTER:_PATH_
scp /etc/ceph/ceph.SECONDARY_CLUSTER_NAME.keyring root@PRIMARY_CLUSTER:_PATH_
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
scp /etc/ceph/ceph.client.rbd-mirror.site-b.keyring root@rbd-client-site-a:/etc/ceph/
[root@rbd-client-site-b ~]# scp /etc/ceph/ceph.client.rbd-mirror.site-b.keyring root@rbd-client-site-a:/etc/ceph/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 부트스트랩 토큰을 가져옵니다.
구문
rbd mirror pool peer bootstrap import --site-name LOCAL_SITE_NAME --direction rx-only POOL_NAME PATH_TO_BOOTSTRAP_TOKEN
rbd mirror pool peer bootstrap import --site-name LOCAL_SITE_NAME --direction rx-only POOL_NAME PATH_TO_BOOTSTRAP_TOKEN
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
rbd mirror pool peer bootstrap import --site-name rbd-mirror.site-b --direction rx-only data /root/bootstrap_token_rbd-mirror.site-a
[root@rbd-client-site-b ~]# rbd mirror pool peer bootstrap import --site-name rbd-mirror.site-b --direction rx-only data /root/bootstrap_token_rbd-mirror.site-a
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고단방향 RBD 미러링의 경우 피어를 부트 스트랩할 때 양방향 미러링이 기본값이므로
--direction rx-only
인수를 사용해야 합니다.클라이언트 노드에서
rbd-mirror
데몬을 활성화하고 시작합니다.구문
systemctl enable ceph-rbd-mirror.target systemctl enable ceph-rbd-mirror@rbd-mirror.CLIENT_ID systemctl start ceph-rbd-mirror@rbd-mirror.CLIENT_ID
systemctl enable ceph-rbd-mirror.target systemctl enable ceph-rbd-mirror@rbd-mirror.CLIENT_ID systemctl start ceph-rbd-mirror@rbd-mirror.CLIENT_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow CLIENT_ID
를 이전에 만든 Ceph 사용자로 교체합니다.예제
systemctl enable ceph-rbd-mirror.target systemctl enable ceph-rbd-mirror@rbd-mirror.site-a systemctl start ceph-rbd-mirror@rbd-mirror.site-a
[root@rbd-client-site-b ~]# systemctl enable ceph-rbd-mirror.target [root@rbd-client-site-b ~]# systemctl enable ceph-rbd-mirror@rbd-mirror.site-a [root@rbd-client-site-b ~]# systemctl start ceph-rbd-mirror@rbd-mirror.site-a
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
중요각
rbd-mirror
데몬에는 고유한 클라이언트 ID가 있어야 합니다.미러링 상태를 확인하려면
site-a
및site-b
클러스터의 Ceph Monitor 노드에서 다음 명령을 실행합니다.구문
rbd mirror image status POOL_NAME/IMAGE_NAME
rbd mirror image status POOL_NAME/IMAGE_NAME
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
저널 기반 미러링:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 스냅샷 기반 미러링:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 예제
저널 기반 미러링:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 스냅샷 기반 미러링:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고사이트 간 연결에 따라 미러링은 이미지를 동기화하는 데 시간이 오래 걸릴 수 있습니다.
추가 리소스
- 자세한 내용은 Red Hat Ceph Storage Block Device Guide의 Ceph 블록 장치 미러링 섹션을 참조하십시오.
- Ceph 사용자에 대한 자세한 내용은 Red Hat Ceph Storage 관리 가이드의 사용자 관리 섹션을 참조하십시오.