ceph 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    #删除所有镜像

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/815338.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言:关于动态内存管理我到底应该懂些什么?看了我这篇你就通透了。

1.动态内存的分配 在我们初学C语言的时候,我们经常用一下几种方式申请内存空间。 int a 10;//在栈空间上开辟4个字节存放这个值。 char arr[10] {1,2,3,4,5,6,7,8,9,10};//在栈空间上开辟10个字节的连续空间。但是上述开辟空间有两个特点 1.空间开辟大小是固定的…

FJSP:袋鼠群优化(Kangaroo Swarm Optimization ,KSO)算法求解柔性作业车间调度问题(FJSP),提供MATLAB代码

一、柔性作业车间调度问题 柔性作业车间调度问题(Flexible Job Shop Scheduling Problem,FJSP),是一种经典的组合优化问题。在FJSP问题中,有多个作业需要在多个机器上进行加工,每个作业由一系列工序组成&a…

微服务之Consul 注册中心介绍以及搭建

一、微服务概述 1.1单体架构 单体架构(monolithic structure):顾名思义,整个项目中所有功能模块都在一个工程中开发;项目部署时需要对所有模块一起编译、打包;项目的架构设计、开发模式都非常简单。 当项…

C++ | Leetcode C++题解之第22题括号生成

题目&#xff1a; 题解&#xff1a; class Solution { public:vector<string> res; //记录答案 vector<string> generateParenthesis(int n) {dfs(n , 0 , 0, "");return res;}void dfs(int n ,int lc, int rc ,string str){if( lc n && rc n…

美团笔试复盘

昨天做了美团的笔试&#xff0c;现在复盘一下。 1、将数组按照绝对值大小排序 有道算法题解决思路需要将数组按照绝对值大小进行排序&#xff0c;我使用的是sort方法Comparator比较器实现的&#xff0c;这里记录一下&#xff1a; public static void main(String[] args) {In…

第二证券策略:股指预计维持震荡格局 关注汽车、工程机械等板块

第二证券指出&#xff0c;指数自今年2月份阶段低点反弹以来&#xff0c;3月份持续高位整理。进入4月份之后面对年报和一季报的双重财报发表期&#xff0c;预计指数短期保持高位整理概率比较大。前期缺乏成绩支撑的概念股或有回落的危险&#xff0c;主张重视成绩稳定、估值低、分…

【Leetcode】1702. 修改后的最大二进制字符串

文章目录 题目思路代码复杂度分析时间复杂度空间复杂度 结果总结 题目 题目链接&#x1f517; 给你一个二进制字符串 b i n a r y binary binary &#xff0c;它仅有 0 0 0 或者 1 1 1 组成。你可以使用下面的操作任意次对它进行修改&#xff1a; 操作 1 &#xff1a;如果…

Golang(一):基础、数组、map、struct

目录 hello world 变量 常量&#xff0c;iota 函数 init函数和导包过程 指针 defer 数组和动态数组 固定长度数组 遍历数组 动态数组 len 和 cap 截取 切片的追加 map 四种声明方式 遍历map 删除 查看键是否存在 结构体 声明 作为形参 方法 封装 继承…

[入门到放弃]设计模式-笔记

模块化设计 20240448 模块不包含数据&#xff0c;通过实例的指针&#xff0c;实现对实例的操作&#xff1b;唯一包含的数据是用于管理这些模块的侵入式链表模块只负责更具定义的数据结构&#xff0c;执行对应的逻辑&#xff0c;实现不同实例的功能&#xff1b; 参考资料 使用…

【热门话题】常见分类算法解析

&#x1f308;个人主页: 鑫宝Code &#x1f525;热门专栏: 闲话杂谈&#xff5c; 炫酷HTML | JavaScript基础 ​&#x1f4ab;个人格言: "如无必要&#xff0c;勿增实体" 文章目录 常见分类算法解析1. 逻辑回归&#xff08;Logistic Regression&#xff09;2. 朴…

4.Godot图片素材的获取和编辑

游戏开发中经常遇到图片素材的需求 1. 图片素材的准备 术语&#xff1a;Sprite 精灵&#xff0c;游戏开发中指一张图片来源不明的图片&#xff0c;切勿在商业用途使用&#xff0c;以免引起版权风险。 1. 在学习阶段&#xff0c;可以百度或者从一些资源网站获取&#xff0c;这…

ViT-DeiT:用于乳腺癌组织病理图像分类的集成模型

两种预训练Vision Transformer模型的集成模型&#xff0c;即Vision Transformer和数据高效视觉Transformer&#xff08;Data-Efficient Image Transformer&#xff09;。此集成模型是一种软投票模型。 近年来&#xff0c;乳腺癌的分类研究主要集中在超声图像分类、活检数据分类…

QT常用控件

常用控件 控件概述QWidget 核⼼属性核⼼属性概览enabledgeometrywindowTitlewindowIconwindowOpacitycursorfonttoolTipfocusPolicystyleSheet 按钮类控件Push ButtonRadio ButtionCheck Box 显⽰类控件LabelLCD NumberProgressBarCalendar Widget 输⼊类控件Line EditText Edi…

AI领域的最新动态:大型语言模型的崛起、AI芯片竞争与创新应用

AI领域的最新动态&#xff1a;大型语言模型的崛起、AI芯片竞争与创新应 在最近的AI新闻中&#xff0c;有几个重要的发展值得关注&#xff1a; 1. **大型语言模型的发布和更新**&#xff1a; - Google在其Google Cloud Next活动上宣布&#xff0c;Gemini 1.5现已在180多个国家/…

(学习日记)2024.04.15:UCOSIII第四十三节:任务消息队列

写在前面&#xff1a; 由于时间的不足与学习的碎片化&#xff0c;写博客变得有些奢侈。 但是对于记录学习&#xff08;忘了以后能快速复习&#xff09;的渴望一天天变得强烈。 既然如此 不如以天为单位&#xff0c;以时间为顺序&#xff0c;仅仅将博客当做一个知识学习的目录&a…

# 达梦sql查询 Sql 优化

达梦sql查询 Sql 优化 文章目录 达梦sql查询 Sql 优化注意点测试数据单表查询 Sort 语句优化优化过程 多表关联SORT 优化函数索引的使用 注意点 关于优化过程中工具的选用&#xff0c;推荐使用自带的DM Manage&#xff0c;其它工具在查看执行计划等时候不明确在执行计划中命中…

MySQL 主从复制部署(8.0)

什么是主从数据库 主从数据库是一种数据库架构模式&#xff0c;通常用于提高数据库的性能、可用性和可伸缩性。 它包括两种类型的数据库服务器&#xff1a; 1&#xff09;主数据库&#xff08;Master&#xff09;&#xff1a;主数据库是读写数据的主要数据库服务器。所有写操…

前端小技巧之轮播图

文章目录 功能htmlcssjavaScript图片 设置了一点小难度&#xff0c;不理解的话&#xff0c;是不能套用的哦&#xff01;&#xff01;&#xff01; &#xff08;下方的圆圈与图片数量不统一&#xff0c;而且宽度是固定的&#xff09; 下次写一些直接套用的&#xff0c;不整这些麻…

SpringBoot配置优先级

配置优先级排序&#xff08;从高到低&#xff09; 1&#xff09;命令行参数 2&#xff09;java系统属性 3&#xff09;application.properties 4&#xff09;application.yaml 5&#xff09;application.ymlSpringBoot的系统属性配置和命令行参数配置 1、cmd端进行配置 1&am…

边缘计算网关究竟是什么呢?它又有什么作用呢?-天拓四方

在数字化时代&#xff0c;信息的传输与处理变得愈发重要&#xff0c;而其中的关键节点之一便是边缘计算网关。这一先进的网络设备&#xff0c;不仅扩展了云端功能至本地边缘设备&#xff0c;还使得边缘设备能够自主、快速地响应本地事件&#xff0c;提供了低延时、低成本、隐私…