简介:快照
快照是一个镜像在某一个特定时间点的只读拷贝。其中Ceph块设备的高级功能是能够创建快照保留镜像的历史状态。Ceph支持快照分层,允许快速克隆镜像。 Ceph还支持使用RDB和如KVM,libvirt等创建快照。当做快照时需要停止I/O。如果镜像包含文件系统,文件系统必须在做快照前保持一致性。
本文档主要从以下几个方面进行测试:
1:快照、创建、查询、删除、清理;
2:快照clone、增量快照、保护快照;
3:image导入、导出;
4:利用ceph存储快照功能,做数据备份、数据恢复;
5:image 空间resize(xfs、ext4文件系统);
6:pool快照创建、pool copy、pool快照查看、删除;
文档内容初步整理,后续将不断完善,内容有误的地方欢迎留言指正,我会及时更新修正。
##############测试目的#############
1:image快照如何创建、删除、查询;
2:快照回滚、数据恢复;
#############步骤1~15##############
1:创建一个pool
[root@node241 ~]# ceph osd pool create mypool 24
pool 'mypool' created
2:要创建一个新的RBD镜像为10GB
rbd -p mypool create myimage --size 10240
或者:
rbd create mypool/myimage --size 10240
3:再新建一个镜像、做快照导入测试使用
rbd create mypool/myimage1 --size 10240
4:查看镜像
[root@node242 ~]# rbd --pool mypool ls
myimage
myimage1
5:映射镜像 myimage
[root@node242 ~]# rbd map mypool/myimage
/dev/rbd0
6:格式化
mkfs.xfs /dev/rbd0
7:建立挂载点、挂载磁盘
mkdir /myimage
mount /dev/rbd0 /myimage/
8:映射镜像 myimage1
[root@node242 ~]# rbd map mypool/myimage1
/dev/rbd1
9:格式化
mkfs.xfs /dev/rbd1
10:建立挂载点、挂载磁盘
mkdir /myimage1
mount /dev/rbd1 /myimage1/
11:验证查看挂载分区
[root@node242 ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
。。。。。。。。。。。。。。。
/dev/rbd0 xfs 10G 33M 10G 1% /myimage
/dev/rbd1 xfs 10G 33M 10G 1% /myimage1
[root@node242 ~]#
12:myimage目录创建测试文件
touch /myimage/{1..10}myimage.data.txt
查看数据生成
ll /myimage
total 0
-rw-r--r-- 1 root root 0 Oct 9 12:24 10myimage.data.txt
-rw-r--r-- 1 root root 0 Oct 9 12:24 1myimage.data.txt
-rw-r--r-- 1 root root 0 Oct 9 12:24 2myimage.data.txt
-rw-r--r-- 1 root root 0 Oct 9 12:24 3myimage.data.txt
-rw-r--r-- 1 root root 0 Oct 9 12:24 4myimage.data.txt
-rw-r--r-- 1 root root 0 Oct 9 12:24 5myimage.data.txt
-rw-r--r-- 1 root root 0 Oct 9 12:24 6myimage.data.txt
-rw-r--r-- 1 root root 0 Oct 9 12:24 7myimage.data.txt
-rw-r--r-- 1 root root 0 Oct 9 12:24 8myimage.data.txt
-rw-r--r-- 1 root root 0 Oct 9 12:24 9myimage.data.txt
13:myimge创建一个快照:
[root@node242 ~]# rbd snap create mypool/myimage@myimagesnap
14:查看快照信息
[root@node242 ~]# rbd snap ls mypool/myimage
SNAPID NAME SIZE
2 myimagesnap 10240 MB
15:验证数据回滚
15.1:然后删除所有创建的文件
[root@node242 ~]# rm -rf /myimage/*
[root@node242 ~]# ll /myimage
total 0
15.2:回滚快照,
注意:回滚快照就是将当前镜像的数据用快照重新替换。回滚的执行时间随着镜像大小的增加而增加。克隆将会比回滚快照更花时间。
使用RBD命令回滚快照,指定snap rollback选项,指定池名称,镜像名称和单元名称。
[root@node242 ~]# rbd snap rollback mypool/myimage@myimagesnap
Rolling back to snapshot: 100% complete...done.
用于回滚部分,你要注意回滚意味着从快照中的数据覆盖当前版本,需要更长的时间与较大的镜像。因此,克隆是可取的快速恢复。
注意: 镜像快照回滚意味着从快照覆盖原快照当时版本的镜像数据。执行回滚所花费的时间与镜像的大小有关。快照克隆比快照回滚恢复得更快,它是返回到一个预先存在的状态优选的方法。
15.3:卸载挂载目录
[root@node242 ~]# umount /myimage
15.4:重新挂载
[root@node242 ~]# mount /dev/rbd0 /myimage
15.5:查看数据,已经恢复
[root@node242 ~]# ll /myimage
total 0
-rw-r--r-- 1 root root 0 Oct 9 12:24 10myimage.data.txt
-rw-r--r-- 1 root root 0 Oct 9 12:24 1myimage.data.txt
-rw-r--r-- 1 root root 0 Oct 9 12:24 2myimage.data.txt
-rw-r--r-- 1 root root 0 Oct 9 12:24 3myimage.data.txt
-rw-r--r-- 1 root root 0 Oct 9 12:24 4myimage.data.txt
-rw-r--r-- 1 root root 0 Oct 9 12:24 5myimage.data.txt
-rw-r--r-- 1 root root 0 Oct 9 12:24 6myimage.data.txt
-rw-r--r-- 1 root root 0 Oct 9 12:24 7myimage.data.txt
-rw-r--r-- 1 root root 0 Oct 9 12:24 8myimage.data.txt
-rw-r--r-- 1 root root 0 Oct 9 12:24 9myimage.data.txt
##############测试目的#############
1:image导入、导出,数据备份恢复;
2:导出image信息、导入到其它pool;
#############步骤16##############
16:###导出、导入镜像
16.1: 把ceph po