ceph 快照,克隆
转载 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 快照,克隆的更多相关文章
- CentOS7部署yum环境及虚拟机快照克隆
CentOS部署IP地址 第一种:nmtui 方向键.tab.空格.回车第二种:修改网卡配置文件 /etc/sysconfig/network-sripts/ifcfg- ...
- 基于Ceph快照的异地灾备设计
作者:吴香伟 发表于 2017/02/06 版权声明:可以任意转载,转载时务必以超链接形式标明文章原始出处和作者信息以及版权声明 喜欢请点击右边打赏,谢谢支持! 引子 技术改变生活. 越来越方便的手机 ...
- VM快照-克隆重要应用讲解及克隆后网卡问题解决
快照:snapshot 1---2---3---5 用于以后 rollback 1 2 3 5 克隆前关机:halt 克隆之后连不上网 解决办法: 1.编辑eth0的配置文 vi/etc/syscon ...
- Linux基础之快照克隆、Xshell优化、Linux历史
今天主要分享4个Linux基础知识,第一个知识是虚拟机快照,第二个是虚拟机克隆,第三个是优化Xshell,第四个是简述Linux历史. 先分享第一个知识——虚拟机快照. 1.4)虚拟机快照 虚拟机快照 ...
- linux-创建/使用快照/克隆(类似windows中备份还原)
一. 创建/使用快照 1.什么是快照 说的直白一点,就是创建一个备份. 当执行了不可逆的错误操作后,可以通过快照用来恢复系统 2.创建快照的3种模式 挂载状态下创建快照 开机状态下创建 ...
- Centos610快照克隆后网络配置
VMware中安装的Centos610快照并克隆后网络配置 1.网卡配置 vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 HWADDR ...
- NO14 快照-克隆-必须掌握的Linux目录结构
壹 VMware克隆,快照讲解及相应问题讲解: ·快照:比喻:假设把人生作一个快照.1岁10岁20岁6无限还原到前一个设置的节点. ·克隆学习一般用链接克隆,不另外占用磁盘,但是依赖本体虚拟机.完整 ...
- 基于ceph快照快速回滚openstack上的虚拟机
查看虚拟机ID 1 2 [root@node1 ~]# nova list --all | grep wyl | dc828fed-1c4f-4e5d-ae84-795a0e71eecc | wyl ...
- CEPH集群RBD快照创建、恢复、删除、克隆(转)
Ceph支持一个非常好的特性,以COW(写时复制)的方式从RBD快照创建克隆,在Ceph中被称为快照分层.分层特性允许用户创建多个CEPH RBD克隆实例.这些特性应用于OpenStack等云平台中 ...
随机推荐
- NFS /etc/exports参数解释
nfs 安装 执行以下命令安装 nfs 服务器所需的软件包 yum install -y nfs-utils 执行命令 vim /etc/exports,创建 exports 文件,文件内容如下: / ...
- 修改python默认版本
查看默认Python版本 python -V 1.安装gcc,用于编译Python源码 yum install gcc 2.下载源码包,https://www.python.org/ftp/pytho ...
- 《Python编程初学者指南》高清PDF版|百度网盘免费下载|Python基础
<Python编程初学者指南>|百度网盘免费下载| 提取码:03b1 内容简介 Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.Python可以用于很多的领域,从科学计 ...
- 油田问题 bfs
#include<iostream> #include<stdio.h> #include<stdlib.h> #include<time.h> #in ...
- turtle库常用函数
- PHP idate() 函数
------------恢复内容开始------------ 实例 格式化本地时间/日期为整数.测试所有不同的格式: <?phpecho idate("B") . " ...
- 如何在 Android 安卓手机上运行 Node.js 应用 | 如何在安卓手机配置node开发环境
最近在学习js,由于没法随身携带笔记本电脑,在手机翻阅<JavaScript高级程序设计>时,时常想调试一下书中的代码.于是就有了,能否在手机上配置一个js开发环境.考虑到手机上的Chro ...
- 使用Flask开发简单接口(2)--POST请求接口
今天我们继续学习如何使用Flask开发POST接口:用户注册接口和用户登录接口. request接收参数 当我们在页面发出一个POST请求,请求传到服务器时,需要如何拿到当前请求的数据呢?在Flask ...
- .NET 异步详解
前言 博客园中有很多关于 .NET async/await 的介绍,但是很遗憾,很少有正确的,甚至说大多都是"从现象编原理"都不过分. 最典型的比如通过前后线程 ID 来推断其工作 ...
- 23、Interpreter 解释器模式
1.Interpreter 解释器模式 解释器模式是一种使用频率相对较低但学习难度较大的设计模式,它用于描述如何使用面向对象语言构成一个简单的语言解释器.在某些情况下,为了更好地描述某一些特定类型的问 ...