2.12. 풀 간 이미지 이동
RADOS Block Device(RBD) 이미지를 동일한 클러스터 내의 여러 풀 간에 이동할 수 있습니다.
이 프로세스 중에 소스 이미지는 모든 스냅샷 기록이 포함된 대상 이미지에 복사되고 선택적으로 소스 이미지의 상위 링크와 함께 스파스를 보존할 수 있습니다. 소스 이미지는 읽기 전용이며 대상 이미지에 쓸 수 있습니다. 마이그레이션이 진행되는 동안 대상 이미지는 소스 이미지에 연결됩니다.
새 대상 이미지가 사용 중인 동안 백그라운드에서 이 프로세스를 안전하게 실행할 수 있습니다. 그러나 이미지를 사용하는 클라이언트가 새 대상 이미지를 가리키도록 업데이트되도록 준비 단계 전에 대상 이미지를 사용하는 모든 클라이언트를 중지합니다.
krbd
커널 모듈은 현재 실시간 마이그레이션을 지원하지 않습니다.
사전 요구 사항
- 소스 이미지를 사용하는 모든 클라이언트를 중지합니다.
- 클라이언트 노드에 대한 루트 수준 액세스.
프로세스
소스 및 대상 이미지를 교차 링크하는 새 대상 이미지를 생성하여 마이그레이션을 준비합니다.
구문
rbd migration prepare SOURCE_IMAGE TARGET_IMAGE
교체:
- 이동할 이미지의 이름이 SOURCE_IMAGE 입니다. POOL/IMAGE_NAME 형식을 사용합니다.
- TARGET_IMAGE 새 이미지 이름입니다. POOL/IMAGE_NAME 형식을 사용합니다.
예
[root@rbd-client ~]# rbd migration prepare pool1/image1 pool2/image2
준비되어야
하는 새 대상 이미지의 상태를 확인합니다.구문
rbd status TARGET_IMAGE
예
[root@rbd-client ~]# rbd status pool2/image2 Watchers: none Migration: source: pool1/image1 (5e2cba2f62e) destination: pool2/image2 (5e2ed95ed806) state: prepared
- 선택적으로 새 대상 이미지 이름을 사용하여 클라이언트를 다시 시작합니다.
소스 이미지를 대상 이미지에 복사합니다.
구문
rbd migration execute TARGET_IMAGE
예
[root@rbd-client ~]# rbd migration execute pool2/image2
마이그레이션이 완료되었는지 확인합니다.
예
[root@rbd-client ~]# rbd status pool2/image2 Watchers: watcher=1.2.3.4:0/3695551461 client.123 cookie=123 Migration: source: pool1/image1 (5e2cba2f62e) destination: pool2/image2 (5e2ed95ed806) state: executed
소스 이미지와 대상 이미지 간의 교차 링크를 제거하여 마이그레이션을 커밋하고 소스 이미지도 제거합니다.
구문
rbd migration commit TARGET_IMAGE
예
[root@rbd-client ~]# rbd migration commit pool2/image2
소스 이미지가 하나 이상의 복제의 상위 이미지인 경우 복제 이미지를 사용하지 않도록 한 후
--force
옵션을 사용합니다.예
[root@rbd-client ~]# rbd migration commit pool2/image2 --force
- 준비 단계 후에 클라이언트를 다시 시작하지 않은 경우 새 대상 이미지 이름을 사용하여 해당 클라이언트를 다시 시작합니다.