Ceph 徹底支持快照,它是一個基於時間點的、只讀的 RBD 鏡像副本。 能夠經過建立快
照並恢復其原始數據,保存 Ceph RBD 鏡像的狀態。
快照操做:
(0)客戶端已經map了remote_rbd1 的rbdnode
[root@zabbix71 alertscripts]# rbd showmapped id pool namespace image snap device 0 rbd remote_rbd1 - /dev/rbd0
(1)rbd已經mount在mnt目錄centos
[root@zabbix71 alertscripts]# df -h Filesystem Size Used Avail Use% Mounted on /dev/rbd0 150G 9.8G 141G 7% /mnt
(2)在/mnt下建立2個測試文件服務器
[root@zabbix71 mnt]# ls ceph-file test test1
(3)服務器端作快照
語法:
rbd snap create<pool-name>/<image-name> @<snap-name app
[root@node140 ~]# rbd snap create rbd/remote_rbd1@snap1 [root@node140 ~]# rbd snap ls rbd/remote_rbd1 SNAPID NAME SIZE PROTECTED TIMESTAMP snap1 150 GiB Wed Aug 28 15:33:35 2019
(4)測試快照恢復功能,在客戶端刪除2個test 文件ide
[root@zabbix71 mnt]# ls ceph-file test test1 [root@zabbix71 mnt]# rm -fr *
(5)客戶端umount 掛載,取消map rbd 映射測試
[root@zabbix71 /]# umount /mnt/ [root@zabbix71 /]# rbd unmap remote_rbd1
註釋:若是不執行上面的卸載命令和取消映射就會出現以下報錯spa
[root@node140 /]# rbd snap rollback rbd/remote_rbd1@snap1 Rolling back to snapshot: 0% complete...failed. rbd: rollback failed: (30) Read-only file system
(6)經過快照進行回滾,注意快照回滾,以前的數據會被覆蓋
語法:rbd snap rollback pool-name>/< image-name> @<snap-namecode
[root@node140 /]# rbd snap rollback rbd/remote_rbd1@snap1 Rolling back to snapshot: 100% complete...done.
(7)從新掛在檢查,原來的文件恢復ip
[root@zabbix71 /]# rbd map remote_rbd1 /dev/rbd0 [root@zabbix71 /]# mount /dev/rbd0 /mnt/ [root@zabbix71 /]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 46G 12G 34G 27% / devtmpfs 7.8G 0 7.8G 0% /dev tmpfs 7.8G 0 7.8G 0% /dev/shm tmpfs 7.8G 113M 7.7G 2% /run tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup /dev/sda1 1014M 180M 835M 18% /boot tmpfs 1.6G 0 1.6G 0% /run/user/0 /dev/rbd0 150G 33M 150G 1% /mnt [root@zabbix71 /]# cd /mnt/ [root@zabbix71 mnt]# ls test test1
(8)當再也不須要某個快照時,能夠使用以下命令刪除指定的快照 刪除快照不會刪除 Ceph RBD 鏡像巾當前的數據:rem
[root@node140 /]# rbd snap rm rbd/remote_rbd1@snap1 Removing snap: 100% complete...done.