Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >ceph分布式存储学习指南

ceph分布式存储学习指南

作者头像
用户5760343
发布于 2022-05-14 06:57:19
发布于 2022-05-14 06:57:19
7000
举报
文章被收录于专栏:sktjsktj

ceph是模块化和可扩展的,并且有容错设计。先进的分布式存储系统。 ceph凭借其高可扩展性、高可靠性、高性能的特点,逐渐成为openstack\cloudstack、opennebula等主流开源云平台后端存储的首选。可靠性、自平衡、自恢复、一致性 软件定义存储。 可以大幅降低企业存储基础设施的成本。 分布式、可大规模扩展,经济 虚拟平台KVM、VMWARE也支持ceph ceph存储介绍 ceph部署实战 ceph架构和组件 ceph内部构建 ceph部署 ceph存储配置 ceph操作及管理 监控ceph集群 ceph与openstack集成 ceph性能调优和基准测试 1、ceph是什么 ceph是一个开源项目,它提供软件定义的、统一的存储解决方案。ceph可大规模扩展、高性能并且无单点故障的分布式存储系统。容量可扩展至EB级别。1EB=1024PB

image.png

image.png

ceph以章鱼作为自己的吉祥物,表达了ceph跟章鱼一样的并行行为。 inktank公司为ceph提供专业服务和技术支持。 版本历史

image.png

image.png

image.png

块存储

image.png

cephFS

image.png

image.png

对象存储

image.png

image.png

ceph与其他工具的对比

ceph-deploy工具部署

ceph架构:ceph存储集群由几个不同的软件守护进程组成,每个守护进程负责ceph的一个独特功能并将值添加到相应的组件中。

image.png

RADOS:可靠、自动、分布式对象存储(Reliable Autonomic Distributed Object Store),是ceph存储集群的基础。ceph中的一切都以对象的形式存储,而RADOS就负责存储这些对象,而不考虑它们的数据类型。RADOS确保数据一致性和可靠性。对于数据一致性,它执行数据复制、故障检测和恢复,还包括数据在集群节点间的迁移和再平衡。

image.png

MON监控健康状态:OSD,MON,PG,CRUSH。

image.png

librados提供接口

image.png

RBD块设备:支持快照和写时复制

image.png

RGW对象网关:支持S3和SWIFT

image.png

cephFS,MDS

image.png

自我管理,自我修复,自我计算

image.png

查看存储池:rados lspools

查看存储池的对象(metadata池的名字):rados -p metadata ls

查看集群空间:rados df

OSD:::

image.png

文件系统

image.png

image.png

日志大小常见的是10GB,一个SSD做日志最多分给4到5个OSD

每个磁盘推荐1-2GB内存

查看单节点上的OSD:service ceph status osd

检查OSD的ID:ceph osd ls

检查OSD map和状态:ceph osd stat

ceph osd tree 树形图

ceph monitor:集群map包括monitor\osd\pg\crush\mds map

检查mon map:ceph mon dump

检查osd map:ceph osd dump

检查pg map:ceph pg dump

crush map: ceph osd crush dump

ceph mds dump

image.png

image.png

image.png

image.png

检查mon状态:service ceph status mon

ceph mon stat

ceph mon_status

ceph mon dump

librados:

一个本地的C语言库,可以直接和RADOS通信。

RBD驱动被集成到LINUX内核中

image.png

image.png

ceph与open'stack紧密集成:写时复制快照、克隆和可恢复的只读快照

image.png

cgw:是一个代理,可以将HTTP请求转换成RADOS,也可以把RADOS请求转换成HTTP,从而提供RESTful对象存储。radosgw

image.png

image.png

MDS

image.png

部署MDS:ceph-deploy mds create ceph-node2 CEPH FS

image.png

image.png

ceph构架及其核心组件、底层实现

对象:

一个对象用一个全局唯一的标识符标识,元数据和数据

image.png

ceph的池是一个用来存储对象的逻辑分区,它提供了一个有组织的存储形式。

默认存储池: rbd,如果配置了MDS,则还会创建data/metadata

列出所有池:rados lspools

列出池中的对象名称:rados -p metadata ls

CRUSH算法:Controlled Replication Under Scalable Hashing

image.png

客户端使用自己的资源来执行CRUSH查找。

一次读写操作

image.png

image.png

image.png

image.png

恢复和再平衡:

image.png

image.png

修改crush map: 提取:ceph osd getcrushmap -o crushmap.txt 反编译:crushtool -d crushmap.txt -o crushmap-decompile 打开/修改: vi crushmap-decompile 重新编译: crushtool -c crushmap-decompile -o crushmap-compiled 应用:ceph osd setcrushmap -i crushmap-compiled

ceph osd tree :查看层级结构 bucket:表示放设备的容器,可以包含多个设备或子类型的bucket device:设备,最基本的存储设备,也就是OSD,通常一个OSD对应一个磁盘存储设备 bucket类型:osd,host,chassis,rack,row,pdu,pod,room,datacenter,regin,root 11各等级 osd,主机,底盘,机架,一排机架,?,?,机房,数据中心,区域,根 修改bucket结构,例子:

image.png

PG:一组对象的逻辑集合

image.png

image.png

建议每个OSD上放置50-100各PG

PG总数计算公式 PG 总数= (OSD 总数x 100) /最大副本数 结果必须舍入到最接近2 的N 次幕的值。比如:如果C巳ph 集群有160 个OSD 且副本数是3 ,这样根据公式计算得到的PG 总数是5333.3 ,因此舍入这个值到最接近的2 的N 次幕的结果就是8192 个PG 。 我们还应该计算Ceph 集群中每一个池中的PG 总数。计算公式如下: PG 总数= ((OSD 总数x 100) /最大副本数) /池数 同样使用前面的例子: OSD 总数是160 ,副本数是3 ,池总数是3 。根据上面这个公式, 计算得到每个池的PG 总数应该是1777 . 7 ,最后舍入到2 的N 次幕得到结果为每个池2 048个PG 。

PGP 是为实现定位而设置的PG ,它的值应该与PG 的总数(即pg_num) 保持一致。 查看数量:ceph osd pool get data pg_num ceph osd pool get data pgp_num 检查池的副本数:ceph osd dump|grep -i size

规划PG数量

image.png

image.png

PG的peering、up集合和acting集合

image.png

image.png

一个池,一个CRUSH规则集

image.png

创建池: ceph osd pool create web-services 128 128 查看池列表:ceph osd lspools / rados lspools / ceph osd dump|grep -i pool 修改副本数:ceph osd pool set web-services size 3 重命名池:ceph osd pool rename web-services frontend-services 池的快照操作

image.png

删除池也会删除快照 ceph osd poo1 de1ete frontend-services frontend-services --yes-i-rea11y-rea11y-mean-it

PG数据管理

image.png

image.png

image.png

image.png

image.png

ceph monitor:单核2GB内存,硬盘可以大点存储日志,1G/S的网卡 OSD:1块物理硬盘1各OSD,1GHZCPU和2GB内存,硬盘?,独立日志盘,一个SSD做2-4各OSD日志盘

MDS需要4核或更高,更高RAM

纠删码:整个机制需要的耗OSD 节点更多的计算能力。此外,在恢复时, 解码数据块也需要大量的计算。 纠删码的概念:n=k+m

image.png

image.png

配置纠删码

image.png

image.png

image.png

image.png

image.png

image.png

ceph缓存层

image.png

image.png

部署缓存层

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

image.png

基准测试

image.png

image.png

image.png

image.png

image.png

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-05-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
ceph分布式存储学习指南 实战
1、安装完虚拟机后,更改名字,设置/etc/hosts文件 2、ceph-deploy工具部署
用户5760343
2022/05/14
7910
ceph分布式存储学习指南 实战
Ceph分布式存储工作原理 及 部署介绍
存储根据其类型,可分为块存储,对象存储和文件存储。在主流的分布式存储技术中,HDFS/GPFS/GFS属于文件存储,Swift属于对象存储,而Ceph可支持块存储、对象存储和文件存储,故称为统一存储。
洗尽了浮华
2022/03/28
10K0
Ceph分布式存储工作原理 及 部署介绍
002.RHCS-配置Ceph存储集群
Red Hat Ceph存储池池是Red Hat Ceph存储集群用于存储对象的逻辑分区。
木二
2019/07/01
1.4K0
Ceph分布式存储日常运维管理手册
nearfull osd(s) or pool(s) nearfull 此时说明部分osd的存储已经超过阈值,mon会监控ceph集群中OSD空间使用情况。如果要消除WARN,可以修改这两个参数,提高阈值,但是通过实践发现并不能解决问题,可以通过观察osd的数据分布情况来分析原因。
民工哥
2020/09/15
2.7K0
Ceph分布式存储日常运维管理手册
ceph 运维操作-POOL
pool是ceph存储数据时的逻辑分区,它起到namespace的作用。其他分布式存储系统,比如Mogilefs、Couchbase、Swift都有pool的概念,只是叫法不同。 每个pool包含一定数量的PG,PG里的对象被映射到不同的OSD上,因此pool是分布到整个集群的。
Lucien168
2020/07/20
1.3K0
ceph运维常用指令
[root@node1 ~]# ceph-deploy purgedata node1
IT运维技术圈
2022/06/26
1.9K0
Ceph分布式存储实战
2、块设备:LIBRBD 对象存储:LIBRGW CEPHFS:libcephfs
用户5760343
2022/05/18
1.4K0
Ceph分布式存储实战
万字长文细讲分布式存储系统 Ceph 实战操作
关于 Ceph 更详细的介绍和环境部署可以参考这篇文章:分布式存储系统 Ceph 介绍与环境部署
我的小碗汤
2023/03/20
3.8K0
万字长文细讲分布式存储系统 Ceph 实战操作
Ceph 分布式存储使用指南
*注意:本文大部分参考官方文档https://docs.ceph.com/docs/octopus/,因为网络原因,部署命令和官网有些许出入,更符合现在条件一些,且官方已经抛弃ceph-deploy 部署工具改用cephadm,不要傻傻看使用ceph-deploy的老古董啦。
jwangkun
2021/12/23
3.2K0
Ceph 分布式存储使用指南
ceph运维操作
如果是在admin节点修改的ceph.conf,想推送到所有其他节点,则需要执行下述命令
匿名用户的日记
2022/01/05
3.5K0
kubernetes(十九) Ceph存储入门
Ceph是当前非常流行的开源分布式存储系统,具有高扩展性、高性能、高可靠性等优点,同时提供块存储服务(rbd)、对象存储服务(rgw)以及文件系统存储服务(cephfs),Ceph在存储的时候充分利用存储节点的计算能力,在存储每一个数据时都会通过计算得出该数据的位置,尽量的分布均衡。目前也是OpenStack的主流后端存储,随着OpenStack在云计算领域的广泛使用,ceph也变得更加炙手可热。国内目前使用ceph搭建分布式存储系统较为成功的企业有华为,xsky,杉岩数据,中兴,华三,浪潮,中移动等。
alexhuiwang
2020/09/23
4K0
kubernetes(十九) Ceph存储入门
Ceph Cookbook 中文版
1、ceph介绍、ceph块存储、ceph对象存储、ceph文件系统、用Calamari监控Ceph、操作和管理ceph集群、深入ceph、ceph生产计划和性能调优、ceph虚拟存储管理器、ceph扩展 2、架构: Ceph monitor:监控器 OSD:Ceph对象存储设备 MDS:Ceph元数据服务器 RADOS:负责保存存储对象 librados:为其他编程语言提供RADOS的接口 RBD:RADOS块设备 RGW:RADOS网关接口 CephFS:文件系统 解决方案:
用户5760343
2022/05/19
1.4K0
Ceph Cookbook 中文版
Ceph:关于 Ceph 存储架构的一些笔记
Ceph 集群搭建使用标准硬件和存储设备的服务器,是一个高度可扩展的分布式存储系统, 采用模块化分布式架构。Ceph 主要通过 RADOS 核心组件来提供能力。
山河已无恙
2023/08/21
1.5K0
Ceph:关于 Ceph 存储架构的一些笔记
linux ceph原理及搭建
Ceph是一个可靠地、自动重均衡、自动恢复的分布式存储系统,根据场景划分可以将Ceph分为三大块,分别是对象存储、块设备存储和文件系统服务。在虚拟化领域里,比较常用到的是Ceph的块设备存储,比如在OpenStack项目里,Ceph的块设备存储可以对接OpenStack的cinder后端存储、Glance的镜像存储和虚拟机的数据存储,比较直观的是Ceph集群可以提供一个raw格式的块存储来作为虚拟机实例的硬盘。
葫芦
2019/06/20
3.8K0
分布式存储Ceph(一)
Ceph使用C++语言开发,Sage Weil(Ceph论文发表者)于2011年创立了以Inktank公司主导Ceph的开发和社区维护。2014年Redhat收购inktank公司,并发布Inktank Ceph企业版(ICE)软件,业务场景聚焦云、备份和归档,支持对象存储和块存储以及文件系统存储应用。出现Ceph开源社区版本和Redhat企业版。
用户8639654
2021/08/18
1.2K0
ceph-mimic版
Ceph使用RADOS提供对象存储,通过librados封装库提供多种存储方式的文件和对象转换。外层通过RGW(Object,有原生的API,而且也兼容Swift和S3的API,适合单客户端使用)、RBD(Block,支持精简配置、快照、克隆,适合多客户端有目录结构)、CephFS(File,Posix接口,支持快照,社会和更新变动少的数据,没有目录结构不能直接打开)将数据写入存储。
yuezhimi
2020/09/30
9770
ceph基础知识
ceph相关的基础知识记录 # ceph基本组件 # Object Ceph最底层的存储单元是Object对象,每个Object包含元数据和原始数据。 # OSD OSD全称Object Storage Device,用于集群中所有数据与对象的存储。处理集群数据的复制、恢复、回填、再均衡。并向其他osd守护进程发送心跳,然后向Mon提供一些监控信息,当Ceph存储集群设定数据有两个副本时(一共存两份),则至少需要两个OSD守护进程即两个OSD节点,集群才能达到active+clean状态。 # PG PG全
summerking
2022/09/16
2970
Ceph:关于Ceph 集群中池管理的一些笔记
对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。所有其它的路都是不完整的,是人的逃避方式,是对大众理想的懦弱回归,是随波逐流,是对内心的恐惧 ——赫尔曼·黑塞《德米安》
山河已无恙
2023/08/21
8890
Ceph:关于Ceph 集群中池管理的一些笔记
【重识云原生】第三章云存储3.3节——Ceph统一存储方案
Ceph最早起源于Sage就读博士期间的工作、成果于2004年发表,并随后贡献给开源社区。经过多年的发展之后,已得到众多云计算和存储厂商的支持,成为应用最广泛的开源分布式存储平台。
江中散人_Jun
2022/04/11
3.1K0
【重识云原生】第三章云存储3.3节——Ceph统一存储方案
Ceph分布式存储系统架构研究综述
Ceph项目是加州大学圣克鲁兹分校的 Weil于2006年开发的。当时他发现元数据的查询和维护严重影响了 Lustre等分布式文件系统的性能和扩展性,因此设计了一种利用算法来确定数据与存储节点对应关系的方法 CRUSH。2015年5月发布的 Linux内核2.6.34已开始支持Ceph。Weil也成立了IntTank公司,专注于Ceph的开发。2014年5月,该公司被 RedHat收购。Ceph同时支持3种存储访问接口,因此被广泛应用于开源私有云计算平台中,为云计算平台提供虚拟机存储和对象访问能力。
肉眼品世界
2021/07/13
9040
Ceph分布式存储系统架构研究综述
相关推荐
ceph分布式存储学习指南 实战
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档