K版Openstack的Cinderbackup service新增加NFS作为backend,同时增加对增量备份的支持。这样当前已经支持四种backend,这里主要对其中三种ceph、nfs、swift的备份实现机制做一下对比介绍。另外一种TSM是IBM的存储,如果以后能有幸接触到再做研究和介绍。
先看下面的表格有一个整体了解。
|
增量备份 |
备份之间依赖关系 |
增量恢复 |
Ceph |
特特定条件下支持 |
没有依赖关系 |
特定条件下支持 |
Swift |
支持 |
备份链 |
不支持 |
NFS |
支持 |
备份链 |
不支持 |
Ceph、Swift、NFS三种cinderbackup backend的特点对比
根据备份实现的特点,将这三种backend分为两类,其中NFS和Swift分为一类,Ceph单独作为一类。
一、基于Chunk的backend
首先介绍一下Swift和NFS,这两个放在一起说,是因为他们都继承自ChunkedBackupDriver,二者的实现机制完全一样,都是将原始的volume拆分成chunk,然后保存到对应的存储上。不同点只在于存放数据的方式。
在介绍之前先了解两个重要的参数:
Chunk_size:表示将volume分成多大的块进行备份。在NFS中这个值叫做backup_file_size,默认是1999994880 Byte,大约1.8G。在Swift中这个值叫做backup_swift_object_size,默认是52428800Byte,也就是50M。在Ceph中这个值叫做backup_ceph_chunk_size,默认值是128M。
Sha_blo