Ceph支持一个非常好的特性,以COW(写时复制)的方式从RBD快照创建克隆,在Ceph中被称为快照分层。分层特性允许用户创建多个CEPH RBD克隆实例。这些特性应用于OpenStack等云平台中,使用快照形式保护ceph RBD 镜像,快照是只读的,但COW克隆是完全可以写 ,可以多次来孵化实例,对云平台来说是非常有用的。

Ceph RBD镜像有format-1  和 format-2两种类型,RBD支持这两种类型,但是分层特性COW克隆特性只支持format-2镜像,默认RBD创建的镜像是format-1。(这个在克隆的时候特别重要)

先看看自己的Linux内核支不支持rbd块设备

modprobe rbd

如果有错误信息说明内核不支持,那你就先去升级一下内核吧~

没有则继续!

在一个ceph集群中,我们可以创建rbd块设备来进行使用。先看一下我的pool

我们这里新建了一个test的pool,以下的块设备都是建立在test这个pool中。我们看到这个test的pool是0KB的。

1首先先创建一个块设备

通过rbd create (pool_name)/(rbd_name) --size   xxxxxMB就可以创建一个块设备了,这里有两个知识点。

一个是斜杠 / 前面的是这个块设备建立在的pool的名字,后面是这个块设备的名字(自己定义的),我们在test这个pool上建立了一个叫myrbd1的块设备,如果没有斜杠 / 则默认建立在rbd这个pool上(重要!!!!)

还有一个是这个size的大小,这个大小可以超过你实际pool的大小,这个叫做瘦分配,也叫超卖和按需分配。创建块之后可以通过指令rbd resize test/myrbd1 --size 51200 --allow-shrink来动态的更改。如下

2.映射改块设备到你的机器

rbd map test/myrbd1

得到块设备的映射/dev/rbd1

这个时候你就可以像操作机器上的 块设备一样操作该设备了。

3.挂载并且使用

如上,写入文件系统以后就可以挂载到目录上去啦!

然后我们 写点东西进去试试

看到了吗,我写了100M的文件进目录,ceph的test这个pool相应的使用了100M的数据,也就是对/root/test/目录的操作将会直接写到ceph集群的test这个pool中,然后写到ceph的osd上。

4.创建快照

rbd snap create --snap mysnap test/myrbd1

如上创建了一个myrbd1的 快照,快照的名字叫做mysnap,接下来我们试试快照的回滚功能。

5.回滚

上一步我们创建了一个100M的空文件

我们先删除该文件然后卸载块, 然后进行回滚。

重新挂载/dev/rbd1然后发现!!file这个文件又出来啦~~

6.模板与克隆

先看看该块设备支不支持创建快照模板

image-format 必须为2

创建改块设备也可以这样设置

rbd create test/myrbd3 --size 102400 --image-format 2

把该块做成模板,首先要把做成模板的快照做成protect(重要!!!)

rbd snap protect test/myrbd1@mysnap

(通过rbd snap unprotect test/myrbd1@mysnap可以去掉这个保护,但是这样的话就 不能克隆了)

然后可以利用这个快照来当模板来克隆了,我们克隆一个叫myrbd2的块 出来试试

先umount  myrbd1这个块。

umount /dev/rbd1

然后克隆一个在test的pool的myrbd2的块。

rbd clone test/myrbd1@mysnap test/myrbd2

如上看到test这个池上有两个块设备了,一个是原来的myrbd1,一个是通过myrbd的镜像模板克隆出来的myrbd2。

接下来我们看看这个myrbd2看看和myrbd1有什么不一样。

先映射myrbd2

rbd map test/myrbd2

因为 是克隆myrbd1的,myrbd1上本来就有文件系统,所以myrbd2上也有文件系统,直接挂载就好了

看到了吗!!!!myrbd2的内容上也是和myrbd1是相同的!!!(因为是克隆来的嘛)

看一下myrbd2信息

这个时候的myrbd2还是依赖myrbd1的镜像mysnap的,如果myrbd1的mysnap被删除或者怎么样,myrbd2也不能够使用了,要想独立出去,就必须将父镜像的信息合并flattern到子镜像中,

这样myrbd2就独立于myrbd1了

可以通过如下方法删除镜像模板了

这个时候就已经删除镜像模板了。

ceph的rbd使用和理解(全)相关推荐

  1. Ceph之RBD恢复的几种方式与原理

    目录 RBD是什么 RBD使用 写入文件 RBD组装 Ceph--CRUSH osdmap提取crushmap ceph中rbd的增量备份和恢复 RBD在Ceph底层的存储方式,解释了RBD的实际占用 ...

  2. @分布式存储ceph之RBD

    分布式存储ceph创建RBD接口 一. RBD介绍 RBD全称为RADOS Block Device,是一种构建在RADOS集群之上为客户端提供块设备接口的存储服务 中间层.这类的客户端包括虚拟机KV ...

  3. k8s学习笔记——ceph pv rbd动态挂载

    //参考https://github.com/kubernetes-retired/external-storage/tree/master/ceph/rbd //参考https://www.wenj ...

  4. 【分析】Ceph and RBD Mirroring:Luminous

    Ceph and RBD Mirroring:Luminous Source: Sebastian Han https://ceph.com/planet/ceph-and-rbd-mirroring ...

  5. ceph rbd mysql_ceph的rbd使用和理解(全)

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

  6. Ceph入门到精通-Ceph PG状态详细介绍(全)

    本文主要介绍PG的各个状态,以及ceph故障过程中PG状态的转变. Placement Group States(PG状态) creating Ceph is still creating the p ...

  7. Ceph:RBD在线扩容容量

    Ceph管理端的操作: 1 2 3 4 # rbd ls -p openshift openshift-storage01 # rbd resize openshift/openshift-stora ...

  8. Ceph-ansible 安装 ceph (rbd + rgw)

    实验环境: 3 台 monitor 节点:centos7.6 操作系统 3台 osd 节点: centos7.6 操作系统,每台 20 块磁盘 所有节点上配置好 ceph yum repo 源(lum ...

  9. ceph kernel rbd (一): 简介

    kernel rbd是ceph 的块存储当中的linux-kernel client.在整个ceph当中的位置如图所示: 其中kernel module就是本文提到的kernel rbd 模块. ce ...

  10. ceph命令系列(一):ceph-deploy/ceph/rados/rbd 常用命令详解

    ceph-deploy 常用命令详解 命令 描述 ceph-deploy new [mon-node ...] 指定node(s)为monitor,开始部署一个新的ceph集群,并且在当前目录创建ce ...

最新文章

  1. 一个撇脚的java压缩文件工具类
  2. 特征交互(Feature Interaction)及多项式特征(PolynomialFeatures)
  3. .net程序员的盲点(八):泛型
  4. 利用命令清除和设定静态IP地址
  5. 实现一个在JNI中调用Java对象的工具类,从此只需一行代码
  6. ElasticSearch基本插件head
  7. 博客已从百度空间搬家到此
  8. C/C++函数调用的几种方式总结
  9. unity 草 可以一棵棵种吗?_这种野草人称“瓜子金”,1斤能卖50多,拔1棵少棵很珍贵...
  10. 吴恩达《机器学习》课程总结(8)_神经网络参数的反向传播算法
  11. plantuml如何导出大图片
  12. Java中的JDK动态代理
  13. 树莓派 kali系统默认密码
  14. android 局域网图片 管理,支持局域网浏览/简洁美观的安卓文件管理器-es文件管理器...
  15. C++ 惯用法之 Nifty Counter
  16. HarmonyOS上玩“语音识别”
  17. java数组下标越界的问题
  18. “时间都到哪里去了?”
  19. The 19th Zhejiang Provincial Collegiate Programming Contest
  20. Razer Fintech 委任林祥源先生为顾问委员会成员

热门文章

  1. pow函数需要注意的问题
  2. openbsd停止mysql_英特尔处理器超线程功能被OpenBSD 停用,并爆bug
  3. 为什么要升级PLM系统
  4. 程序员叫啥名字_网友:什么是好程序员?程序员:用心给自己起个“配”自己的网名...
  5. 在Redhat9下安装Oracle9
  6. pdf、markdown、docx文件预览
  7. Linux学习之计划任务(at、batch、crontab)篇
  8. 全球定位实景导航 iOS实用应用周排行
  9. Android service 不被杀死“永不退出的服务”(双进程,服务,多进程,微信)
  10. 12 个动画设计方法,帮助你快速实现炫酷的网页动画效果