ceph 快照,克隆,cow
2017-12-26 00:00
411 查看
ceph是一个非常好的后端存储系统。其中包括最常用的块存储,对象存储,文件系统。下面我们就说说用的最多的块存储。
块存储的原理和机制大家都了解,但是快存储也是支持快照和克隆的。
快照
ceph的快照是把源镜像做一个只读副本,以后用于恢复。
克隆
这里主要讲的是可以基于快照镜像克隆,克隆所采用的也就是cow,叫做copy on write 俗话也叫做“写时复制”,更贴切一点叫做“写时再复制”。这里的克隆就是基于快照创建的克隆只创建了映射到源(这里的源也就是快照)的逻辑,没有给克隆分配真实的物理空间。这一点相信大家都理解。
虽然快照是只读的,但是基于快照创建的克隆是可读可写的。当我们队克隆的镜像镜像写操作的时候系统才会真正的给克隆的镜像分配物理空间。克隆的镜像或者被写过的克隆镜像都是可以正常使用的和镜像本身是一样的。这就是所谓的cow。
明白了上面的道理所以我们知道从快照克隆的镜像时依赖于快照的,一旦快照被删除则这个克隆镜像也就毁了,所以我们要保护好这个快照。
我们可以看到克隆成功的镜像时依赖于快照的,能看到parent,overlap
如果不想被依赖于快照,需要对克隆和快照做一个合并
现在我们删除快照是可以的
块存储的原理和机制大家都了解,但是快存储也是支持快照和克隆的。
快照
ceph的快照是把源镜像做一个只读副本,以后用于恢复。
[root@ceph-admin ceph]# rbd ls test_pool7 testRBD test_rbd7 test_rbd_clone7 [root@ceph-admin ceph]# rbd info test_pool7/testRBD rbd image 'testRBD': size 1024 MB in 256 objects order 22 (4096 kB objects) block_name_prefix: rbd_data.e3bcda74b0dc51 format: 2 features: layering flags:
克隆
这里主要讲的是可以基于快照镜像克隆,克隆所采用的也就是cow,叫做copy on write 俗话也叫做“写时复制”,更贴切一点叫做“写时再复制”。这里的克隆就是基于快照创建的克隆只创建了映射到源(这里的源也就是快照)的逻辑,没有给克隆分配真实的物理空间。这一点相信大家都理解。
虽然快照是只读的,但是基于快照创建的克隆是可读可写的。当我们队克隆的镜像镜像写操作的时候系统才会真正的给克隆的镜像分配物理空间。克隆的镜像或者被写过的克隆镜像都是可以正常使用的和镜像本身是一样的。这就是所谓的cow。
明白了上面的道理所以我们知道从快照克隆的镜像时依赖于快照的,一旦快照被删除则这个克隆镜像也就毁了,所以我们要保护好这个快照。
#创建快照 [root@ceph-admin ceph]# rbd snap create test_pool7/testRBD@testRBD-snap #查看快照 [root@ceph-admin ceph]# rbd snap list test_pool7/testRBD SNAPID NAME SIZE 7 testRBD-snap 1024 MB #创建快照的克隆 [root@ceph-admin ceph]# rbd clone test_pool7/testRBD@testRBD-snap test_pool7/testRBD-snap-clone 2017-12-26 14:05:48.941845 7fe1f4082d80 -1 librbd: parent snapshot must be protected rbd: clone error: (22) Invalid argument # 上面报错了,告诉你快照创建克隆之前需要被保护 # 保护快照 [root@ceph-admin ceph]# rbd snap protect test_pool7/testRBD@testRBD-snap # 创建克隆 [root@ceph-admin ceph]# rbd clone test_pool7/testRBD@testRBD-snap test_pool7/testRBD-snap-clone #查看克隆 [root@ceph-admin ceph]# rbd ls test_pool7|grep clone|grep RBD testRBD-snap-clone #查看克隆的详细信息 [root@ceph-admin ceph]# rbd info test_pool7/testRBD-snap-clone rbd image 'testRBD-snap-clone': size 1024 MB in 256 objects order 22 (4096 kB objects) block_name_prefix: rbd_data.e3f94a2ae8944a format: 2 features: layering flags: parent: test_pool7/testRBD@testRBD-snap overlap: 1024 MB
我们可以看到克隆成功的镜像时依赖于快照的,能看到parent,overlap
如果不想被依赖于快照,需要对克隆和快照做一个合并
[root@ceph-admin ceph]# rbd flatten test_pool7/testRBD-snap-clone Image flatten: 100% complete...done. [root@ceph-admin ceph]# rbd info test_pool7/testRBD-snap-clone rbd image 'testRBD-snap-clone': size 1024 MB in 256 objects order 22 (4096 kB objects) block_name_prefix: rbd_data.e3f94a2ae8944a format: 2 features: layering flags:现在克隆的镜像已经不依赖于快照了,看不见parent和overlap
现在我们删除快照是可以的
# 接触快照保护 [root@ceph-admin ceph]# rbd snap unprotect test_pool7/testRBD@testRBD-snap #删除快照 [root@ceph-admin ceph]# rbd snap rm test_pool7/testRBD@testRBD-snap
相关文章推荐
- ceph rbd 块命令 块扩容 创建快照 rbd分层 rbd快照克隆 可写快照 rbd 导入导出,池、块、快照命令
- CEPH集群RBD快照创建、恢复、删除、克隆(转)
- ceph KRBD 内核RBD模块 rbd 快照 克隆 删除 恢复
- CEPH集群RBD快照创建、恢复、删除、克隆
- linux下制作快照与克隆(还原)虚拟机
- VmWare Workstation 关于Linux 虚拟机快照或克隆后 识别不到网卡问题
- VMware的快照和克隆总结
- 第五章 虚拟化 克隆虚拟机、快照
- 基于Ceph快照的异地灾备设计
- VMware的快照和克隆总结
- 克隆虚拟机系统整个文件快照,然后另起建立该系统,产生的IP地址冲突解决办法
- OpenStack 整合使用Ceph实现(Copy-On-Write)克隆 (笔记)
- ceph存储 ceph集群存储快照概念
- 管理ceph的pool(快照,回滚)
- VMware的快照和克隆总结
- VMware的快照和克隆
- Ceph中的级联快照有问题吗?
- VMware的快照和克隆总结
- 快照COW
- ceph集群快照、clone相关命令整理v1