ceph rbd部署与使用

云原生--ceph存储之RBD的使用 Ceph 可以同时提供对象存储 RADOSGW、块存储 RBD、文件系统存储 Ceph FS,RBD 即RADOS Block Device 的简称,RBD 块存储是常用的存储类型之一,RBD 块设备类似磁盘可以被挂载,RBD 块设备具有快照、多副本、克隆和一致性等特性,数据以条带化的方式存储在 Ceph 集群的多个 OSD 中。客户端访问RBD设备的方式有两种。 阅读详情

一、前言

    Ceph RBD(Rados Block Device)是 Ceph 存储解决方案的一部分,它提供了一个分布式块设备服务,允许用户创建和管理虚拟块设备,类似于传统的本地磁盘,Ceph RBD 是一个高度可扩展的存储解决方案,可以根据需要动态地扩展存储容量和性能,还支持快照和克隆功能,允许用户创建块设备的快照,并在需要时基于这些快照创建新的克隆设备

 快照(Snapshot):RBD 镜像支持快照功能,允许用户在任何时间点捕获 RBD 镜像的快照。快照是镜像在某个时间点的只读视图,可以用于数据备份、恢复、测试等用途。Ceph RBD 提供了快速、轻量级的快照功能,使用户能够快速创建和管理快照

克隆(Clone):RBD 镜像支持克隆功能,允许用户基于现有的快照创建新的镜像。克隆是一种轻量级的方式来创建新的镜像,可以在快速、高效地创建新的镜像副本时使用

镜像层叠(Layering):RBD 镜像支持镜像层叠功能,允许用户创建基于现有镜像的多个镜像副本。这种层叠结构可以节省存储空间,并简化镜像管理,因为所有的镜像共享相同的基础数据

复制(Replication):RBD 镜像支持复制功能,允许用户在不同的 Ceph 存储集群之间复制镜像数据。这种复制功能可以用于数据备份、灾难恢复等场景,确保数据的安全性和可用性

加密(Encryption):RBD 镜像支持加密功能,可以对镜像数据进行加密保护。这种加密功能可以保护敏感数据免受未经授权的访问和窃取,确保数据的机密性和安全性

二、部署

   创建存储池

ceph osd pool create rbd-data 32 32 

  使用该存储池开启rbd服务

ceph osd pool application enable rbd-data rbd

  初始化rbd服务

rbd pool init -p rbd-data

 创建img镜像(rbd块不能直接使用,需要先创建img镜像,通过挂载img镜像去使用)

rbd create data-img --size 3G --pool rbd-data --image-format 2 --image-feature layering

 --image-format 2:指定了镜像的格式。在这里,指定的格式是 2。RBD 支持不同的镜像格式,其中格式 2 是最常用的格式,它支持更多的特性和功能

-image-feature layering:这是一个镜像特性(Image Feature),指定了镜像支持的特性之一。layering 特性允许创建具有写时复制(Copy on Write,COW)特性的快照。使用 layering 特性创建的镜像可以更高效地管理快照,并支持更多的快照操作

镜像特性

layering:允许使用镜像层叠功能。启用此特性后,可以创建基于现有镜像的快照,并将其用作父镜像以创建克隆

striping:允许对镜像进行条带化(striping)。条带化可以提高 I/O 性能,并允许并行访问镜像数据

exclusive-lock:启用独占锁定功能。启用此特性后,只有一个客户端可以对镜像进行写入操作,防止多个客户端之间的冲突

object-map:启用对象映射功能。对象映射是一种元数据结构,用于跟踪每个块的使用情况,以便在执行快照、克隆等操作时提高性能,此特性依赖于exclusive-lock

fast-diff:启用快速差异计算功能。快速差异计算允许快速计算两个快照之间的差异,并只传输变更部分,从而加速快照复制和恢复操作,此特性依赖于object-map

deep-flatten:启用深度平铺功能。深度平铺允许将镜像快照展开成扁平的镜像,从而减少快照链的深度,并提高性能

启用镜像的指定特性

rbd feature enable exclusive-lock --pool rbd-data --image data-img

禁用镜像的指定特性

rbd feature enable exclusive-lock --pool rbd-data --image data-img

查看img镜像

rbd ls --pool rbd-data -l

 

查看img镜像的详细信息

rbd --pool rbd-data --image data-img info

三、使用

在centos主机挂载rbd块使用

需要在客户端主机安装ceph-common组件,也需要在管理节点拷贝ceph.conf和keyring密钥文件

安装ceph-common组件

vi /etc/yum.repos.d/ceph.repo 

[Ceph]
name=Ceph
baseurl=https://mirrors.aliyun.com/ceph/rpm-15.2.9/el7/x86_64/
enabled=1
gpgcheck=0
 
[Ceph-noarch]
name=Ceph noarch packages
baseurl=https://mirrors.aliyun.com/ceph/rpm-15.2.9/el7/noarch/
enabled=1
gpgcheck=0

 安装

yum -y install epel-release
yum -y install ceph-common

从ceph管理节点拷贝文件

scp /etc/ceph/ceph.conf /etc/ceph/ceph.client.admin.keyring root@10.1.60.118:/etc/ceph

客户端映射rbd镜像

rbd -p rbd-data map data-img

查看映射的镜像

lsblk

格式化磁盘

mkfs.xfs /dev/rbd0

创建挂载目录

mkdir /data/data1

挂载磁盘

mount /dev/rbd0 /data/data1

查看挂载磁盘

df -Th

扩容rbd镜像

这里我多创建了一个叫cs的镜像用于测试

 

并用于挂载后写入了数据

 扩容镜像

rbd resize --pool rbd-data --image cs --size 4G
rbd info --pool rbd-data --image cs

 查看客户端会发现磁盘扩容了,但是挂载的文件系统没有扩容

 这是因为文件系统需要手动去调整,这里因为之前初始化用的是xfs文件系统,所以需要用xfs文件系统的命令调整,执行完后会发现文件系统也扩容到了4G

xfs_growfs /dev/rbd1
df -Th

查看文件,会发现并没有影响到原本存在的文件

ls /mnt/cs

 

 

rbd镜像快照

创建镜像快照,快照并不会占用存储空间

rbd snap create --pool rbd-data --image cs --snap cs-snap02

查看快照

rbd snap list --pool rbd-data --image cs

 快照恢复

 先删除一部分文件

接下来进入恢复步骤 

需要先卸载挂载目录(如果先恢复,再卸载目录,挂载会报错)

cd ~
umount /mnt/cs

回滚快照

rbd snap rollback --pool rbd-data --image cs --snap cs-snap02

挂载目录

mount /dev/rbd1 /mnt/cs

 查看目录文件

ls /mnt/cs

可以看到恢复完成

快照删除

rbd snap rm --pool rbd-data --image cs --snap cs-snap  #删除特定镜像
rbd snap purge --pool rbd-data --image cs    #删除所有镜像

 

ceph rbd image手动挂载,使用dd进行测试读写 例如,开启journal ,或者image中存在一些另外的特性,所以挂载前可以检查一下image info。根据自己需要,选择要使用的文件系统进行格式化。一般用ext4能支持很多场景。因为创建出来的这个卷是一个空白卷,可以先给这个卷格式化一下,做一个文件系统。使用map操作后,操作系统中能查看到一个新的盘符, rbd0。硬盘的文件系统:file system。存在一些情况,image无法挂载。进到挂载目录进行读写操作。 阅读详情

相关推荐

Ceph集群搭建系列(六):RBD块设备的使用场景、原理分析及其创建

一、前言 下图数据出自2018年ceph社区用户调查报告,Ceph RBD接口的使用场景主要是VM和DB数据库。 而使用Ceph RBD的接口方式的用户数据如下,主要是librbd 和 kernel RBD,如下图: 那么对于初学者来说,librbd 和 linux kernel RBD是什么?通过它们来访问RBD块设备有什么区别呢? 二、librbd 和 linux kernel...

Yannick Jiang 的专栏 3988

Ceph—Rbd

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

屈帅波的技术博客 4088

OpenStack接Ceph:从部署到RBD配置的工程实践指南

在私有云与虚拟化环境中,底层存储架构往往决定上层服务的稳定性。Ceph作为分布式存储系统的代表,通过RBD(块设备)接口为OpenStack提供统一的后端存储能力,涵盖镜像、卷与临时磁盘等核心数据存储场景。其工作原理依赖RADOS层与OSD集群协作,以多副本机制保障数据安全。利用cephadm容器化部署工具,可快速构建并管理Ceph集群,极大降低运维成本。当OpenStack接Ceph时,需要理解pool规划、cephx权限与Glance/Cinder/Nova的驱动配置,才能真正打通从镜像上传到实例启动的

weixin_34072296的博客 214

ceph的rbd使用和理解(全)

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

weixin_42551719的博客 4万+

OpenStack离线部署Ceph分布式存储:从YUM源到RBD对接实战

在私有云环境中,OpenStack作为开源云平台,需要一种可靠、可扩展的分布式存储来支撑云硬盘、快照和虚机迁移。Ceph凭借其强一致性、无单点故障和线性扩展能力,成为OpenStack后端存储的理想选择,其RBD块设备接口与Nova、Cinder的集成成熟度远高于Swift和GlusterFS。然而离线网络环境下的部署往往因依赖包版本冲突而失败,构建本地YUM源是解决这一问题的第一步,利用createrepo生成元数据,保证openstack和ceph组件依赖的一致性。随后通过ceph-deploy搭建Mo

weixin_29895109的博客 171

21、二维卷积层(convolution2dLayer)的全面解析

本文全面解析了二维卷积层(convolution2dLayer)的原理、属性和应用,详细介绍了其在深度学习中的作用及实现方法。文章涵盖创建卷积层的语法、参数设置、算法原理、输入输出格式、优化策略以及实际应用案例,旨在帮助读者更好地理解和应用二维卷积层构建高效的深度学习模型。

red88的博客 319

Ceph RBD 部署与管理

RBD 介绍 RBD块存储是ceph提供的3种存储类型中使用最广泛,最稳定的存储类型。RBD块类似于磁盘,可以挂载到物理机或虚拟机中,通常的挂载方式有两种: Kernel模块(KRBD) 利用QEMU模拟器通过LIBRBD方式 块是一个有序字节,普通的一个块大小为512字节。基于块存储是最常见的方式,常见的硬盘、软盘和CD光驱等都是存储数据最简单快捷的设备。 在物理机上提供块设备时,使用的是K...

weixin_34236497的博客 2696

uniapp - 详细手机端h5网页调用手机摄像头进行二维码识别扫描,在uniapp的H5移动端微信网页平台中,在浏览器中调用手机扫码功能详细教程,识别二维码并获取扫描结果(完整示例源码,一键复制即用

uniapp,h5,手机端网页,H5手机网页,uniapp开发h5实现扫码功能,uniapp微信h5网页扫码sdk使用教程,uniapp h5网页如何实现浏览器扫码,uniapp扫码功能怎么兼容h5_uniapph5怎么做扫码功能,uniapp的手机网页如何实现扫二维码一维码,浏览器H5实现js扫码,H5调用摄像头和扫一扫功能,亲测可用,H5调用本地摄像头实现扫一扫,uni-h5项目解决扫码功能,uniapp实现微信H5扫码,解决uniapp在H5端使用不能扫码问题,uni-app的h5扫码(二维码、条形码

✅ 精选推荐文章 1万+

kubernetes 部署 ceph-rbd-csi

kubernetes 上部署 ceph-rbd-csi

Terry Tsang 837

一文吃透!C#上位机CAN总线通信开发:从协议解析到数据可视化

CAN底层协议仅定义了8字节数据的传输规则,实际业务需自定义应用层协议,实现多类型数据的有序传输,这是数据解析的核心。仲裁ID(16进制)数据长度(DLC)数据场格式业务含义解析规则0x0014字节0~3:温度数据温度采集(单位:℃)4字节→float类型(大端/小端需统一,如西门子PLC格式)0x0022字节0~1:转速数据电机转速(单位:r/min)2字节→short类型(Int16)0x0031字节0:bit0~bit7设备状态(8路开关量)

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 846

基于深度学习的柑橘病害检测系统——YOLOv8 + UI界面 + 数据集

深度学习是机器学习的一种重要分支,它通过构建多层的神经网络(尤其是卷积神经网络CNN)来从大规模的数据中学习特征。近年来,深度学习特别是在计算机视觉领域取得了显著的进展,成为图像分类、目标检测、图像分割等任务的主要技术。对于农业病害检测问题,深度学习通过对大量带标签的病害图像进行训练,能够自动识别不同类型的病害,并判断病害的程度。通过图像中目标(病害区域)的边界框,可以快速定位病害区域,进一步分析其影响范围。

YOLO 1044

分布式存储Ceph的部署及应用(创建MDS、RBD、RGW 接口)

存储机制会把数据分散存储到多个节点上,具有高扩展性、高性能、高可用性等优点。Ceph使用C++语言开发,是一个开放、自我修复和自我管理的开源分布式存储系统。具有高扩展性、高性能、高可靠性的优点。Ceph目前已得到众多云计算厂商的支持并被广泛应用。RedHat及OpenStack,Kubernetes都可与Ceph整合以支持虚拟机镜像的后端存储。粗略估计,我国70%—80%的云平台都将Ceph作为底层的存储平台,由此可见Ceph俨然成为了开源云平台的标配。

weixin_44112402的博客 1839

嵌入式开发之瑞芯微RK356x--基本环境搭建

嵌入式环境搭建

NexyHO的博客 617

ceph-ansible部署L版ceph 及 通过iscsi 共享rbd 对接xencenter

仅供参考: 这里要注意python的版本 软件源的匹配 https://blog.youkuaiyun.com/cojn52/article/details/85793902 服务器端 1 准备镜像 镜像centos7.5 1804 2 关闭防火墙 selinux systemctl status firewalld ystemctl stop firewalld getenfo...

二哈欢乐多的博客 1369

(持续更新中!)详解【计算机类&面试真题】军队文职考试 ——第二期(真题+解析)| 网络协议的三个核心要素;交互式系统中的非剥夺策略;中断和陷入的区别;可变分区管理中的硬件机制;数据库系统的优点

本篇博客将讨论军队文职面试(计算机类)的几个关键问题。我们将介绍网络协议的核心要素(帮助你理解网络通信的基本原理)、交互式系统中的非剥夺策略(解释为何这是一个优秀的策略以及其对用户体验、系统稳定性和可预测性的影响)、中断和陷入的区别(从引起原因、处理机制、权限级别和应用等方面进行阐述)、可变分区管理的硬件机制以及数据库系统与文件系统的优点比较。通过阅读本文,您将深入了解这些话题,为面试准备和实际应用提供有价值的知识。

追光者♂:记录、分享、总结、提升,现象级专栏《Python从入门到人工智能》作者,无惧黑暗,坚信曙光 1707

2026年Java 开发工程师常见面试简答题

本文整理了Java开发工程师面试常见简答题及详细解析,涵盖Java基础、集合框架、并发编程、JVM等核心考点。主要内容包括:1. Java基础概念:JDK/JRE/JVM区别、面向对象特性、重载与重写、接口与抽象类、String特性等 2. 集合框架:ArrayList/LinkedList区别、HashMap实现原理、线程安全方案、集合类型对比 3. 并发编程:synchronized原理、volatile作用、线程创建方式、线程池参数与策略、死锁处理 4. JVM相关:内存区域划分、垃圾回收算法、类加载

不务正业的猿 370

使用Helm轻松部署Ceph RBD Provisioner,简化Kubernetes存储管理

在构建现代云原生应用时,Kubernetes已成为不可或缺的一部分,而高效的存储管理对于确保应用程序的稳定性和性能至关重要。Ceph作为一个分布式存储系统,提供了强大的RBD(RADOS Block Device)功能,能够为Kubernetes提供可靠的持久化存储解决方案。通过上述步骤,您可以轻松地使用Helm部署Ceph RBD Provisioner,实现对Kubernetes集群中持久化存储的有效管理。随着技术的发展,请持续关注最新的工具和技术,不断优化和完善您的基础设施,以保持竞争力。

zzjlhlcd的博客 540

储能电池管理系统介绍(一)

介绍储能BMS的架构以及各模块功能

manjixingkong1234的专栏 1916

手动部署CEPH rbd

手动部署 CEPH rbd在一台机器上进行验证使用:同一台机器上部署一个ceph-mon和一个ceph-osd。首先查看下系统内核是否支持rbd,如果有错误提示,说明内核不支持,需要升级内核# modprobe rbdFATAL: Module rbd not found.尴尬不,没有rbd内核,其实我是部署完之后才发现的。升级下内核。#modprobe rbd------------------...

xuleisdjn的专栏 2086

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

使用 docker 部署 ceph 服务器,创建 RBD 镜像并挂载到系统

1. 初始化环境 1.1 修改主机名 sudo hostnamectl set-hostname ceph-master1 1.2 修改网卡静态IP 这里根据个人环境选择是否配置静态IP。 cat | sudo tee /etc/systemd/network/eth1.network << EOF [Match] Name=eth1 [Network] Address=10.10...

kunyus的博客 1957

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

centos 7.0部署ceph rbd

系统环境:CentOS Linux release 7.0.1406 (Core) 内核环境:3.10.0-123.el7.x86_64 ceph版本:12.2.1 创建rbd 部署好Ceph环境,并创建出6+6的ec pool之后想要在ec_pool的基础上创建rbd rbd create rbd_test -p ec_data 出现了这样的错误 rbd: create error: (95) ...

天行健,地势坤 2384

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Ceph cephadm部署第二步:OSD添加与RBD挂载实战

分布式存储系统通过多节点协同提供高可靠性和可扩展性,其中Ceph作为主流开源方案,依赖底层OSD(对象存储守护进程)实现数据持久化。在基于cephadm的部署实践中,完成bootstrap只是搭建了管理面,真正让集群可用还需将数据盘纳入编排器,创建OSD并构建存储池。RBD(块设备)是Ceph面向云平台和虚拟化场景的核心接口,通过内核映射可让Linux客户端像使用本地磁盘一样访问分布式存储。本文从集群健康检查、OSD添加、RBD池创建到客户端挂载,系统梳理了从空壳监控节点到可用存储系统的完整链路,并覆盖掉盘

weixin_31292729的博客 85

第三篇:k8s之容器存储接口(CSI)ceph-csi-rbd部署

容器存储接口(Container Storage Interface),简称 CSI,CSI 试图建立一个行业标准接口的规范,借助 CSI 容器编排系统(CO)可以将任意存储系统暴露给自己的容器工作负载。csi 卷类型是一种 out-tree(即跟其它存储插件在同一个代码路径下,随 Kubernetes 的代码同时编译的) 的 CSI 卷插件,用于 Pod 与在同一节点上运行的外部 CSI 卷驱动程序交互。部署 CSI 兼容卷驱动后,用户可以使用 csi 作为卷类型来挂载驱动提供的存储。

cheney的专栏 3670

【k8s】使用StatefulSet与Ceph RBD动态存储部署高可用MariaDB集群

本文详细介绍了在Kubernetes环境中,如何利用StatefulSet控制器与Ceph RBD动态存储方案,部署一个高可用且数据持久化的MariaDB数据库集群。通过定制Docker镜像、编写核心YAML部署清单,并整合StorageClass实现存储动态供给,确保数据库Pod在重启或迁移时数据不丢失,为有状态应用提供了稳定可靠的基础设施。

weixin_29306875的博客 438
上一篇: ceph集群管理节点高可用
下一篇: ceph用户管理
Apex   Predator
博客等级 码龄6年 9371粉丝 289原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值