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 data/source stack/target
새 대상 이미지의 상태를 확인합니다.
준비
됨:구문
rbd status TARGET_IMAGE
예제
[root@rbd-client ~]# rbd status stack/target Watchers: none Migration: source: data/source (5e2cba2f62e) destination: stack/target (5e2ed95ed806) state: prepared
- 선택적으로 새 대상 이미지 이름을 사용하여 클라이언트를 다시 시작합니다.
대상 이미지에 소스 이미지를 복사합니다.
구문
rbd migration execute TARGET_IMAGE
예제
[root@rbd-client ~]# rbd migration execute stack/target
마이그레이션이 완료되었는지 확인합니다.
예제
[root@rbd-client ~]# rbd status stack/target Watchers: watcher=1.2.3.4:0/3695551461 client.123 cookie=123 Migration: source: data/source (5e2cba2f62e) destination: stack/target (5e2ed95ed806) state: executed
소스 이미지와 대상 이미지 간의 교차 링크를 제거하여 마이그레이션을 커밋하고 소스 이미지도 제거됩니다.
구문
rbd migration commit TARGET_IMAGE
예제
[root@rbd-client ~]# rbd migration commit stack/target
소스 이미지가 하나 이상의 복제본의 상위인 경우 복제 이미지가 사용되지 않도록 한 후
--force
옵션을 사용합니다.예제
[root@rbd-client ~]# rbd migration commit stack/target --force
- 준비 단계 후에 클라이언트를 다시 시작하지 않은 경우 새 대상 이미지 이름을 사용하여 클라이언트를 다시 시작합니다.