RBD的块设备的镜像快照实战指南
目录
一.RBD的块设备的镜像快照实战案例
1.创建测试的镜像
[root@ceph141 ~]# rbd create -s 2G yinzhengjie-rbd/rbd-snap --image-feature layering,exclusive-lock
[root@ceph141 ~]#
[root@ceph141 ~]# rbd info yinzhengjie-rbd/rbd-snap | grep '\sfeatures'
features: layering, exclusive-lock
[root@ceph141 ~]#
2.客户端添加映射并挂载设备写入测试数据
[root@ceph141 ~]# rbd map yinzhengjie-rbd/rbd-snap
/dev/rbd0
[root@ceph141 ~]#
[root@ceph141 ~]# mkfs.xfs /dev/rbd0
meta-data=/dev/rbd0 isize=512 agcount=8, agsize=65536 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0, sparse=0
data = bsize=4096 blocks=524288, imaxpct=25
= sunit=1024 swidth=1024 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=1
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=8 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@ceph141 ~]#
[root@ceph141 ~]# mount /dev/rbd0 /mnt/
[root@ceph141 ~]#
[root@ceph141 ~]# df -h | grep mnt
/dev/rbd0 2.0G 33M 2.0G 2% /mnt
[root@ceph141 ~]#
[root@ceph141 ~]# cp /etc/os-release /mnt/
[root@ceph141 ~]#
[root@ceph141 ~]# ll /mnt/
total 4
-rw-r--r-- 1 root root 393 Feb 1 16:20 os-release
[root@ceph141 ~]#
3.在ceph服务端创建快照
1 为指定块设备创建快照
[root@ceph143 ~]# rbd info yinzhengjie-rbd/rbd-snap | grep snapshot_count
snapshot_count: 0
[root@ceph143 ~]#
[root@ceph143 ~]# rbd snap create yinzhengjie-rbd/rbd-snap --snap yinzhengjie-snap-rbd-v1-20240201
[root@ceph143 ~]#
[root@ceph143 ~]# rbd info yinzhengjie-rbd/rbd-snap | grep snapshot_count
snapshot_count: 1
[root@ceph143 ~]#
[root@ceph143 ~]#
2 查看指定块设备快照
[root@ceph143 ~]# rbd snap list yinzhengjie-rbd/rbd-snap
SNAPID NAME SIZE PROTECTED TIMESTAMP
4 yinzhengjie-snap-rbd-v1-20240201 2 GiB Thu Feb 1 16:22:24 2024
[root@ceph143 ~]#
4.客户端删除挂载的块设备内的数据
[root@ceph141 ~]# ll /mnt/
total 4
-rw-r--r-- 1 root root 393 Feb 1 16:20 os-release
[root@ceph141 ~]#
[root@ceph141 ~]# rm -f /mnt/os-release
[root@ceph141 ~]#
[root@ceph141 ~]# ll /mnt/
total 0
[root@ceph141 ~]#
5.客户端删除映射前在服务端查看块设备镜像是否被锁住,注意LOCK字段是否有"excl"属性
[root@ceph143 ~]# rbd ls yinzhengjie-rbd -l
NAME SIZE PARENT FMT PROT LOCK
...
rbd-snap 2 GiB 2 excl
rbd-snap@yinzhengjie-snap-rbd-v1-20240201 2 GiB 2
...
[root@ceph143 ~]#
6.客户端取消块设备映射,如果不这样做,就无法释放锁
[root@ceph141 ~]# umount /mnt/ # 卸载服务
[root@ceph141 ~]#
[root@ceph141 ~]# ll /dev/rbd* # rbd设备的映射关系还在
brw-rw---- 1 root disk 252, 0 Feb 1 16:19 /dev/rbd0
/dev/rbd:
total 0
drwxr-xr-x 2 root root 60 Feb 1 16:18 yinzhengjie-rbd
[root@ceph141 ~]#
[root@ceph141 ~]# rbd unmap yinzhengjie-rbd/rbd-snap # 删除映射关系
[root@ceph141 ~]#
[root@ceph141 ~]# ll /dev/rbd*
ls: cannot access /dev/rbd*: No such file or directory
[root@ceph141 ~]#
7.客户端删除映射后在服务端查看镜像是否被锁住,注意LOCK字段是否有"excl"属性
[root@ceph143 ~]# rbd ls yinzhengjie-rbd -l
NAME SIZE PARENT FMT PROT LOCK
...
rbd-snap 2 GiB 2
rbd-snap@yinzhengjie-snap-rbd-v1-20240201 2 GiB 2
...
[root@ceph143 ~]#
8.基于之前的快照信息恢复数据
[root@ceph143 ~]# rbd snap list yinzhengjie-rbd/rbd-snap
SNAPID NAME SIZE PROTECTED TIMESTAMP
4 yinzhengjie-snap-rbd-v1-20240201 2 GiB Thu Feb 1 16:22:24 2024
[root@ceph143 ~]#
[root@ceph143 ~]# rbd snap rollback yinzhengjie-rbd/rbd-snap --snap yinzhengjie-snap-rbd-v1-20240201
Rolling back to snapshot: 100% complete...done.
[root@ceph143 ~]#
9.随机找一个客户端重新挂载块设备文件,验证数据是否找回
[root@ceph142 ~]# rbd map yinzhengjie-rbd/rbd-snap
/dev/rbd0
[root@ceph142 ~]#
[root@ceph142 ~]# mount /dev/rbd0 /mnt/
[root@ceph142 ~]#
[root@ceph142 ~]# ll /mnt/
total 4
-rw-r--r-- 1 root root 393 Feb 1 16:20 os-release
[root@ceph142 ~]#
10.删除快照
[root@ceph143 ~]# rbd snap list yinzhengjie-rbd/rbd-snap
SNAPID NAME SIZE PROTECTED TIMESTAMP
4 yinzhengjie-snap-rbd-v1-20240201 2 GiB Thu Feb 1 16:22:24 2024
[root@ceph143 ~]#
[root@ceph143 ~]#
[root@ceph143 ~]# rbd snap rm yinzhengjie-rbd/rbd-snap --snap yinzhengjie-snap-rbd-v1-20240201
Removing snap: 100% complete...done.
[root@ceph143 ~]#
[root@ceph143 ~]# rbd snap list yinzhengjie-rbd/rbd-snap
[root@ceph143 ~]#
二.RBD的块设备的快照数量限制
1 创建指定数量的快照
[root@ceph143 ~]# rbd snap limit set yinzhengjie-rbd/rbd-snap --limit 3
[root@ceph143 ~]#
[root@ceph143 ~]# rbd info yinzhengjie-rbd/rbd-snap | egrep "snapshot_count|snapshot_limit"
snapshot_count: 0
snapshot_limit: 3
[root@ceph143 ~]#
[root@ceph143 ~]# rbd snap create yinzhengjie-rbd/rbd-snap --snap yinzhengjie-snap-v1
[root@ceph143 ~]#
[root@ceph143 ~]# rbd snap create yinzhengjie-rbd/rbd-snap --snap yinzhengjie-snap-v2
[root@ceph143 ~]#
[root@ceph143 ~]# rbd snap create yinzhengjie-rbd/rbd-snap --snap yinzhengjie-snap-v3
[root@ceph143 ~]#
[root@ceph143 ~]# rbd snap create yinzhengjie-rbd/rbd-snap --snap yinzhengjie-snap-v4
rbd: failed to create snapshot: (122) Disk quota exceeded
[root@ceph143 ~]#
[root@ceph143 ~]# rbd snap list yinzhengjie-rbd/rbd-snap
SNAPID NAME SIZE PROTECTED TIMESTAMP
6 yinzhengjie-snap-v1 2 GiB Thu Feb 1 16:33:38 2024
7 yinzhengjie-snap-v2 2 GiB Thu Feb 1 16:33:42 2024
8 yinzhengjie-snap-v3 2 GiB Thu Feb 1 16:33:44 2024
[root@ceph143 ~]#
[root@ceph143 ~]# rbd info yinzhengjie-rbd/rbd-snap | egrep "snapshot_count|snapshot_limit"
snapshot_count: 3
snapshot_limit: 3
[root@ceph143 ~]#
2 清空快照数量限制
[root@ceph143 ~]# rbd info yinzhengjie-rbd/rbd-snap | egrep "snapshot_count|snapshot_limit"
snapshot_count: 3
snapshot_limit: 3
[root@ceph143 ~]#
[root@ceph143 ~]# rbd snap limit clear yinzhengjie-rbd/rbd-snap
[root@ceph143 ~]#
[root@ceph143 ~]# rbd info yinzhengjie-rbd/rbd-snap | egrep "snapshot_count|snapshot_limit"
snapshot_count: 3
[root@ceph143 ~]#
[root@ceph143 ~]# rbd snap create yinzhengjie-rbd/rbd-snap --snap yinzhengjie-snap-v4
[root@ceph143 ~]#
[root@ceph143 ~]# rbd snap create yinzhengjie-rbd/rbd-snap --snap yinzhengjie-snap-v5
[root@ceph143 ~]#
[root@ceph143 ~]# rbd snap create yinzhengjie-rbd/rbd-snap --snap yinzhengjie-snap-v6
[root@ceph143 ~]#
[root@ceph143 ~]# rbd snap create yinzhengjie-rbd/rbd-snap --snap yinzhengjie-snap-v7
[root@ceph143 ~]#
[root@ceph143 ~]# rbd snap create yinzhengjie-rbd/rbd-snap --snap yinzhengjie-snap-v8
[root@ceph143 ~]#
[root@ceph143 ~]# rbd snap list yinzhengjie-rbd/rbd-snap
SNAPID NAME SIZE PROTECTED TIMESTAMP
6 yinzhengjie-snap-v1 2 GiB Thu Feb 1 16:33:38 2024
7 yinzhengjie-snap-v2 2 GiB Thu Feb 1 16:33:42 2024
8 yinzhengjie-snap-v3 2 GiB Thu Feb 1 16:33:44 2024
11 yinzhengjie-snap-v4 2 GiB Thu Feb 1 16:36:19 2024
12 yinzhengjie-snap-v5 2 GiB Thu Feb 1 16:36:21 2024
13 yinzhengjie-snap-v6 2 GiB Thu Feb 1 16:36:23 2024
14 yinzhengjie-snap-v7 2 GiB Thu Feb 1 16:36:25 2024
15 yinzhengjie-snap-v8 2 GiB Thu Feb 1 16:36:31 2024
[root@ceph143 ~]#
当你的才华还撑不起你的野心的时候,你就应该静下心来学习。当你的能力还驾驭不了你的目标的时候,你就应该沉下心来历练。问问自己,想要怎样的人生。
欢迎加入基础架构自动化运维:598432640,大数据SRE进阶之路:959042252,DevOps进阶之路:526991186