Ceph 백업 (rbd export and import) 스냅샷 이미지를 파일로 추출, 복원

리눅스/Ceph|2016. 8. 9. 15:21
반응형

스냅샷과는 달리 눈에 보이는 image 파일로 추출하여 별도로 백업해둘 수 있습니다.

알고 계셔야 할것은 image 파일은 스냅샷 파일을 이용해서 만든다는것 입니다.



1. 백업 (export)


# cd /backup


(형식) rbd export {pool-name}/{image-name}@{snapshot-name} {image-file-name)

# rbd export sysdocu-pool/vda@sysdocu-pool-snap-2016-08-09 test.img

Exporting image: 100% complete...done.


# ll

합계 225288

drwxr-xr-x  2 root root      4096  8월  9 15:11 ./

drwxr-xr-x 24 root root      4096  8월  8 13:41 ../

-rw-r--r--  1 root root 314572800  8월  9 15:11 test.img



2. 복원 (import)


확인을 위해 기존 image (volume) 을 삭제하고, 백업했던 test.img 파일로 복원해 봅니다.


(ceph-client 에서)


# umount /mnt/mycephfs    // 사용중인 장치를 언마운트 합니다.


# rbd unmap /dev/rbd0    // 장치를 해제 합니다.



(ceph node 에서)


# rbd -p sysdocu-pool list    // sysdocu-pool 내에서 사용중인 이미지 확인

vda


(형식) rbd --pool {pool-name} snap purge {image-name}

# rbd --pool sysdocu-pool snap purge vda    // 스냅샷이 존재하면 image 삭제가 되지 않으므로 스냅샷 우선 일괄 삭제

Removing all snapshots: 100% complete...done.


(형식) rbd rm {image-name} -p {pool-name}

# rbd rm vda -p sysdocu-pool    // 기존 image (volume) 삭제

Removing image: 100% complete...done.


# rbd -p sysdocu-pool list    // 이미지 삭제 확인



이제 백업되었던 파일에서 이미지를 복원해봅니다.


# cd /backup


(형식) # rbd import --image-format 2 {image-file-name} {pool-name}/{image-name} --image-feature layering

# rbd import --image-format 2 test.img sysdocu-pool/vda --image-feature layering


# rbd -p sysdocu-pool list    // 이미지 복원 확인

vda

// 혹시 복원이 안된다거나 복원 후 다시 삭제가 되지 않는다면 pool 보다 image 사이즈가 큰지 생각해봐야합니다.

// (pool 삭제, 재생성으로 해결 가능)



(ceph-client 에서)


# rbd --mon_host 192.168.56.11 --conf /dev/null --keyring /dev/null --name client.sysdocu --key AQAJRKRXJ3UxEBAAFxLI1hMRop6AVLa3wr5ruQ== --pool sysdocu-pool map vda


# mount /dev/rbd0 /mnt/mycephfs/


# df -h

Filesystem      Size  Used Avail Use% Mounted on

udev            982M     0  982M   0% /dev

tmpfs           201M  5.8M  195M   3% /run

/dev/sda1       7.8G  2.3G  5.1G  32% /

tmpfs          1001M     0 1001M   0% /dev/shm

tmpfs           5.0M     0  5.0M   0% /run/lock

tmpfs          1001M     0 1001M   0% /sys/fs/cgroup

tmpfs           100K     0  100K   0% /run/lxcfs/controllers

tmpfs           201M     0  201M   0% /run/user/0

/dev/rbd0       298M  207M   92M  70% /mnt/mycephfs



반응형

댓글()