简单介绍Ceph分布式存储集群
在规划Ceph分布式存储集群环境的时候,对硬件的选择很重要,这关乎整个Ceph集群的性能,下面梳理到一些硬件的选择标准,可供参考:
1)CPU选择
Ceph metadata server会动态的重新分配负载,它是CPU敏感性的,所以Metadata Server应该有比较好的处理器性能 (比如四核CPU). Ceph OSDs运行RADOS服务,需要通过CRUSH来计算数据的存放位置,replicate数据,以及维护Cluster Map的拷贝,因此OSD也需要合适的处理性能 Ceph Monitors 简单的维护了Cluster Map的主干信息所以这个是CPU不敏感的。
2)RAM选择
Metadata servers 以及Monitors 必须能够快速的提供数据,因此必须有充足的内存(e.g., 1GB of RAM per daemon instance). OSDs 在执行正常的操作时不需要过多的内存 (e.g., 500MB of RAM per daemon instance);但是 执行恢复操作时,就需要大量的内存(e.g., ~1GB per 1TB of storage per daemon). Generally, 而且是越多越好。
3)Data Storage选择
规划数据存储时要考虑成本和性能的权衡。同时OS操作,同时多个后台程序对单个驱动器进行读写操作会显着降低性能。也有文件系统的限制考虑:BTRFS对于生产环境来说不是很稳定,但有能力记录journal和并行的写入数据,而XFS和EXT4会好一点。
提示:不推荐单个磁盘的分区上运行多个OSD。不推荐单个磁盘的分区上运行一个OSD和一个监视器或元数据服务。
存储驱动器受寻道时间,访问时间,读取和写入时间,以及总吞吐量的限制。这些物理限制会影响整个系统的性能,尤其是在恢复过程中。我们建议为操作系统和软件使用专用的驱动器,并且为你在主机上运行每个OSD守护分配一个驱动器。大多数“慢OSD”的问题的产生是由于在一个操作系统同一驱动器上运行多个OSDs和/或多个日志。
由于解决性能问题的一小部分的成本可能超过额外的磁盘驱动器的成本,因此你可以加快你的的集群设计规划,为了避免OSD存储驱动器负荷过重。
在每个硬盘驱动器上同时运行多个Ceph的OSD守护程序,但是这可能会导致资源争用,并降低整体吞吐量。你可能把日志和对象数据存储在相同的驱动器上,但这样可能会增加所花费在记录写入操作和发送ACK给客户端的时间。在CEPH可以ACK对于写入操作前,Ceph必须把操作写入到日志。
BTRFS文件系统的日志数据和对象数据的同时可以写,而XFS和ext4的不能。Ceph的推荐做法,分开在单独的驱动器上运行操作系统,OSD数据和OSD日志。
4)固态硬盘选择
性能改进的机会之一是使用固态硬盘(SSD),以减少随机访问时间,读取等待时间,同时吞吐量加速。固态硬盘每GB的费用与硬盘驱动器相比往往超过10倍之多,但固态硬盘往往表现至少比硬盘驱动器快100倍的访问时间。
固态硬盘没有移动机械部件,所以他们不需要受同类型硬盘驱动器的限制。尽管固态硬盘有明显的局限性。重要的是考虑其连续读取和写入的性能。当存储多个OSDs的多个日志时,有400MB/s的顺序写入吞吐量的SSD的性能,相比机械盘120MB/s的顺序写入吞吐量,SSD更好、更快。
固态硬盘的OSD对象存储成本高昂,通过存储一个OSD的日志在一个单独的硬盘驱动器SSD和OSD的对象数据上时,OSDs上可能会看到一个显着的性能提升。OSD日志配置默认在/var/lib/ceph/osd/$cluster-$id/journal里。你可以挂载这个路径到SSD或SSD的分区上,将日志文件和数据文件分别存放在不同的磁盘。
5)Networks选择
建议每台机器最少两个千兆网卡,现在大多数普通硬盘吞的吐量都能达到100MB/s,网卡应该能处理所以OSD硬盘总吞吐量,所以推荐最少两个千兆网卡,分别用于public network和cluster_network。集群网络(最好别连接到互联网)用于处理由数据复制产生的额外负载,并且有助于阻止拒绝服务攻击,拒绝服务攻击会干扰数据归置组,使之在OSD数据复制时不能回到active+clean状态。请考虑部署万兆网卡。通过1Gbps网络复制1TB数据耗时3小时,而3TB(一个典型的驱动配置)需要9小时,与之相反,如果使用10Gbps复制时间可分别缩减到20分钟和1小时。
在一个PB级集群中,OSD磁盘失败是常态,而非异常;在性价比合理的前提下,系统管理员想让PG尽快从degraded(降级)状态恢复到active+clean状态。采用10G网卡值得考虑使用。每个网络的顶级机架路由器到核心路由器通信应该有更快的吞吐量,例如,40Gbps~100Gbps。
6)其他注意事项:
可以在每台主机上运行多个OSD进程,但应该确保OSD硬盘的吞吐量总和不超过客户端读取或写入数据所需的网络带宽。也应该考虑在每个主机上数据的存储率。如果一个特定的主机上的百分比较大,它可能会导致问题:为了防止数据丢失,会导致Ceph停止操作。
当每台主机上运行多个OSD进程时,还需要保证内核是最新的。 当每台主机上运行多个OSD进程时(如>20)会产生很多的线程,特别是进行recovery和relalancing操作。许多Linux内核默认线程限最大数量比较小(例如,32k的)。如果您遇到这方面的问题,可以考虑把kernel.pid_max设置的高一点。理论上的最大值为4,194,303。
简单介绍Ceph分布式存储集群的更多相关文章
- Ceph分布式存储集群-硬件选择
在规划Ceph分布式存储集群环境的时候,对硬件的选择很重要,这关乎整个Ceph集群的性能,下面梳理到一些硬件的选择标准,可供参考: 1)CPU选择Ceph metadata server会动态的重新分 ...
- 一步一步安装配置Ceph分布式存储集群
Ceph可以说是当今最流行的分布式存储系统了,本文记录一下安装和配置Ceph的详细步骤. 提前配置工作 从第一个集群节点开始的,然后逐渐加入其它的节点.对于Ceph,我们加入的第一个节点应该是Moni ...
- docker部署Ceph分布式存储集群
1.环境准备 3台virtualbox虚拟机,用来安装ceph集群,已用docker-machine安装上了docker,每台虚拟机虚拟创建一个5G的硬盘,用于存储osd数据,例如:/dev/sdb ...
- Docker简单部署Ceph测试集群
通过docker可以快速部署小规模Ceph集群的流程,可用于开发测试. 以下的安装流程是通过linux shell来执行的;假设你只有一台机器,装了linux(如Ubuntu)系统和docker环境, ...
- 基于Ceph分布式集群实现docker跨主机共享数据卷
上篇文章介绍了如何使用docker部署Ceph分布式存储集群,本篇在此基础之上,介绍如何基于Ceph分布式存储集群实现docker跨主机共享数据卷. 1.环境准备 在原来的环境基础之上,新增一台cen ...
- redis5.0.0功能介绍以及主从集群、哨兵搭建
这两天突然想起redis,索性就再尝试一下搭建最新版本的redis,过程有点艰辛呀,记录一下,供自己和大家今后搭建做参考. 一.为什么用Redis? 我自己总结了一下: 1.基于内存实现的key-va ...
- Centos6.5下一个Ceph存储集群结构
简单的介绍 Ceph的部署模式下主要包括下面几个类型的节点 • Ceph OSDs: A Ceph OSD 进程主要用来存储数据,处理数据的replication,恢复,填充.调整资源组合以及通过检查 ...
- 初试 Centos7 上 Ceph 存储集群搭建
转载自:https://cloud.tencent.com/developer/article/1010539 1.Ceph 介绍 Ceph 是一个开源的分布式存储系统,包括对象存储.块设备.文件系统 ...
- 002.RHCS-配置Ceph存储集群
一 前期准备 [kiosk@foundation0 ~]$ ssh ceph@serverc #登录Ceph集群节点 [ceph@serverc ~]$ ceph health #确保集群状态正常 H ...
随机推荐
- CF 222 (DIV 1)
A: 我是bfs出一颗树,然后删掉树后面的k个结点. 其实也可以直接bfs出一块连通的s - k个点,其余的.打X就可以了. 很水的题目. /* *************************** ...
- HP Notebook PCs - Updating the BIOS
HP Notebook PCs - Updating the BIOS Updating the BIOS Updating the BIOS when Windows does not start ...
- java 对mongodb的操作
java 对mongodb的操作 1.1连单台mongodb Mongo mg = newMongo();//默认连本机127.0.0.1 端口为27017 Mongo mg = newMongo( ...
- 解决克隆 centos虚拟机后修改克隆后的机器的ip、mac、uuid失败的问题
解决办法: So here's how we fix it: Remove the kernel's networking interface rules file so that it ca ...
- 三张图让你高速明确activity与fragment生命周期的异同点
第一张图:activity的生命周期 第二张图:fragment的生命周期 第三张图:activity与fragment生命周期对照 补充:假设你还是不明确,请翻译一下你不理解的相应单词. ----- ...
- URAL 1837. Isenbaev's Number (map + Dijkstra || BFS)
1837. Isenbaev's Number Time limit: 0.5 second Memory limit: 64 MB Vladislav Isenbaev is a two-time ...
- Base64 JAVA后台编码与JS前台解码(解决中文乱码问题)
中文通过Java后台进行Base64编码后传到前台,通过JS进行Base64解码时会出现中文乱码的问题,被这个问题也是困扰了几天,使用jquery.base64.js只能转码非中文字符,经过搜集各种方 ...
- SharePoint 表单认证创建用户
前言 本文介绍如何在SharePoint表单登陆中添加表单用户,前提是已经配置了表单认证,如果没配置表单登陆,需要先配置表单登陆: 1. 打开Visual Studio,如下图: 2. 新建一个项目 ...
- 神奇女侠Wonder Woman迅雷下载
亚马逊公主戴安娜·普林斯(盖尔·加朵 Gal Gadot 饰),经过在家乡天堂岛的训练,取得上帝赐予的武器 与装备,化身神奇女侠,与空军上尉史蒂夫·特雷弗(克里斯·派恩 Chris Pine 饰)一同 ...
- Lua的文件操作
先简单介绍一下被迫使用Lua的IO的情境: 游戏支持玩家自定义上传头像,在排行榜中会显示玩家列表(包括本服.跨服),原有的做法是先检测CCUserDefault中是否存在指定图片的key以及它的状态. ...