(5)ceph RBD快照

Ceph 完全支持快照,它是一個基於時間點的、只讀的 RBD 鏡像副本。 可以通過創建快
照並恢復其原始數據,保存 Ceph RBD 鏡像的狀態。
快照操作:
(0)客戶端已經map了remote_rbd1 的rbd

[root@zabbix71 alertscripts]# rbd showmapped
id pool namespace image       snap device    
0  rbd            remote_rbd1 -    /dev/rbd0 

(1)rbd已經mount在mnt目錄

[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

[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 文件

[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

註釋:如果不執行上面的卸載命令和取消映射就會出現如下報錯

[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-name

[root@node140 /]# rbd snap rollback  rbd/remote_rbd1@snap1
Rolling back to snapshot: 100% complete...done.

(7)重新掛在檢查,原來的文件恢復

[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 鏡像巾當前的數據:

[root@node140 /]# rbd snap rm rbd/remote_rbd1@snap1
Removing snap: 100% complete...done.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章