一、RBD回收
# 1、創建一塊盤
[root@node1 ~]# rbd create ceph-demo/ceph-trash.img --size 1G
# 2、info
[root@node1 ~]# rbd info ceph-demo/ceph-trash.img
rbd image 'ceph-trash.img':
size 1 GiB in 256 objects
order 22 (4 MiB objects)
snapshot_count: 0
id: 283b35df6c430
block_name_prefix: rbd_data.283b35df6c430
format: 2
features: layering, exclusive-lock, object-map, fast-diff, deep-flatten
op_features:
flags:
create_timestamp: Mon Jan 25 17:46:29 2021
access_timestamp: Mon Jan 25 17:46:29 2021
modify_timestamp: Mon Jan 25 17:46:29 2021
# 3、刪除(如果這樣刪,直接就沒了)
[root@node1 ~]# rbd rm ceph-demo/ceph-trash.img
Removing image: 100% complete...done.
# 4、回收站查看,也是沒有的
[root@node1 ~]# rbd -p ceph-demo trash ls
# 5、再次創建,然后通過回收站的形式刪除
[root@node1 ~]# rbd create ceph-demo/ceph-trash.img --size 1G
--expires-at 指定過期時間
[root@node1 ~]# rbd trash move ceph-demo/ceph-trash.img --expires-at 20201126
# 6、查看
[root@node1 ~]# rbd -p ceph-demo trash ls
2cff636e77644(回收就通過這個id回收) ceph-trash.img
# 7、回收操作
[root@node1 ~]# rbd trash restore -p ceph-demo 2cff636e77644
[root@node1 ~]# rbd -p ceph-demo trash ls
[root@node1 ~]# rbd -p ceph-demo ls # 恢復
ceph-trash.img
rbd-demo.img
二、RBD快照
也是一種備份的形式
[root@node1 ~]# rbd create ceph-demo/rbd-test.img --image-feature layering --size 1G
[root@node1 ~]# rbd info ceph-demo/rbd-test.img
rbd image 'rbd-test.img':
size 1 GiB in 256 objects
order 22 (4 MiB objects)
snapshot_count: 0
id: 2d00bff5c0ac4
block_name_prefix: rbd_data.2d00bff5c0ac4
format: 2
features: layering
op_features:
flags:
create_timestamp: Mon Jan 25 18:14:45 2021
access_timestamp: Mon Jan 25 18:14:45 2021
modify_timestamp: Mon Jan 25 18:14:45 2021
# 3、映射到本地文件系統,然后掛載起來
[root@node1 ~]# rbd device map ceph-demo/rbd-test.img
/dev/rbd0
[root@node1 ~]# mkfs.ext4 /dev/rbd0
[root@node1 ~]# mkdir /mnt/test1
[root@node1 ~]# mount /dev/rbd0 /mnt/test1
# 4、進到這里問價夾,創建一些文件,然后打快照,刪除原來的,再恢復
[root@node1 ~]# cd /mnt/test1; echo 111 > test
# 5、打快照
[root@node1 ~]# rbd snap create ceph-demo/rbd-test.img@snap_2021125
[root@node1 ~]# rbd snap ls ceph-demo/rbd-test.img
SNAPID NAME SIZE PROTECTED TIMESTAMP
4 snap_2021125 1 GiB Mon Jan 25 19:03:38 2021
# 6、誤刪數據、然后恢復數據(恢復之前的快照)
[root@node1 test1]# rm -rf test # 模擬刪除
[root@node1 test1]# rbd snap rollback ceph-demo/rbd-test.img@snap_2021125 # 回滾
Rolling back to snapshot: 100% complete...done.
# 7、查看文件是否恢復(顯然沒有,因為文件回滾的時候是離線的)。得卸載這個盤,再掛載才有
[root@node1 test1]# ll
[root@node1 ~]# umount /mnt/test1/
[root@node1 ~]# mount /dev/rbd0 /mnt/test1/
# 8、克隆快照、父子關系解除
三、RBD備份與恢復
# 1、查看現在有的快照
[root@node1 ~]# rbd snap ls ceph-demo/rbd-test.img
SNAPID NAME SIZE PROTECTED TIMESTAMP
4 snap_2021125 1 GiB Mon Jan 25 19:03:38 2021
# 2、導出快照、備份快照
[root@node1 ~]# rbd export ceph-demo/rbd-test.img@snap_2021125 /app/rbd-test.img
Exporting image: 100% complete...done.
# 3、導入快照、恢復快照
[root@node1 ~]# rbd import /app/rbd-test.img ceph-demo/rbd-test-new.img
Importing image: 100% complete...done.
四、RBD增量備份與增量恢復
[root@node1 ~]# rbd export-diff ceph-demo/rbd-test.img@snap_2021125 /app/rbd-test1.img
Exporting image: 100% complete...done.
[root@node1 ~]# ll -h /app/rbd-test1.img
-rw-r--r-- 1 root root 5.8M Jan 25 19:54 /app/rbd-test1.img
[root@node1 ~]# rbd import-diff /app/rbd-test1.img ceph-demo/rbd-test-new.img
# 3、查看文件是否恢復(顯然沒有,因為文件回滾的時候是離線的)。得卸載這個盤,再掛載才有
[root@node1 test1]# ll
[root@node1 ~]# umount /mnt/test1/
[root@node1 ~]# mount /dev/rbd0 /mnt/test1/
{{uploading-image-857883.png(uploading...)}}