ceph存储服务结构介绍以及速度优化的方法_ceph 配置优化

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024b (备注运维)
img

正文

* **结构**:RGW 是 Ceph 的对象存储接口,兼容 Amazon S3 和 OpenStack Swift API。它允许通过 RESTful 接口访问对象存储。
* **工作原理**:RGW 通过 RADOS 提供对象存储服务,使得开发者可以利用对象存储功能构建基于云存储的应用程序,实现对象级别的数据存储和访问。
  1. Librados 和 RADOS

    • 结构:Librados 是 Ceph 提供的客户端库,用于与 RADOS 集群进行交互。RADOS 是 Ceph 的核心组件,提供对象存储服务。
    • 工作原理:使用 Librados 库,开发者可以通过 RADOS 集群执行对象级别的操作,包括读取、写入、删除对象等。这为开发者提供了直接与 Ceph 存储集群交互的接口。

这些存储服务构成了 Ceph 强大且多样化的存储功能。每种服务都针对不同的存储需求和场景,提供了灵活的、高性能的分布式存储解决方案。用户可以根据需求选择适合的存储服务来构建应用程序或满足特定的存储需求。

ceph速度优化建议

优化 Ceph 的速度通常需要考虑多个方面,包括硬件优化、软件配置和网络优化等。下面是一些改进 Ceph 性能的常见方法:

  1. 硬件优化

    • 存储介质:选择高性能的硬盘或固态硬盘 (SSD) 作为存储介质可以提高 Ceph 的性能。
    • 网络:使用高速网络设备,如以太网 (Ethernet) 或 InfiniBand,以减少网络延迟和提高带宽。
    • 硬件配置:调整服务器的配置,例如增加内存、CPU 核心数等,以满足 Ceph 集群的需求。
  2. 软件配置

    • 调整 OSD(对象存储守护进程)数量:增加 OSD 可以提高性能,但需要注意避免过多 OSD 导致管理和维护困难。
    • 调整 PG(placement group)数量:合理配置 PG 数量可以提高负载均衡和性能。
    • 优化 CRUSH 映射:CRUSH 是 Ceph 用来确定数据位置的算法,优化 CRUSH 映射可以改善数据分布和读写性能。
    • 调整缓存:使用 SSD 作为日志或元数据的缓存可以改善性能。
  3. 软件更新和版本管理

    • 保持更新:定期更新 Ceph 版本,因为新版本通常会修复漏洞并提高性能。
    • 优化配置文件:调整 Ceph 配置文件以优化性能,例如调整日志级别、调整线程池大小等。
  4. 监控和调优

    • 性能监控:使用工具监控 Ceph 集群的性能,及时发现瓶颈并进行调整。
    • 测试和基准测试:进行基准测试以评估性能改进的效果,并根据测试结果调整配置。
  5. 数据平衡

    • 数据迁移:定期进行数据迁移,避免数据在 OSD 之间不均衡分布。
  6. 网络优化

    • 网络拓扑优化:优化网络拓扑结构,减少网络延迟和提高带宽。
    • QoS(服务质量)设置:设置适当的 QoS,确保 Ceph 数据流的优先级和带宽。
  7. 调整参数和配置

    • Ceph 参数调整:根据实际情况调整 Ceph 的参数,例如调整线程数、缓存大小等。

    • OSD 参数调整

      • osd_max_scrubs:限制每个 OSD 同时进行的数据恢复和检查次数,默认为 1。可适当增加以加速数据恢复。
      • osd_scrub_during_recovery:允许在数据恢复期间进行数据校验和修复。启用此选项可能会影响恢复速度。
      • osd_recovery_max_activeosd_recovery_op_priority:调整 OSD 恢复操作的并发度和优先级。
    • CRUSH 参数调整

      • osd_crush_update_on_start:启用后,OSD 启动时将立即更新 CRUSH 映射,以便更快地适应新的设备或拓扑变化。
      • osd_crush_initial_weight:设置新 OSD 的初始权重,以影响数据分布。
      • osd_pool_default_pg_numosd_pool_default_pgp_num:调整默认 PG 数量和预分配 PG 的数量,根据存储需求和数据分布进行调整。
    • 调整缓存和日志

      • osd_op_threadsosd_disk_threads:调整 OSD 的操作线程数和磁盘线程数。
      • osd_memory_target:指定每个 OSD 进程可用内存的目标值。
      • osd_max_backfills:限制并行的后台填充作业数量。
      • 调整 osd_journal_size(日志大小)和 osd_max_backfill(最大后台填充数量)等参数来优化性能。
    • 网络和带宽调整

      • osd_client_message_size_cap:调整客户端消息大小的上限。
      • osd_max_pg_per_osd:控制每个 OSD 上的 PG 数量,以避免过载和网络拥塞。
      • osd_pool_default_min_size:调整最小副本数以确保数据冗余性。

优化 Ceph 的速度是一个持续的过程,需要综合考虑硬件、软件和网络等多个因素。在进行任何改变之前,请务必备份重要数据,并谨慎地测试和评估每一项改进的效果,以避免对生产环境造成负面影响。

ceph参数优化样例:

OSD 参数优化样例:

# 调整每个 OSD 同时进行的数据恢复和检查次数
osd_max_scrubs = 4

# 允许在数据恢复期间进行数据校验和修复
osd_scrub_during_recovery = true

# 调整 OSD 恢复操作的并发度和优先级
osd_recovery_max_active = 10
osd_recovery_op_priority = 3

# 启用 OSD 启动时立即更新 CRUSH 映射
osd_crush_update_on_start = true

# 调整新 OSD 的初始权重
osd_crush_initial_weight = 1.0

# 调整默认 PG 数量和预分配 PG 的数量
osd_pool_default_pg_num = 128
osd_pool_default_pgp_num = 128

网络和带宽调整样例:

# 调整客户端消息大小的上限
osd_client_message_size_cap = 131072

# 控制每个 OSD 上的 PG 数量
osd_max_pg_per_osd = 200

# 调整最小副本数以确保数据冗余性
osd_pool_default_min_size = 2

缓存和日志调整样例:

# 调整 OSD 操作线程数和磁盘线程数
osd_op_threads = 16
osd_disk_threads = 4

# 指定每个 OSD 进程可用内存的目标值
osd_memory_target = 8589934592  # 8GB

# 限制并行的后台填充作业数量
osd_max_backfills = 2

# 调整日志大小和最大后台填充数量等参数
osd_journal_size = 1024  # MB

rbd参数调优

在 Ceph 中调整 RBD(RADOS 块设备)的性能,可以通过调整一些参数来优化其性能和稳定性。以下是一些常见的 RBD 参数和建议调优配置:

设置文件路径

通常,Ceph 配置位于 /etc/ceph/ 目录下。在该目录下有一个名为 ceph.conf 的配置文件,用于配置 Ceph 的全局参数。同时,每个 OSD 和 Monitor 也会有相应的配置文件。

RBD 参数调优建议
1. 对象大小调整
  • rbd_default_stripe_unit:用于指定 RBD 镜像的条带单位大小。适当的条带大小能够提高性能,可以根据存储负载和硬件配置进行调整。
rbd_default_stripe_unit = 4096  # 4KB

  • rbd_default_stripe_count:指定条带数量。同样,根据需求进行调整。
rbd_default_stripe_count = 1

2. 缓存设置
  • rbd_cache:设置 RBD I/O 缓存策略。启用缓存可以提高性能,但可能会增加内存使用量。
rbd_cache = true
3. QoS 设置
  • rbd_qos_bps_limitrbd_qos_iops_limit:可用于限制每个 RBD 镜像的带宽和 IOPS。这有助于避免某个镜像对整个系统的性能影响。
rbd_qos_bps_limit = 100M  # 限制带宽为 100MB/s
rbd_qos_iops_limit = 500  # 限制 IOPS 为 500

4. 其他设置
  • rbd_blacklist_expire_seconds:如果发生错误,该参数设置了在黑名单中保持的时间长度(以秒为单位)。
rbd_blacklist_expire_seconds = 60

示例配置
[rbd]
rbd_default_stripe_unit = 4096
rbd_default_stripe_count = 1
rbd_cache = true
rbd_qos_bps_limit = 100M
![](https://img-blog.csdnimg.cn/img_convert/9a8cb5f8c0ec69e6499adead0da6e95b.png)



最全的Linux教程,Linux从入门到精通

======================

1.  **linux从入门到精通(第2版)**

2.  **Linux系统移植**

3.  **Linux驱动开发入门与实战**

4.  **LINUX 系统移植 第2版**

5.  **Linux开源网络全栈详解 从DPDK到OpenFlow**



![华为18级工程师呕心沥血撰写3000页Linux学习笔记教程](https://img-blog.csdnimg.cn/img_convert/59742364bb1338737fe2d315a9e2ec54.png)



第一份《Linux从入门到精通》466页

====================

内容简介

====

本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。



![华为18级工程师呕心沥血撰写3000页Linux学习笔记教程](https://img-blog.csdnimg.cn/img_convert/9d4aefb6a92edea27b825e59aa1f2c54.png)



**本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。**

> 需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论




**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注运维)**
![img](https://img-blog.csdnimg.cn/img_convert/e783dc140bca945864b5871caeded466.jpeg)

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论




**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**需要这份系统化的资料的朋友,可以添加V获取:vip1024b (备注运维)**
[外链图片转存中...(img-ySmqblpj-1713307804553)]

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
  • 23
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
安装Ceph存储服务配置Ceph环境需要以下步骤: 1. 安装Ceph软件包 首先,你需要在所有Ceph节点上安装Ceph软件包。你可以使用以下命令在Ubuntu系统上安装最新版本的Ceph: ``` sudo apt install ceph ``` 在CentOS系统上,可以使用以下命令安装Ceph: ``` sudo yum install ceph ``` 2. 创建Ceph集群 在安装Ceph软件包后,你需要创建Ceph集群。你可以使用以下命令在Ceph节点上创建Ceph集群: ``` sudo ceph-deploy new <ceph-node> ``` 其中,`<ceph-node>`是Ceph节点的主机名。 3. 配置Ceph集群 创建Ceph集群后,你需要配置Ceph集群。你可以使用以下命令为Ceph节点生成配置文件: ``` sudo ceph-deploy install <ceph-node> ``` 然后,你可以使用以下命令为Ceph集群配置网络: ``` sudo ceph-deploy config push <ceph-node> ``` 4. 初始化Ceph集群 在配置Ceph集群后,你需要初始化Ceph集群。你可以使用以下命令在Ceph节点上初始化Ceph集群: ``` sudo ceph-deploy mon create-initial ``` 5. 添加OSD节点 在初始化Ceph集群后,你可以添加OSD节点。你可以使用以下命令在Ceph节点上添加OSD节点: ``` sudo ceph-deploy osd create <osd-node>:/dev/sdb ``` 其中,`<osd-node>`是OSD节点的主机名,`/dev/sdb`是OSD节点上的数据磁盘。 6. 检查Ceph集群状态 最后,你可以使用以下命令检查Ceph集群的状态: ``` sudo ceph -s ``` 如果Ceph集群运行正常,你应该看到类似以下输出: ``` cluster: id: 12345678-1234-1234-1234-1234567890ab health: HEALTH_OK services: mon: 3 daemons, quorum node1,node2,node3 mgr: node1(active), standbys: node2, node3 osd: 3 osds: 3 up, 3 in data: pools: 0 pools, 0 pgs objects: 0 objects, 0 B usage: 3.0 GiB used, 90 GiB / 93 GiB avail pgs: ``` 以上就是安装Ceph存储服务配置Ceph环境的步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值