首页 > 其他分享 >分布式存储系统之Ceph集群

分布式存储系统之Ceph集群

时间:2023-03-23 22:01:24浏览次数:60  
标签:ceph 存储 存储系统 Ceph 集群 PG rbd OSD 分布式

1、ceph启动时配置文件生效顺序是$CEPH_CONF---->-c path/path ---->/etc/ceph/ceph.conf---->~/.ceph/config---->./ceph.conf 

2、将创建的卷映射成块设备因为rbd镜像的一些特性,OS kernel并不支持,所以映射报错,解决方法: disable掉相关特性(ceph中rdb map出错rbd sysfs write failed怎么办 - 云计算 - 亿速云 (yisu.com)

rbd feature disable rbd_pool/volume1 exclusive-lock object-map fast-diff deep-flatten

3、volume的专业术语为image, 我这里叫存储卷方便理解。

4、ceph存储集群至少需要一个Ceph Monitor和两个 OSD 守护进程。

5、安装完ceph集群后,集群外的机器想使用Ceph集群内创建的rbd文件。那么,就需要安装Ceph的客户端,也就是rbd客户端,以及一些RBD专用的内核模块:安装依赖以及ceph-common;到ceph节点中拷贝ceph.client.linux_mount.keyring文件和ceph.conf;然后将远端的RBD文件映射到本地

# rbd map abcdocker_rbd/linux_mount.img --id linux_mount
编辑/etc/ceph/rbdmap文件,设置自动map
echo "abcdocker_rbd/linux_mount.img          id=linux_mount,keyring=/etc/ceph/ceph.client.linux_mount.keyring " >>/etc/ceph/rbdmap
设置rbdmap为开机启动
systemctl enable rbdmap
修改fstab,设置开机挂载
echo "/dev/rbd0  /data   ext4     defaults,noatime,_netdev 0 0" >>/etc/fstab

6、(分布式存储系统之Ceph集群存储池、PG 与 CRUSH - Linux-1874 - 博客园 (cnblogs.com))PG是用于跨OSD将数据存储在某个存储池中的内部数据结构;相对于存储池来说,PG是一个虚拟组件,它是对象映射到OSD时使用的虚拟层;出于规模伸缩及性能方面的考虑,Ceph将存储池细分为归置组,把每个单独的对象映射到归置组,并将归置组分配给一个主OSD;存储池由一系列的归置组组成,而CRUSH算法则根据集群运行图和集群状态,将各PG均匀、伪随机地分布到集群中的OSD之上;所谓伪随机是指,在osd都健康数量没有变化的情况下,同一PG始终映射相同的OSD;若某OSD失败或需要对集群进行重新平衡,Ceph则移动或复制整个归置组而无需单独寻址每个对象;归置组在OSD守护进程和Ceph客户端之间生成了一个中间层,CRUSH算法负责将每个对象动态映射到一个归置组,然后再将每个归置组动态映射到一个或多个OSD守护进程,从而能够支持在新的OSD设备上线时动态进行数据重新平衡

7、PG数量由管理员在创建存储池时指定,而后由CRUSH负责创建和使用,通常,PG的数量应该是数据的合理颗粒度的子集,例如,一个包含256个PG的存储池意味着每个PG包含大约1/256的存储池数据;当需要将PG从一个OSD移动到另一个OSD时,PG的数量会对性能产生影响;PG数量过少,Ceph将不得不同时移动相当数量的数据,其产生的网络负载将对集群的正常性能输出产生负面影响;即PG过少,那么对应一个PG存储的数据就越多,则移动PG会占用过多的网络带宽,从而影响正常客户端的使用;而在过多的PG数量场景中在移动极少量的数据时,Ceph将会占用过多的CPU和RAM,从而对集群的计算资源产生负面影响。即PG过多,对应每个PG维护的数据较少,但是集群需要花费很多CPU和内存来维护和追踪PG的信息;从而造成集群的计算资源和内存资源造成影响,从而进一步影响客户端使用;所以在ceph上pg的数量不宜过多和过少;

8、PG状态:“active+clean”。Active:所谓Active状态是指主OSD和各辅助OSD均处于就绪状态,可正常服务于客户端的IO请求所处于的状态;一般,Peering操作过程完成后即会转入Active状态;Clean:是指主OSD和各辅助OSD均处于就绪状态,所有对象的副本数量均符合期望,并且PG的活动集和上行集是为同一组OSD;

9、ceph客户端存取对象数据的过程就是,先提取用户要存入的对象数据的名称和存储到那个存储池之上;然后通过一致性哈希算法计算出对象名称的hash值,然后把这个hash值和在对应存储池PG位图掩码做“与”运算得到目标PG的标识符,即PG ID;有了PG_ID,再根据CRUSH算法结合集群运行图和PG对应的OSD集合,最终把PG对应的主OSD确认,然后将对应osd的信息返回给客户端,然后客户端拿着这些信息主动联系osd所在主机进行数据的存取;这一过程中,没有传统的查表,查数据库之类的操作;全程都是通过计算来确定对应数据存储路径;这也就规避了传统查表或查数据库的方式给集群带来的性能瓶颈的问题。

10、通过rbd map把rbd映射到系统,然后格式化块设备,挂载到一个目录,最后操作目录,但是重启系统后,映射的rbd块设备不会自动挂载到系统,又得重新手动挂载一遍,流程比较麻烦。ceph有没有提供自动挂载的工具呢?答案便是rbdmap工具:rbdmap使用非常简单,只有三个操作:map、unmap和unmap-all。虽然说rbdmap可以在任何时候执行,但都是偏向系统启动时加载,系统关闭时卸载,由相应的rbdmap.service管理,所以要使能rbdmap.service开机启动,即systemctl enable rbdmap.service。


标签:ceph,存储,存储系统,Ceph,集群,PG,rbd,OSD,分布式
From: https://blog.51cto.com/u_3029920/6145991

相关文章

  • 分布式事务-CAP 和 BASE 理论以及几种方案
    一、为什么会有分布式事务#分布式系统经常出现的异常,如机器宕机、网络异常、消息丢失、数据错误、不可靠的TCP、存储数据丢失等等。二、分布式事务分布式事务是指事务的......
  • 最强分布式搜索引擎——ElasticSearch
    最强分布式搜索引擎——ElasticSearch本篇我们将会介绍到一种特殊的类似数据库存储机制的搜索引擎工具——ESelasticsearch是一款非常强大的开源搜索引擎,具备非常多强大......
  • 分布式版本控制系统——Git 常用指令
    分布式版本控制系统——Git常用指令一、Git优缺点缺点:占用磁盘空间较大优点:版本切换时非常快,因为每个版本都是完整的文件快照,切换版本时直接恢复目标版本的快照即可特......
  • 在分布式追踪系统中使用 W3C Trace Context
    在分布式追踪系统中使用W3CTraceContext 在分布式追踪系统中使用W3CTraceContexthttps://dev.to/luizhlelis/using-w3c-trace-context-standard-in-distribu......
  • 云原生K8S精选的分布式可靠的键值存储etcd原理和实践
    @目录概述定义应用场景特性为何使用etcd术语架构原理读操作写操作日志复制部署单示例快速部署多实例集群部署静态etcd动态发现常见命令概述定义etcd官网地址https:/......
  • 分布式搜索elasticsearch几个概念解析
    介绍下es的几个概念:cluster    代表一个集群,集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的。es的一个概念就是去中......
  • JMeter+Jenkins分布式压测持续集成
     Jenkinsjob配置参数化构建运行分布式shell脚本:sh...生成测试报告配置生成html测试报告,需要安装插件HTMLPublisherJMeter性能脚本编写jmete......
  • 爬取的数据,存到mysql中、爬虫和下载中间件、加代理,cookie,header,加入selenium、去重规
    目录0爬取的数据,存到mysql中1爬虫和下载中间件2加代理,cookie,header,加入selenium2.1加代理2.2加cookie,修改请求头,随机生成UserAgent2.3集成selenium3去重规则源码......
  • 分布式搜索算法,算法
    对于搜索引擎来说,索引存放在成千上万台机器上,如何进行分布式搜索呢? 假设搜索结果是以分页的方式显示,以PageNumber代表当前页,从1开始,以PageSize代表页面大小,默认为10,以N代表......
  • 分布式网页爬虫 Ebot
    Ebot是一个用ErLang语言开发的可伸缩的分布式网页爬虫,URLs被保存在数据库中可通过RESTful的HTTP请求来查询。​​matteoredaelli​​​/​​ebot​​......