博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ceph 快照,克隆,cow
阅读量:5874 次
发布时间:2019-06-19

本文共 2361 字,大约阅读时间需要 7 分钟。

hot3.png

    ceph是一个非常好的后端存储系统。其中包括最常用的块存储,对象存储,文件系统。下面我们就说说用的最多的块存储。

    块存储的原理和机制大家都了解,但是快存储也是支持快照和克隆的。

  1. 快照
    ceph的快照是把源镜像做一个只读副本,以后用于恢复。
    [root@ceph-admin ceph]# rbd ls test_pool7testRBDtest_rbd7test_rbd_clone7[root@ceph-admin ceph]# rbd info test_pool7/testRBDrbd image 'testRBD':	size 1024 MB in 256 objects	order 22 (4096 kB objects)	block_name_prefix: rbd_data.e3bcda74b0dc51	format: 2	features: layering	flags:
  2. 克隆 
    这里主要讲的是可以基于快照镜像克隆,克隆所采用的也就是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/testRBDSNAPID NAME            SIZE      7 testRBD-snap 1024 MB #创建快照的克隆[root@ceph-admin ceph]# rbd clone test_pool7/testRBD@testRBD-snap test_pool7/testRBD-snap-clone2017-12-26 14:05:48.941845 7fe1f4082d80 -1 librbd: parent snapshot must be protectedrbd: 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 RBDtestRBD-snap-clone#查看克隆的详细信息[root@ceph-admin ceph]# rbd info test_pool7/testRBD-snap-clonerbd 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-cloneImage flatten: 100% complete...done.[root@ceph-admin ceph]# rbd info test_pool7/testRBD-snap-clonerbd 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

     

转载于:https://my.oschina.net/wangzilong/blog/1595081

你可能感兴趣的文章
Spark:求出分组内的TopN
查看>>
Python爬取豆瓣《复仇者联盟3》评论并生成乖萌的格鲁特
查看>>
关于跨DB增量(增、改)同步两张表的数据小技巧
查看>>
飞秋无法显示局域网好友
查看>>
学员会诊之03:你那惨不忍睹的三层架构
查看>>
vue-04-组件
查看>>
Golang协程与通道整理
查看>>
解决win7远程桌面连接时发生身份验证错误的方法
查看>>
C/C++ 多线程机制
查看>>
js - object.assign 以及浅、深拷贝
查看>>
python mysql Connect Pool mysql连接池 (201
查看>>
Boost在vs2010下的配置
查看>>
android camera(四):camera 驱动 GT2005
查看>>
一起谈.NET技术,ASP.NET伪静态的实现及伪静态的意义
查看>>
20款绝佳的HTML5应用程序示例
查看>>
string::c_str()、string::c_data()及string与char *的正确转换
查看>>
11G数据的hive初测试
查看>>
如何使用Core Text计算一段文本绘制在屏幕上之后的高度
查看>>
==和equals区别
查看>>
2010技术应用计划
查看>>