Ceph RBD介绍与使用

RBD介绍

RBD即RADOS Block Device的简称,RBD块存储是最稳定且最常用的存储类型。RBD块设备类似磁盘可以被挂载。 RBD块设备具有快照、多副本、克隆和一致性等特性,数据以条带化的方式存储在Ceph集群的多个OSD中。如下是对Ceph RBD的理解。

  • RBD 就是 Ceph 里的块设备,一个 4T 的块设备的功能和一个 4T 的 SATA 类似,挂载的 RBD 就可以当磁盘用;
  • resizable:这个块可大可小;
  • data striped:这个块在Ceph里面是被切割成若干小块来保存,不然 1PB 的块怎么存的下;
  • thin-provisioned:精简置备,1TB 的集群是能创建无数 1PB 的块的。其实就是块的大小和在 Ceph 中实际占用大小是没有关系的,刚创建出来的块是不占空间,今后用多大空间,才会在 Ceph 中占用多大空间。举例:你有一个 32G 的 U盘,存了一个2G的电影,那么 RBD 大小就类似于 32G,而 2G 就相当于在 Ceph 中占用的空间 ;

块存储本质就是将裸磁盘或类似裸磁盘(lvm)设备映射给主机使用,主机可以对其进行格式化并存储和读取数据,块设备读取速度快但是不支持共享。

ceph可以通过内核模块和librbd库提供块设备支持。客户端可以通过内核模块挂载rbd使用,客户端使用rbd块设备就像使用普通硬盘一样,可以对其就行格式化然后使用;客户应用也可以通过librbd使用ceph块,典型的是云平台的块存储服务(如下图),云平台可以使用rbd作为云的存储后端提供镜像存储、volume块或者客户的系统引导盘等。

使用场景:

  • 云平台(OpenStack做为云的存储后端提供镜像存储)
  • K8s容器
  • map成块设备直接使用
  • ISCIS,安装Ceph客户端

RBD常用命令

命令 功能
rbd create 创建块设备映像
rbd ls 列出 rbd 存储池中的块设备
rbd info 查看块设备信息
rbd diff 可以统计 rbd 使用量
rbd map 映射块设备
rbd showmapped 查看已映射块设备
rbd remove 删除块设备
rbd resize 更改块设备的大小

RBD配置操作

RBD挂载到操作系统

1、创建rbd使用的pool

# ceph osd pool create rbd  32 32
# ceph osd pool application enable rbd rbd

2、创建一个块设备

# rbd create --size 10240 image01

3、查看块设备

# rbd ls
# rbd info image01

4、将块设备映射到系统内核

# rbd map image01

5、禁用当前系统内核不支持的feature

# rbd feature disable image01 exclusive-lock, object-map, fast-diff, deep-flatten

6、再次映射

# rbd map image01

7、格式化块设备镜像

# mkfs.xfs /dev/rbd0

8、mount到本地

# mount /dev/rbd0 /mnt
# umount /mnt

9、取消块设备和内核映射

# rbd unmap image01

10、删除RBD块设备

# rbd rm image01

快照配置

1、创建快照

rbd create --size 10240 image02
rbd snap create image02@image02_snap01

2、列出创建的快照

# rbd snap list image02

# rbd ls -l

3、查看快照详细信息

# rbd info image02@image02_snap01

4、克隆快照(快照必须处于被保护状态才能被克隆)

# rbd snap protect image02@image02_snap01
# rbd clone rbd/image02@image02_snap01 kube/image02_clone01

5、查看快照的children

# rbd children image02

6、去掉快照的parent

# rbd flatten kube/image02_clone01

7、恢复快照

# rbd snap rollback image02@image02_snap01

8、删除快照

# rbd snap unprotect image02@image02_snap01
# rbd snap remove image02@image02_snap01

导出导入RBD镜像

1、导出RBD镜像

# rbd export image02 /tmp/image02

2、导出RBD镜像

# rbd import /tmp/image02 rbd/image02 --image-format 2

Ceph14.2.5 RBD块存储的实战配置和详细介绍,不看后悔! -- <3>的更多相关文章

  1. ceph rbd块存储挂载及文件存储建立

    一.rbd块存储挂载 1 创建一个OSD pool # ceph osd pool create rbd1 128 查询存储空间使用 # ceph df GLOBAL: SIZE AVAIL RAW ...

  2. 3.Ceph 基础篇 - RBD 块存储使用

    文章转载自:https://mp.weixin.qq.com/s?__biz=MzI1MDgwNzQ1MQ==&mid=2247485253&idx=1&sn=24d9b06a ...

  3. Openstack块存储cinder安装配置

    openstack service create --name cinderv2 \ --description "OpenStack Block Storage" volumev ...

  4. Ceph块存储介绍

    1. 块存储是什么 块存储简称RBD(RADOS Block Device),是一种有序的字节序块,也是在Ceph三大存储类型中最为常用的存储方式 ,Ceph的块存储是基于RADOS的,因此它也借助R ...

  5. 理解 QEMU/KVM 和 Ceph(2):QEMU 的 RBD 块驱动(block driver)

    本系列文章会总结 QEMU/KVM 和 Ceph 之间的整合: (1)QEMU-KVM 和 Ceph RBD 的 缓存机制总结 (2)QEMU 的 RBD 块驱动(block driver) (3)存 ...

  6. Ceph RBD CephFS 存储

    Ceph RBD  CephFS 存储 环境准备: (这里只做基础测试, ceph-manager , ceph-mon, ceph-osd 一共三台) 10.6.0.140 = ceph-manag ...

  7. 存储那些事儿(三):OpenStack的块存储Cinder与商业存储的融合

    OpenStack是一个美国国家航空航天局和Rackspace合作研发的云端运算‎软件,以Apache许可证授权,并且是一个自由软件和开放源代码项目.OpenStack是IaaS(基础设施即服务)‎软 ...

  8. Ceph 块存储

    任何普通的linux主机都可以充当ceph客户机,客户机通过网络与ceph存储集群交互以存储或检索用户数据.Ceph RBD支持已经添加到linux主线内核中,从2.6.34以及以后版本开始. === ...

  9. 二十八. Ceph概述 部署Ceph集群 Ceph块存储

    client   :192.168.4.10 node1 :192.168.4.11 ndoe2 :192.168.4.12 node3 :192.168.4.13   1.实验环境 准备四台KVM虚 ...

随机推荐

  1. SDUT-3331_数据结构实验之链表八:Farey序列

    数据结构实验之链表八:Farey序列 Time Limit: 10 ms Memory Limit: 600 KiB Problem Description Farey序列是一个这样的序列:其第一级序 ...

  2. CNN网络改善的方法——池化

    一个能降低卷积金字塔中特征图的空间维度,目前为止,我们通过调整步幅,将滤镜每次移动几个像素.图1 从而降低特征图的尺寸.这是降低图像采样率的一种非常有效的方法. 图1 它移除了很多信息,如果我们不采用 ...

  3. Python基础:23异常

    一:概述 1:错误 错误有语法和逻辑上的区别.语法错误指示软件的结构上有错误,导致不能被解释器解释或编译器无法编译.这些错误必须在程序执行前纠正.逻辑错误可能是由于不完整或是不合法的输入所致,还可能是 ...

  4. HZOJ 大佬(kat)

    及其水水水的假期望(然而我已经被期望吓怕了……). 数据范围及其沙雕导致丢掉5分…… 因为其实每天的期望是一样的,考虑分开. f[i][j]表示做k道题,难度最大为j的概率. 则f[i][j]=(f[ ...

  5. hdu 3329 The Flood (Flood Fill + MFSet)

    Problem - 3329 用pfs,将淹没时间调整回来,然后用并查集,时间倒序插入点. 代码如下: #include <iostream> #include <algorithm ...

  6. 两个[\\s\\S]*?之间可为空元素没有意义

    两个[\\s\\S]*?之间的* ? {0,n}等元素无效,即使出现这样的元素,也会被当做[\\s\\S]*?处理,[\\s\\S]*+也类似 除非两个[\\s\\S]*?之间设置必定出现的元素才有意 ...

  7. 2012年NOIP普及组复赛题解

    题目涉及算法: 质因数分解:入门: 寻宝:模拟: 摆花:动态规划: 文化之旅:搜索. 质因数分解 题目链接:https://www.luogu.org/problem/P1075 这道题目只需要开个 ...

  8. tensorflow学习笔记(二十五):ConfigProto&GPU

    tensorflow ConfigPrototf.ConfigProto一般用在创建session的时候.用来对session进行参数配置 with tf.Session(config = tf.Co ...

  9. grep简介

    grep -ril "xxxxx" .   :查看当前目录下所有文件是否包含指定字符,只输出符合条件的文件名 -r :递归查找 -i:忽略大小写 -l :只输出文件名

  10. 【HTML/CSS】置换元素

    置换元素: 一个内容不受CSS视觉格式化模型控制,CSS渲染模型并不考虑对此内容的渲染,且元素本身一般拥有固有尺寸(宽度,高度,宽高比)的元素,被称之为置换元素. 行内级置换和非置换元素的宽度定义 对 ...