CEPH块设备创建及快照

1、创建image

rbd create foo --size 1024 {--image-format 2}//创建一个名为foo的image,大小为1024M,当需要克隆快照时,需要添加大括号中的内容

  

2、加载rbd模块

sudo modprobe rbd

  

3、使用image

通过map指令将镜像映射成本地设备,从而实现格式化和挂载

rbd map foo

rbd showmapped //查看镜像挂载到哪个本地设备
id pool image snap device    
1  rbd  foo   -    /dev/rbd1 

mkfs.ext4 /dev/rbd1    //格式化设备

mount /dev/rbd1 /mnt/ceph-block-device  //j将设备挂载到相应目录下

  

4、创建快照

rbd snap create {pool-name}/{image-name}@{snap-name}

rbd snap create rbd/foo@base //默认pool名为rbd

  

5、查看快照列表

rbd snap ls {pool-name}/{image-name}

rbd snap ls rbd/foo

  

6、快照回滚

先将设备卸载,然后再执行rbd snap rollback {pool-name}/{image-name}@{snap-name}就能回滚到相应版本

rbd snap rollback rbd/foo@base

  

7、快照删除

rbd snap rm {pool-name}/{image-name}@{snap-name} 用于删除其中的一个快照,如果想要删除一个image里面所有的快照则使用命令rbd snap purge {pool-name}/{image-name}

rbd snap purge rbd/foo

8、快照克隆

但是上文所述的快照都是只读的,如果要对快照进行读写,需要对相应的快照进行克隆

先对进行克隆的快照做保护

rbd snap protect rbd/foo@snap0

  

然后对快照克隆一个新的可读写的image

 rbd clone rbd/foo@snap0 rbd/new-image

  执行上述命令后,将得到一个叫new-image的新image,我们可以对它像普通image一样进行映射和挂载,但不同与普通image的是,new-image中的内容和镜像foo的snap0快照是一致的,而且我们能对它进行写操作

  

9、镜像删除

umount /dev/rbd1 //移除设备
rbd unmap /dev/rbd0 //删除映射
rbd --image foo rm //删除image

  

原文地址:https://www.cnblogs.com/YaoDD/p/5227508.html