ceph集群配置

4台机器

高度可扩展,分布式的存储文件系统,旨在提供高性能,高可靠性和高可用的对象存储,块存储,文件系统的存储。

使用分布式的算法保证数据的高可用和一致性。

ceph的架构:

1、ceph minitor

MON:负责存储和维护整个ceph集群的状态信息,主要是集群的成员信息,存储状态和配置数据等等。

确保集群的一致性,处理选举和状态的更新,集群内部成员的通信,包括故障转移。

ceph当中的mon至少有3个节点确保高可用。

2、ceph osd   object storage deamon

ceph存储系统的核心组件,负责存储数据,处理读写与请求,数据复制,数据恢复。

每个osd节点管理一个或者多个硬盘驱动。

存储实际的数据和副本

处理对象级别的数据操作,读,写,删

在节点付账时,进行数据恢复

3、ceph mds  metadata  server

对ceph的文件系统的元数据进行管理,文件和目录的结构,文件的权限,mds提供元数据服务

管理集群的元数据信息

处理客户端对文件系统的请求

ceph集群中,至少要有一个mds节点。

4、存储池和pg

存储池:ceph存储对象的容器,每个存储池可以定义不同的数据冗余的策略(副本数,默认都是3)crush映射规则等等。

存储池是一个逻辑上的概念。

管理和组织数据的对象

定义数据的冗余方式,只要是开副本,3个。

配置crush映射,数据如何在osd之间发布。

pg:placement group

pg也是ceph当中的一个逻辑概念,用于数据发布的基本单位,创建存储池,定义好pg的数量。

pg是由一组对象(object)组成的逻辑集合,每个对象都会映射到一个或者多个pg。

数据发布:数据写入集群,映射到存储池中的一个pg,crush算法决定将pg发布到哪些osd。

在ceph当中,pg和osd的数量是相关的,设置一个合理的pg数,有助于提高集群的性能。

3个osd为例

pg数量=(osd数量*100)/存储池的副本数

300/3=100           

pg的数量应该是2的幂值,   128

pg的数量一般是osd数量的一百倍,左右。

存储池,pg和osd之间的关系:

1、存储池(pool),管理数据的基本单位,组成和配置数据的存储和冗余的方式

2、pg存储池中的数据划分成多个pg,每个pg是数据发布的最小单位,pg负责对象存储的位置,通过crush的算法把数据发布到osd

3、osd是负责存储的数据基于物理设备的虚拟概念。

crush算法,ceph自带的一种算法:

数据发布的算法,把对象分配到集群的osd节点当中。

crush算法使用hash算法来决定数据的存储位置,确保数据是均匀分布在集群的osd上。

存储类型:

对象存储  云平台存储,基于apt接口,通过http(s)来对目标发起请求的方式获取数据。

块存储   RBD

文件系统  cephfs

集群的架构:

test1  mon   osd   admin

test2   mon   osd

test3   mon   osd

test4   客户端

ceph17版本------2024  17.2.24依赖于docker  python3-------ubuntu自带  lvm2

全部清空  更换相应版本的阿里云

安装docker

test1

wget https://mirrors.aliyun.com/ceph/debian-17.2.4/pool/main/c/ceph/cephadm_17.2.4-1focal_amd64.deb

cephadm bootstrap --mon-ip 192.168.32.20 --cluster-network 192.168.32.0/24 --allow-fqdn-hostname

--mon-ip  指定mon进程的节点地址,先指定admin节点。

--cluster-network   集群网络的只范围,ceph节点内部通信。

--allow-fqdn-hostname    允许ceph集群使用hostname来对节点进行标识。节点之间可以通过主机名进行通信

40

echo "192.168.32.21 nginx2" | tee -a /etc/hosts

test1 2 3 4

test1

修改mon节点的数量

等待对应数满

test1 2 3

在虚拟机中添加硬盘

刷新

for host in /sys/class/scsi_host/host*/scan; do
    echo "- - -" | sudo tee $host
done

作为ceph集群的底层的硬盘必须满足的两个条件:

1、容量必须大于5G

2、不能对硬盘做任何分区和文件系统

test1

获取可用的节点

等待

添加osd  1   2   3 

ceph RBD

rados block device

虚拟化环境,openstack,KVM

数据库:性能高,延迟低的块存储方式

优点:

1、支持动态扩展

2、支持快照和克隆

缺点:

1、rdb的方式必须要创建文件系统

使用方式:在云计算的平台经常被使用,尤其是大规模存储和高性能存储场景。

test1

创建存储池

ceph osd pool rdb1 存储池的名称

128 pg_num  pgd数量

128 pgp_num 的数量

给存储池创建类型(可以不写)

做映射   客户端 test 4

创建rdb镜像

镜像是rdb存储的基本单位,是一个虚拟的磁盘。

镜像提供了一个虚拟的块设备的接口,可以挂载的方式进行使用。

创建rdb镜像,实际上就是类似磁盘的一个分区

test1 复制文件系统 和 miyaod

test4

创建镜像

做映射

映射之后,会虚拟出一个逻辑上的硬盘,要创建文件系统,然后挂载才可以使用。

mkfs

2、cephfs的存储方式:

文件系统分布式存储方式,基于内核是实现共享文件的存储方式

大数据存储,文件服务器(文件共享,企业的镜像服务源)

优点:内核兼容,NFS方式也可以实现,部署速度比较快,跨节点实现

缺点:配置比rdb的比较复杂,在大集群当中比较复杂

ceph需要两个存储池

数据池cephfs.data,用来存储数据

元数据池,保存数据的元信息,cephfs.meta

cephfs:数据池cephfs.data

test1

查看名称

查看状态

test4

ceph auth  get-key client.admin

创建集群

test1

创建nfs的高可用,分别运行test1,再加入test2,test3

nfs的挂载目录和cephfs数据池之间的关系:

通过nfs的挂载方式,依然使用的cephfs.data的数据的空间,文件实际上还是存储在cephfs.data的数据池当中。

3、ceph object storge 对象存储

云计算的后台的存储方式一般都是用对象存储

对象存储:高扩展,处理文件的级别可以达到PB级别。

缺点:如果数据量不是特别巨大一般不需要该场景。

ceph需要使用分布式文件系统的企业一般都是需要存储海量数据,可以保证数据的高可用非常严谨的场景。

ceph的存储方式的数据流向:

存储池 pg  osd

创建存储池,分配pg   

数据按照对象分配给pg

pg再把数据分配给osd

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

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

相关文章

winform中使用panuon开源UI库的问题

在 WinForms 中使用 Panuon UI 是一种提高应用程序用户界面美观和交互性的方式。Panuon UI 是一个用于 .NET 应用程序的现代化 UI 库,它提供了一些非常好看的控件,能够让 WinForms 应用程序看起来更现代。 But------------------------------------&…

【Uniapp-Vue3】swiper滑块视图容器的用法

我们使用swiper标签就可以实现轮播图的效果。 一、swiper组件的结构 整体的轮播图使用swiper标签&#xff0c;轮播的每一页使用swiper-item标签。 <template><swiper class"swiper"><swiper-item><view class"swiper-item">111…

Which CAM is Better for Extracting Geographic Objects? A Perspective From参考文献

参考文献列表 [1] E. Shelhamer, J. Long, and T. Darrell, “Fully convolutional networks for semantic segmentation,” in Proc. Comput. Vis. Pattern Recognit., Jun. 2015, pp. 3431–3440. 中文翻译&#xff1a;[1] 谢尔哈默, E., 龙, J., & 达雷尔, T. (2015).…

【C++项目实战】类和对象入门实践:日期类实现万字详解

&#x1f493; 博客主页&#xff1a;倔强的石头的CSDN主页 &#x1f4dd;Gitee主页&#xff1a;倔强的石头的gitee主页 ⏩ 文章专栏&#xff1a;《C项目实战》 期待您的关注 ​ 目录 引言 介绍 一、类的设计 二、成员函数的实现 &#x1f343;构造函数、析构函数、拷贝构造…

基于32单片机的智能语音家居

一、主要功能介绍 以STM32F103C8T6单片机为控制核心&#xff0c;设计一款智能远程家电控制系统&#xff0c;该系统能实现如下功能&#xff1a; 1、可通过语音命令控制照明灯、空调、加热器、窗户及窗帘的开关&#xff1b; 2、可通过手机显示和控制照明灯、空调、窗户及窗帘的开…

hot100_54. 螺旋矩阵

hot100_54. 螺旋矩阵 给你一个 m 行 n 列的矩阵 matrix &#xff0c;请按照 顺时针螺旋顺序 &#xff0c;返回矩阵中的所有元素。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,2,3],[4,5,6],[7,8,9]] 输出&#xff1a;[1,2,3,6,9,8,7,4,5] 示例 2&#xff1a; 输入&am…

HTML5实现好看的博客网站、通用大作业网页模板源码

HTML5实现好看的博客网站、通用大作业网页模板源码 前言一、设计来源1.1 主界面1.2 列表界面1.3 文章界面 二、效果和源码2.1 动态效果2.2 源代码 源码下载结束语 HTML5实现好看的博客网站、通用大作业网页模板源码&#xff0c;博客网站源码&#xff0c;HTML模板源码&#xff0…

移动硬盘无法访问:全面解析、恢复方案与预防策略

描述移动硬盘无法访问现象 在日常的数据存储和传输过程中&#xff0c;移动硬盘无疑扮演着举足轻重的角色。然而&#xff0c;当移动硬盘突然无法访问时&#xff0c;这无疑给用户带来了巨大的困扰。想象一下&#xff0c;你急需从移动硬盘中调取一份重要文件&#xff0c;但系统却…

1-markdown转网页样式页面 --[制作网页模板] 【测试代码下载】

markdown转网页 将Markdown转换为带有样式的网页页面通常涉及以下几个步骤&#xff1a;首先&#xff0c;需要使用Markdown解析器将Markdown文本转换为HTML&#xff1b;其次&#xff0c;应用CSS样式来美化HTML内容。此外&#xff0c;还可以加入JavaScript以增加交互性。下面我将…

基于Centos 7系统的安全加固方案

创作不易&#xff0c;麻烦点个免费的赞和关注吧&#xff01; 声明&#xff01; 免责声明&#xff1a;本教程作者及相关参与人员对于任何直接或间接使用本教程内容而导致的任何形式的损失或损害&#xff0c;包括但不限于数据丢失、系统损坏、个人隐私泄露或经济损失等&#xf…

Angular由一个bug说起之十三:Cross Origin

跨域 想要了解跨域&#xff0c;首要要了解源 什么是源&#xff0c;源等于协议加域名加端口号 只有这三个都相同&#xff0c;才是同源&#xff0c;反之则是非同源。 比如下面这四个里&#xff0c;只有第4个是同源 而浏览器给服务器发送请求时&#xff0c;他们的源一样&#xff0…

nacos安装集群

本示例是安装在本地虚拟机linux环境。 &#xff08;1&#xff09;下载nacos https://download.csdn.net/download/lft18/90231054 &#xff08;2&#xff09;上传服务器并修改配置 放到/app/nacos目录下&#xff1a; 解压&#xff1a; tar -zxvf nacos-server-1.4.1.tar.…

taro转H5端踩坑

项目场景&#xff1a; 在利用taro进行多端开发时踩坑随记&#xff1a; 问题描述 在编译h5端的时候提示&#xff1a; Uncaught TypeError: (prevProps.className || prevProps.class || “”).split is not a function" return <ScrollView scrollY onScrollToLower{…

REVERSE-COMPETITION-CCSSSC-2025

REVERSE-COMPETITION-CCSSSC-2025 donntyouseeHappyLockkernel_traffic donntyousee elf64&#xff0c;ida反编译不太行&#xff0c;有花指令&#xff0c;直接调汇编 读输入 读输入前有条打印”plz input your flag”&#xff0c;肯定是在.init_array&#xff0c;确实有很多 …

海外招聘丨 弗拉瑞克商学院—博士研究员:智能家居技术业务和能源管理中的数据分析和人工智能

雇主简介 Vlerick 是一所领先的国际商学院……与众不同。是的&#xff0c;我们提供完全认可的世界一流教育课程&#xff0c;将理论知识和实践见解完美结合。是的&#xff0c;我们是一家领先的学术机构&#xff0c;拥有创新和独立研究的悠久传统。是的&#xff0c;我们拥有国际…

设计模式 行为型 策略模式(Strategy Pattern)与 常见技术框架应用 解析

策略模式&#xff08;Strategy Pattern&#xff09;核心思想是将算法的实现从使用该算法的类中分离出来&#xff0c;作为独立的对象&#xff0c;通过接口来定义算法家族&#xff0c;这样就可以很容易地改变或扩展算法。通过这种方式&#xff0c;可以避免在客户端代码中使用大量…

如何使用脚手架工具开始,快速搭建一个 Express 项目的基础架构

前言 将从如何使用脚手架工具开始&#xff0c;快速搭建一个 Express 项目的基础架构。接着&#xff0c;文章将详细讲解 Express 中间件的概念、分类以及如何有效地使用中间件来增强应用的功能和性能。最后&#xff0c;我们将讨论如何制定合理的接口规范&#xff0c;以确保 API …

《Opencv》基础操作详解(5)

接上篇&#xff1a;《Opencv》基础操作详解&#xff08;4&#xff09;-CSDN博客 目录 接上篇&#xff1a;《Opencv》基础操作详解&#xff08;4&#xff09;-CSDN博客 25、轮廓近似 简介 接口用法 参数说明 返回值 代码示例 结果展示 26、轮廓最小外接圆 简介 接口用…

Java虚拟机面试题:内存管理(上)

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;精通Java编…

测试用例颗粒度说明

当我们在编写测试用例时&#xff0c;总是会遇到一个问题&#xff1a;如何确定测试用例的颗粒度&#xff1f;测试用例过于粗糙&#xff0c;可能无法全面覆盖系统的细节&#xff1b;而颗粒度过细&#xff0c;又会导致测试重复、冗余。掌握合适的颗粒度&#xff0c;不仅可以提高测…