码迷,mamicode.com
首页 > 其他好文 > 详细

rbd snap(1)

时间:2016-08-11 17:20:39      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:

来自官方文档:

快照介绍

  快照是映像在某个特定时间点的一份只读副本。

      对当前镜像打过快照以后,Active层仍在当前镜像,快照文件为只读。

Note

  如果在做快照时映像仍在进行 I/O 操作,快照可能就获取不到该映像准确的或最新的数据,并且该快照可能不得不被克隆到一个新的可挂载的映像中。所以,我们建议在做快照前先停止 I/O 操作。如果映像内包含文件系统,在做快照前请确保文件系统处于一致的状态。要停止 I/O 操作可以使用fsfreeze 命令。详情可参考 fsfreeze(8) 手册页。对于虚拟机,qemu-guest-agent 被用来在做快照时自动冻结文件系统。

技术分享

rbd 快照

 

基本操作

创建

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

查看

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

回滚快照

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

Note

 用快照中的数据覆盖映像的当前版本,映像越大,此过程花费的时间就越长。从快照克隆要快于回滚到某快照,这也是回到先前状态的首选方法。

删除快照

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

Note

Ceph OSDs 异步地删除数据,所以删除快照后不会立即释放磁盘空间。

清除快照

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

分层

  可以为某一设备快照创建很多个写时复制( COW )克隆。分层快照使得 Ceph 块设备客户端可以很快地创建映像。例如,你可以创建一个包含有 Linux VM 的块设备映像;然后做快照、保护快照,再创建任意多个写时复制克隆。快照是只读的,所以简化了克隆快照的语义 —— 使得克隆很迅速。

技术分享

cow 原理图

分层步骤

  一个快照的 COW 克隆和其它任何 Ceph 块设备映像的行为完全一样。克隆出的映像没有特别的限制,你可以读出、写入、克隆、调整克隆映像的大小。然而快照的写时复制克隆引用了快照,所以你克隆快照前必须保护它。

 技术分享

保护快照

rbd snap protect {pool-name}/{image-name}@{snapshot-name}

Note

你删除不了受保护的快照。

克隆快照

rbd clone {pool-name}/{parent-image}@{snap-name} {pool-name}/{child-image-name}

Note

你可以把某个存储池中映像的快照克隆到另一存储池。例如,你可以把某一存储池中的只读映像及其快照作为模板维护,把可写克隆置于另一存储池。

取消快照保护

rbd snap unprotect {pool-name}/{image-name}@{snapshot-name}

罗列快照的子孙

rbd children {pool-name}/{image-name}@{snapshot-name}

拍平克隆映像

  克隆出来的映像仍保留了对父快照的引用。要从子克隆删除这些到父快照的引用,你可以把快照的信息复制给子克隆,也就是“拍平”它。拍平克隆映像的时间随快照尺寸增大而增加。要删除快照,必须先拍平子映像。

rbd flatten {pool-name}/{image-name}

Note

因为拍平的映像包含了快照的所有信息,所以拍平的映像占用的存储空间会比分层克隆要大。

 

参考:

1、cow & row:http://blog.sina.com.cn/s/blog_b4b6c24d0102whpt.html

 

rbd snap(1)

标签:

原文地址:http://www.cnblogs.com/yunlion/p/5761682.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!