Ceph硬件选型

Ceph对计算机硬件的需求

引言

我阅读了Ceph的官方文档,其中说起了Ceph对硬件资源的需求,在《Learning Ceph》一书中也一样说起。我在此处作一个简要归纳。 Ceph主要包含以下几个组件:算法

  • MON
  • OSD
  • MDS
  • RGW

讨论的重点也是各组件对CPU以及内存的依赖程度。服务器

MON MON负责管理CRUSHMAP,并非CPU密集型,对内存依赖大,由于要实现数据的快速访问。CPU能够配置不高,可是内存要足量,每一个进程实例1GB内存。性能

OSD OSD运行着rados服务,经过CRUSH算法计算对象的位置,要管理数据及其副本,须要合理数量的CPU。 OSD数据对内存的依赖程度不是特别大,正常状况下每一个进程实例500MB便可。 在不正常的状况下(数据迁移恢复等),每一个进程实例,每1TB数据就要对应1GB内存。因此内存仍是多多益善,个人OSD进程在运行时,通常。操作系统

MDS 元数据服务器服务于CephFS,是一个CPU密集型进程,占用的CPU资源不少,因此须要给MDS配备性能强劲的CPU才行。对内存需求也大,由于须要实现数据的快速访问;每一个进程实例1GB内存。对象

还有一些影响存储性能的因素,大量的读写请求,对于单个磁盘驱动器而言,会影响性能;不一样的文件系统,也会影响系统性能; 这里谈谈磁盘驱动器的选型;进程

我在系统使用的过程当中,发现各组件对内存的占用状况: osd: 2G左右,偶合会飚到7G; mon: 目前700M左右,曾经飙到过8G,还致使系统内存不足,后来我逐一重启了下mon进程; rgw: 目前占用的内存20G;内存

机械磁盘:资源

  1. 推荐的磁盘大小,最小不过1TB;
  2. 磁盘越大,单位GB的存储空间越小,可是须要的内存越多,尤为是在recovery,backfill以及reblance时;
  3. 不推荐将一个盘分多个区,再跑多个OSD进程;
  4. 不推荐OSD和mon, 或者OSD和mds跑在同一个硬盘上;
  5. 不少 slow osd的问题每每是因为对磁盘设备的过分使用,请使用专用的磁盘用于安装操做系统以及软件;专用的磁盘设备用于osd daemon, 专门的磁盘设备用于journal。

SSD磁盘: 使用SSD能够有效的提高系统性能,可是在决定使用SSD以前,须要考虑几个问题: 对于写性能要求高的状况,要购买合适的SSD,有些便宜的SSD,可能写性能还不如好的机械硬盘; 顺序写:当你把一块SSD做为多个磁盘的journal时,有可能几个OSD同时写journal,而写journal是顺序写,因此须要关注顺序写性能; 注意分区对齐;文档

网卡: 至少2个1Gbps的网卡,一个用于public network,用于和系统的使用者交互;一个用于cluster network,用于数据副本的拷贝,recovery, backfill等之用。get

参考文档: http://docs.ceph.com/docs/master/start/hardware-recommendations/

相关文章
相关标签/搜索