linux的ceph

news2024/11/12 6:35:21

ceph

ceph是一个开源的,用c++语言编写的分布式的存储系统。存储文件数据。

分布式由多台物理磁盘组成一个集群,在这个基础之上实现高可用,扩展。

在这里插入图片描述

ceph是一个统一的存储系统,同时提供块设备存储,文件系统存储和对象存储三种存储方式

对象存储:

对象存储也就是键值存储,通过接口指令,get put del 和其他的命令向对象存储上传或者下载数据

把数据作为对象,按照一定的逻辑和算法,存储到不同的硬盘上(可以是不同机器上的硬盘,倚靠网络来进行互相通信)

优点:使用的是硬盘组,不受目录系统的影响,读写效率高。集群的扩展性很强,支持多副本存储。可以直接通过url访问文件。简单,也好管理

缺点:内容变动比较大的文件不社会作为对象存储。每一次变动要重新上传。静态图片等等不需要变动的数据

文件系统存储 ceph-fs

ceph集群的存储看做是一个大的分区或者共享文件挂载到客户端的本地

客户端可以在本地直接进行操作。速度快,可以存储的数据类型也没有限制

内核态和用户态:
内核态:mount 速度快,读写也快

用户态:ceph-fuse 速度慢,读写稍慢

优点:成本低,随便的一台服务器都可以做。公司内部都会使用这种方式。内网云盘就是这种方式

缺点:读写速度和传输速度相对比较慢(本地使用好一些)

块存储RBD:

rdb为kvm虚拟化和云服务(OpenStack)提供高性能和无线可扩展的存储手段

磁盘映射,raid和lvm提供磁盘空间,多个主机上的raid或者lvm组成一个逻辑上raid和lvm

多块磁盘组成这种逻辑空间,可以并行的执行读写操作,IO效率比较高

缺点:对网络传说的要求比较高,Windows无妨访问linux的rdb操作

ceph的主要特点:

统一存储:对象、块、文件系统

crush算法:算法来实现数据的寻址,数据完整性的校验和一致性。理论上可以支持上千个数据存储节点

高扩展性 扩容方便

可靠性比较强 副本,创建数据的时候可以对数据进行副本操作,副本数由管理定义的

副本可以跨主机保存,跨架构,跨数据中心进行保存

高性能 因为是多副本,读写的时候可以做到并行化处理

ceph的组件和作用

1、OSD ceph当中的OSD的守护进程,是集群的基础

主要功能:存储谁,保存副本数据,数据恢复,平衡数据分布

冗余和高可用至少要有3个OSD(三个机器上的三个物理硬盘)

2、MONitors mon pontior-s,见识ceph集群的状态,维护ceph的集群的健康

ceph存储集群必须亚要有一个Monitors进程,和两个OSD进程。

服务器的数量必须是奇数台。

管理节点 mon

​ osd

​ osd

3、MDS也是一个守护进程,保存ceph文件系统的元数据(文件的权限,所有者,所在组,修改时间等,在ceph集群当中的inode号)

4、managers也是作为守护进程运行,跟踪集群的运行时间的指标和ceph集群的状态:存储的利用率,性能指标和系统的负载

5、RADOS:分布式存储系统,所有的存储功能都是基于RADOS实现的,高可用,高性能也是基于rados实现的,他是所有一切的底层,也是整个ceph集群的核心

RADOS由两部分组成:OSD,Monitor

6、LIBRADOS:这是一个动态库,用来允许应用程序和RADOS系统进行交互

通过端口进行通信

存储的概念:

存储数据和object的关系:

对象,块,文件系统挂载,都需要odject,存储的数据会被分成多个object,分成之后每一个数据都有一个object id。

每个数据object的大小是可以调整的,默认是4M

ceph的最小存储单位

object和pg的关系:

object数量太多了,在一个集群当中,object的数量太多,遍历和寻址速度都很慢

PG,就是归置组,placcment group 管理object

object通过CRUSH算法映射到PG当中,一个pg里面可以包含多个object

Pg与osd之间的关系:

pg也是通过CRUSH算法映射到osd当中去存储。如果3个副本,每个pg会映射到三个QSD当中。

三个gSd A B C
pg--------A
PG-------B
PG---------C

PG和PGD的关系

pgd是存放pg的排列组合。

存储池: pool

ceph的集群进行逻辑划分,设置ceph存储集群的权限,副本数 pg的数量和算法的规则。

pool是由管理员自定义,相当–个独立的空间。每个pool之间是独立的,数据也是隔离的

先划分object(4M一个)然后按照划分pg组,之后根据副本数复制到其他的OSD上

192.168.39.31	admin+osd+monitor+mgr+主
192.168.39.32 osd+monitor+mgr+mds+从
192.168.39.33 osd+monitor+mgr+mds+从
192.168.39.34 客户机
三台
vim /etc/hosts
192.168.233.10 mysql1
192.168.233.20 mysql2
192.168.233.30 mysql3

192.168.39.31
ssh-keygen
#一路回车即可
ssh-copy-id 192.168.39.31
ssh-copy-id 192.168.39.32
ssh-copy-id 192.168.39.33
ssh-copy-id 192.168.39.34

四台同步
cat> /etc/yum.repos.d/ceph.repo <<eof
[ceph]
name=ceph
baseurl=http://mirrors.163.com/ceph/rpm-luminous/el7/x86_64/
gpgcheck=0
[ceph-noarch]
name=ceph-noarch
baseurl=http://mirrors.163.com/ceph/rpm-luminous/el7/noarch/
gpgcheck=0
eof
yum clean all && yum makecache
#如果安装不了,挂梯子或者删除本地local源
yum install -y ceph-deploy ceph ceph-radosgw snappy leveldb gdisk python-argparse gperftools-libs

#主和从添加硬盘
alias scan='echo "- - -" > /sys/class/scsi_host/host0/scan;echo "- - -" > /sys/class/scsi_host/host1/scan;echo "- - -" > /sys/class/scsi_host/host2/scan'
执行scan

# 管理节点,多个mon模式 
cd /etc/ceph/
ceph-deploy new mysql1 mysql2 mysql3
cd /etc/ceph
vim ceph.conf
#最后一行添加	osd_pool_default_size = 2
ceph-deploy mon create-initial
ceph -s
#一定要是health ok状态
#添加osd服务
ceph-deploy disk zap mysql1 /dev/sdb
ceph-deploy disk zap mysql2 /dev/sdb
ceph-deploy disk zap mysql3 /dev/sdb
#添加osd节点
ceph-deploy osd create mysql1 --data /dev/sdb
ceph-deploy osd create mysql2 --data /dev/sdb
ceph-deploy osd create mysql3 --data /dev/sdb
#查看osd节点的状态
ceph-deploy osd list mysql1 mysql2 mysql3
#添加mgr服务
ceph-deploy mgr create mysql1 mysql2 mysql3
# 管理节点
ceph-deploy admin mysql1 mysql2 mysql3
# 集群每一个节点授权	做三台
chmod +r /etc/ceph/ceph.client.admin.keyring
#添加mds服务
ceph-deploy mds create mysql2 mysql3
#查看mds服务状态
ceph mds stat, 2 up:standby
# 查看集群状态
ceph -s

第一个存储数据的pool

第二个存储元数据的pool

ceph osd pool create cephfs date pg_num

少于5个osd的情况下,pg的数量等于128

5-10个osd 512

10-50个osd 4096个

pg总数:750个,不能超过750个

128 * 3=384个
750-384= 366
存储元数据也要pg
128 * 2=256
存储数据:
osd * pg值
元数据
2 * pg值
osd * pg值+2 * pg值<750
pg_num=(osd*100)/副本数
设定pg值的目的,通过管理较少的pg,ceph获取数据,分配,管理数据的效率越高。

pg值越多,数据分布的越多,管理就越发复杂。

192.168.39.31	admin+osd+monitor+mgr+主
192.168.39.32 osd+monitor+mgr+mds+从
192.168.39.33 osd+monitor+mgr+mds+从
192.168.39.34 客户机

主
ceph osd pool create cephfs_date 128
#创建数据池
ceph osd pool create cephfs_metadate 128
#创建保存元数据
ceph fs flag set enable_multiple true --yes-i-really-mean-it
#允许创建多个文件系统
ceph fs new cephfs cephfs_metadate cephfs_date
#创建文件系统
ceph fs ls
#查看文件系统

客户机
yum -y install ceph-fuse.x86_64
mkdir /data
mount -t ceph 192.168.39.31:6789:/ /data -o name=admin,secret=AQBcCLNm1nXtDhAAniXvNrK1eZMAgNe2ri/Pfg==
secret=为主下面的 	/etc/ceph/ceph.client.admin.keyring

练习:
将原有的文件系统再次建立一个新的文件系统ceph-test1

在原有的基础上
主
ceph fs flag set enable_multiple true --yes-i-really-mean-it
#ceph某个版本之后默认只能有一个文件系统,这个就是允许添加新的文件系统
ceph osd pool create cephfs_test1 30
ceph osd pool create ceph_test1_metadate 30
ceph fs new ceph-test1 cephfs_test1 ceph_test1_metadate
客户机
mkdir /data2
mount -t ceph 192.168.39.31:6789:/ /data -o name=admin,secret=AQBcCLNm1nXtDhAAniXvNrK1eZMAgNe2ri/Pfg==,mds_namespace=cephfs2

在这里插入图片描述

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

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

相关文章

C++学习笔记05-补充知识点(问题-解答自查版)

前言 以下问题以Q&A形式记录&#xff0c;基本上都是笔者在初学一轮后&#xff0c;掌握不牢或者频繁忘记的点 Q&A的形式有助于学习过程中时刻关注自己的输入与输出关系&#xff0c;也适合做查漏补缺和复盘。 本文对读者可以用作自查&#xff0c;答案在后面&#xff0…

55 华三模拟器Server2 操作

华三模拟器Server2 操作 # /etc/config/dhcp uci set dhcp.eth2dhcp uci set dhcp.eth2.interfaceeth2 uci set dhcp.eth2.start100 uci set dhcp.eth2.limit150 uci set dhcp.eth2.leasetime12h # /etc/config/network uci set network.eth2interface uci set network.eth2.pr…

可爱萌《奥咕和秘密森林》,电脑单机游戏免费分享

《奥咕和秘密森林》是一款2D冒险游戏&#xff0c;游戏中玩家将与奥咕宝宝一起探索一个奇妙的世界。这款游戏的特点包括手绘角色和多种谜题&#xff0c;玩家可以在游戏中与激萌的小动物成为朋友&#xff0c;打败异界怪物&#xff0c;揭开未知世界的秘密。 游戏特色 探索世界&am…

宁德时代社招SHL入职测评:语言理解数字推理测评及综合测评真题、高分攻略、答题技巧

宁德时代的社招入职测评主要采用SHL的Verify系统&#xff0c;测评内容包括语言理解、数字推理、逻辑推理等部分。具体来说&#xff0c;语言理解部分包括阅读理解、逻辑填空和语句排序等题型&#xff0c;要求在限定时间内完成一定数量的题目 。数字推理部分则包括数字序列、数学…

JavaScript 数组排序

JavaScript 提供了多种对数组进行排序的方法&#xff0c;其中最常见和直接的是使用数组的 .sort() 方法。.sort() 方法可以对数组的元素进行排序&#xff0c;并返回排序后的数组。然而&#xff0c;.sort() 方法默认将数组元素转换为字符串&#xff0c;并按照字符串的 Unicode 编…

【Python】数据类型之字典(上)

字典是有序、键不重复且元素只能是键值对的可变的一个容器。 data{"k1":1,"k2":25} data中“k1”和“k2”是键&#xff0c;而1,25是值。“k1”:1,"k2":25是键值对。 1&#xff09;&#xff09;容器&#xff1a;存储多个元素。 2&#xff09;…

2024年港澳台联考高校新一波录取分数线来啦

导读 在前面几次中&#xff0c;我们和大家分享了一些2024年港澳台联考高校最新的录取分数线。今天我们继续来看一批新的录取分数线吧&#xff01;景于行分享的数据基本上都是经过可靠验证的&#xff0c;大家可以放心参考。 上海大学 上海大学和深圳大学是近些年来&#xff0c;依…

haproxy的安装和服务信息

为什么要使用haproxy&#xff1f; 因为LSV无后端检测&#xff0c;当webserver有一台状态异常&#xff0c;则运作异常&#xff1b;所以用haproxy来解决。 haproxy是一款具备高并发(万级以上)、高性能的TCP和HTTP负载均衡器&#xff0c;它支持基于cookie的持久性&#xff0c;自动…

力扣-1两数之和2两数相加-2024/8/3

1、两数之和 解法一 暴力法&#xff08;2个for循环&#xff09; class Solution:def twoSum(self, nums: List[int], target: int) -> List[int]:for ii in range(len(nums)):for jj in range(ii1, len(nums)):if nums[ii]nums[jj] target:return [ii,jj]解法二 哈希表法…

具有并发功能的网页以及一点链表相关内容

最近学习内容&#xff0c;前几天做了个小项目&#xff0c;通过tcp与html构建具有并发功能的商城 具有以下功能&#xff1a; 1 登陆进入查询页面 2 搜索商品信息概述 3 查看商品详细信息 4 记录访客信息 5 注册新用户 主页如下 主页程序 程序的设计&#xff1a;将现实中大…

DELL EMC PowerStore1000T存储添加主机、映射LUN

本次操作是为了把存储的卷映射给VMware集群&#xff0c;存储网络协议为FC SAN&#xff0c;存储端和主机端均连接FC交换机&#xff0c;并且FC交换机已完成ZONE相关配置 具体操作过程如下&#xff1a; 一、DELL EMC PowerStore1000T添加主机 1、进入Web控制台&#xff0c;点击…

字符函数和字符串函数(C语言)

目录 一. 字符分类函数 二. 字符转换函数 三.多种函数的使用和模拟实现 3.1 strlen函数 3.2 strcpy函数 3.3 strcat函数 3.4 strcmp函数 3.5 strncpy strncat strncmp &#x1f35f;&#x1f9e3;结束了指针的学习&#xff0c;我们开始了字符串之旅&#xf…

【若依项目-RuoYi】掌握若依前端的基本流程

搞毕设项目&#xff0c;使用前后端分离技术&#xff0c;后端springBoot&#xff0c;前端vue3element plus。自己已经写好前端与后端代码&#xff0c;但想换一个前端界面所以使用到了若依&#xff0c;前前后后遇到许多坑&#xff0c;记录一下&#xff0c;方便之后能够快速回忆。…

创意指南丨VR游览沉浸式空间体验

欢迎来到我们制作的VR幻想世界。玩家的起点是一条蓝色水晶大道&#xff0c;让我们一起探索这个如梦似幻的境地。 在这条大道的两侧&#xff0c;漂浮着半透明的大水晶水母。它们轻盈地在空中飘动&#xff0c;仿佛在欢迎我们的到来。这条道路上方&#xff0c;一个个半圆环不停地…

人脸身份证比对接口如何用Java对接?(二)

一、什么是人脸身份证比对&#xff1f; 人脸身份证比对又称人证比对&#xff0c;实人比对&#xff0c;人像比对&#xff0c;输入姓名、身份证号码和头像照片&#xff0c;与公安库身份证头像进行权威比对&#xff0c;返回分值作为判断依据。 二、人脸身份证比对接口适用哪些场…

iMovie Tutorial【iMovie 剪辑教程】

文章目录 项目字幕视频截取范围 显示进度条大小播放速度视频图层降噪转场设置转场时间 声音录制声音 分享导出文件 项目 字幕 视频 截取范围 i、o、e 显示进度条大小 播放速度 视频图层 例如&#xff1a;视频衔接、插入表情视频、头像对话 降噪 户外录制视频需要降噪。…

计算机学习

不要只盯着计算机语言学习&#xff0c;你现在已经学习了C语言和Java&#xff0c;暑假又规划学习Python&#xff0c;最后你掌握的就是计算机语言包而已。 2. 建议你找一门想要深挖的语言&#xff0c;沿着这个方向继续往后学习知识就行。计算机语言是学不完的&#xff0c;而未来就…

在ccs theia上用jlink下载烧录调试msp芯片配置

转载自ti官网的文章结合我自己的经历 将 Segger 编程器与 MSPM0 配合使用 1. 引言 本指南说明了如何将 Segger 编程器与 MSPM0 配合使用。 本文档不用于详细说明如何使用 Segger 工具。有关详细文档&#xff0c;请参阅相应的 IDE 或 Segger 文档。 2. 先决条件 用户应已下…

某个国外的真实XSS漏洞利用探寻

Background 在一次测试中&#xff0c;在git中找到部分的源码&#xff0c;发现可能存在xss问题&#xff0c;但是经过了一点处理&#xff0c;于是经过探寻思考&#xff0c;找到了bypass的方法&#xff0c;写下本篇文章 Part.1 从git到混淆 server头看见这个配置 基本是flask了,…

普中51单片机:DS18B20温度传感器操作指南(十三)

文章目录 引言电路图引脚讲解初始化时序写时序读时序温度变换温度读取完整代码 引言 DS18B20是一款单总线接口的数字温度传感器&#xff0c;仅需一个IO口即可实现数据通信。这里只对如何简单操作开发板的DS1802进行讲解&#xff0c;关于DS18B20温度传感器的详细操作原理&#…