增量导出,导入
1.创建一个image
[root@ceph-client /]# rbd create rbd/data2 --size 10G --image-format 2 --image-feature layering [root@ceph-client /]# rbd info data2 rbd image 'data2': size 10240 MB in 2560 objects order 22 (4096 kB objects) block_name_prefix: rbd_data.fc79238e1f29 format: 2 features: layering flags:
Ceph 的块存储文件是稀疏文件,只有真实写入数据时,块存储对应的对象文件才会有
变.这个是实现增量的原理
[root@ceph-client /]# rbd diff data2
2.挂载到本地目录
[root@ceph-client /]# rbd map data2 /dev/rbd1
[root@ceph-client /]# rbd showmapped id pool image snap device 0 rbd data - /dev/rbd0 1 rbd data2 - /dev/rbd1
2.1格式化
[root@ceph-client /]# mkfs.xfs /dev/rbd1 meta-data=/dev/rbd1 isize=256 agcount=17, agsize=162816 blks = sectsz=512 attr=2, projid32bit=1 = crc=0 finobt=0 data = bsize=4096 blocks=2621440, imaxpct=25 = sunit=1024 swidth=1024 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=0 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
2.2diff有变化了,因为有数据了
[root@ceph-client /]# rbd diff data2 Offset Length Type 0 131072 data 4194304 16384 data 666894336 16384 data 2667577344 16384 data .... 10670309376 16384 data 10733223936 4194304 data
2.3计算增量
[root@ceph-client /]# rbd diff data2 | awk '{SUM+=$2}END{print SUM/1024/1024 "MB"}' 14.4062MB
3.对 data2 块存储的文件系统写入数据,然后通过 export-diff 实现增量导入(即增量备份).
[root@ceph-client u02]# mkdir /u02 [root@ceph-client u02]# mount /dev/rbd1 /u02 [root@ceph-client u02]# echo "Hello Ceph" >> ceph.txt [root@ceph-client u02]# echo "Hello Ceph" >> ceph.txt [root@ceph-client u02]# dd if=/dev/zero of=ceph.txt bs=1M count=100 100+0 records in 100+0 records out 104857600 bytes (105 MB) copied, 0.337477 s, 311 MB/s [root@ceph-client u02]# du -ah 124M./ceph.txt 124M.
3.1再次查看增量数据量
[root@ceph-client u02]# rbd diff data2 | awk '{SUM+=$2}END{print SUM/1024/1024 "MB"}' 114.406MB
3.2增量导出
[root@ceph-client u02]# rbd export-diff data2 /root/data2_incr Exporting image: 100% complete...done. [root@ceph-client u02]# ll /root/data2_incr -rw-r--r-- 1 root root 4588324 Nov 17 20:13 /root/data2_incr
4.增量恢复
境量备份导出的纯数据文件,我们需要手动创建一个 base 块设备,再把增量导入才可恢复数据
[root@ceph-osd1 XinFusion]# rbd create rbd/data3 --size 10G --image-format 2 --image-feature layering
4.1导入
[root@ceph-client u02]# rbd import-diff /root/data2_incr data3 Importing image diff: 100% complete...done.
版权声明:本文为博主原创文章,未经博主允许不得转载。
ceph 增量导出 导入
- 上一篇:Python模块 prettytable
- 下一篇:Ceph中PG和PGP的区别