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

ceph 快照,克隆

ceph是一个非常好的后端存储系统。其中包括最常用的块存储,对象存储,文件系统。下面我们就说说用的最多的块存储。
块存储的原理和机制大家都了解,但是快存储也是支持快照和克隆的。

1、快照

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:

2、克隆 

这里主要讲的是可以基于快照镜像克隆,克隆所采用的也就是cow,叫做copy on write 俗话也叫做“写时复制”,更贴切一点叫做“写时再复制”。这里的克隆就是基于快照创建的克隆只创建了映射到源(这里的源也就是快照)的逻辑,还没有给克隆分配真实的物理空间。这一点相信大家都理解。虽然快照是只读的,但是基于快照创建的克隆是可读可写的。当我们对克隆的镜像执行写操作的时候,系统才会真正的给克隆的镜像分配物理空间。克隆的镜像或者被写过的克隆镜像都是可以正常使用的和镜像本身是一样的。这就是所谓的cow。当对克隆的镜像没有写而是读的时候,那么读取的是要被克隆的快照,明白了上面的道理所以我们知道从快照克隆的镜像是依赖于快照的,一旦快照被删除则这个克隆镜像也就毁了,所以我们要保护好这个快照。

#创建快照
[root@ceph-admin ceph]# rbd snap create test_pool7/testRBD@testRBD-snap---也就是testRBD镜像的副本
#查看快照
[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 快照,克隆的更多相关文章

  1. CentOS7部署yum环境及虚拟机快照克隆

    CentOS部署IP地址 第一种:nmtui        方向键.tab.空格.回车第二种:修改网卡配置文件         /etc/sysconfig/network-sripts/ifcfg- ...

  2. 基于Ceph快照的异地灾备设计

    作者:吴香伟 发表于 2017/02/06 版权声明:可以任意转载,转载时务必以超链接形式标明文章原始出处和作者信息以及版权声明 喜欢请点击右边打赏,谢谢支持! 引子 技术改变生活. 越来越方便的手机 ...

  3. VM快照-克隆重要应用讲解及克隆后网卡问题解决

    快照:snapshot 1---2---3---5 用于以后 rollback 1 2 3 5 克隆前关机:halt 克隆之后连不上网 解决办法: 1.编辑eth0的配置文 vi/etc/syscon ...

  4. Linux基础之快照克隆、Xshell优化、Linux历史

    今天主要分享4个Linux基础知识,第一个知识是虚拟机快照,第二个是虚拟机克隆,第三个是优化Xshell,第四个是简述Linux历史. 先分享第一个知识——虚拟机快照. 1.4)虚拟机快照 虚拟机快照 ...

  5. linux-创建/使用快照/克隆(类似windows中备份还原)

    一. 创建/使用快照 1.什么是快照 ​ 说的直白一点,就是创建一个备份. ​ 当执行了不可逆的错误操作后,可以通过快照用来恢复系统 2.创建快照的3种模式 ​ 挂载状态下创建快照 ​ 开机状态下创建 ...

  6. Centos610快照克隆后网络配置

    VMware中安装的Centos610快照并克隆后网络配置 1.网卡配置 vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 HWADDR ...

  7. NO14 快照-克隆-必须掌握的Linux目录结构

    壹  VMware克隆,快照讲解及相应问题讲解: ·快照:比喻:假设把人生作一个快照.1岁10岁20岁6无限还原到前一个设置的节点. ·克隆学习一般用链接克隆,不另外占用磁盘,但是依赖本体虚拟机.完整 ...

  8. 基于ceph快照快速回滚openstack上的虚拟机

    查看虚拟机ID 1 2 [root@node1 ~]# nova list --all | grep wyl | dc828fed-1c4f-4e5d-ae84-795a0e71eecc | wyl ...

  9. CEPH集群RBD快照创建、恢复、删除、克隆(转)

    Ceph支持一个非常好的特性,以COW(写时复制)的方式从RBD快照创建克隆,在Ceph中被称为快照分层.分层特性允许用户创建多个CEPH RBD克隆实例.这些特性应用于OpenStack等云平台中 ...

随机推荐

  1. luogu P2607 [ZJOI2008]骑士 tarjan dp

    LINK:骑士 本来是不打算写的 发现这道题在tarjan的时候有一个坑点 所以写出来记录一下. 可以发现图可能是不连通的 且一个连通块中是一个奇环树. 做法:类似tarjan找割点 然后把环给拉出来 ...

  2. ZROI 提高十连测 DAY3

    由于我不太会写 觉得从比赛开始就冷静分析.然后看完三道题心态有点爆炸没有紧扣题目的性质. 这个心态是不可取的尽量不要有畏难心理 不要草草的写暴力. LINK:[最长01子序列](http://zhen ...

  3. windows:跨进程读数据

    外挂.木马.病毒等可能需要读取其他进程的数据,windows提供了OpenProcess.ReadProcessMemory等函数.但越是大型的软件,防护做的越好,大概率会做驱动保护,比如hook S ...

  4. 第二次作业:卷积神经网络 part 1

    第二次作业:卷积神经网络 part 1 视频学习 数学基础 受结构限制严重,生成式模型效果往往不如判别式模型. RBM:数学上很漂亮,且有统计物理学支撑,但主流深度学习平台不支持RBM和预训练. 自编 ...

  5. SSH整合-hibernate

    <property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property& ...

  6. 团队项目-记账App

    一.团队成员介绍 队长: 向瑜 博客园地址: https://www.cnblogs.com/xiangyu721/  沟通能力较强,善于总结,能够正确分配团队任务.其次,有耐心学习新事物,发现新问题 ...

  7. Python分析「我们为什么这么穷」

  8. Go语言入门系列(四)之map的使用

    本系列前面的文章: Go语言入门系列(一)之Go的安装和使用 Go语言入门系列(二)之基础语法总结 Go语言入门系列(三)之数组和切片 1. 声明 map是一种映射,可以将键(key)映射到值(val ...

  9. 一个试图了解JVM内存模型的两年经验的初级程序员,透彻!

    所有的编程语言中都有内存模型这个概念,区别于微架构的内存模型,高级语言的内存模型包括了编译器和微架构两部分.我试图了解了Java.C#和Go语言的内存模型,发现内容基本大同小异,只是这些语言在具体实现 ...

  10. 痞子衡嵌入式:了解i.MXRTxxx系列ROM API及其与i.MXRT1xxx系列的差异

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRTxxx系列ROM API设计细节. 痞子衡之前写过两篇文章 <利用i.MXRT1xxx系列ROM提供的FlexSPI ...