ceph硬件推荐

2017-06-01 19:41:45

cpu和内存

  • CPU
    metadata servers:属于CPU敏感型的角色服务器
    OSDs:负责运行RADOS service,使用CRUSH算法计算数据分布,复制数据,并维护它们自己的拷贝,所以CPU也需要较好的
    Monitors:监控服务器芝士简单的维护一份集群mapping的主拷贝,所以并非是CPU敏感的
  • 内存
    metadata servers和monitors需要快速响应它们存储的数据,所以它们需要不少的内存
    每个daemon实例最少1GB
    OSDs不需要太多的内存做日常的操作,500MB即可,但是在recovery阶段
    每1TB的存储,需要消耗约1GB的内存,所以说,内存是越多越好

硬盘

这里说下固态盘

  • 固态硬盘: SSD 和硬盘相比每 GB 成本通常要高 10 倍以上,但访问时间至少比硬盘快 100 倍.SSD 没有可移动机械部件,所以不存在和硬盘一样的局限性。但 SSD 也有局限性,评估SSD 时,顺序读写性能很重要,在为多个 OSD 存储日志时,有着 400MB/s 顺序读写吞吐量的 SSD 其性能远高于 120MB/s 的.
    备注:我们建议发掘 SSD 的用法来提升性能。然而在大量投入 SSD 前,我们强烈建议核实 SSD 的性能指标,并在测试环境下衡量性能
    可接受的 IOPS 指标对选择用于 Ceph 的 SSD 还不够,用于日志和 SSD 时还有几个重要考量:
    写密集语义: 记日志涉及写密集语义,所以你要确保选用的 SSD 写入性能和硬盘相当或好于硬盘。廉价 SSD 可能在加速访问的同时引入写延时,有时候高性能硬盘的写入速度可以和便宜 SSD 相媲美
    顺序写入: 在一个 SSD 上为多个 OSD 存储多个日志时也必须考虑 SSD 的顺序写入极限,因为它们要同时处理多个 OSD 日志的写入请求。
    分区对齐: 采用了 SSD 的一个常见问题是人们喜欢分区,却常常忽略了分区对齐,这会导致 SSD 的数据传输速率慢很多,所以请确保分区对齐了
  • 其他注意事项
    你可以在同一主机上运行多个 OSD ,但要确保 OSD 硬盘总吞吐量不超过为客户端提供读写服务所需的网络带宽;还要考虑集群在每台主机上所存储的数据占总体的百分比,如果一台主机所占百分比太大而它挂了,就可能导致诸如超过 full ratio 的问题,此问题会使 Ceph 中止运作以防数据丢失。
    如果每台主机运行多个 OSD ,也得保证内核是最新的。参阅操作系统推荐里关于 glibc 和 syncfs(2) 的部分,确保硬件性能可达期望值。
    OSD 数量较多(如 20 个以上)的主机会派生出大量线程,尤其是在恢复和重均衡期间。很多 Linux 内核默认的最大线程数较小(如 32k 个),如果您遇到了这类问题,可以把 kernel.pid_max 值调高些。理论最大值是 4194303 。例如把下列这行加入 /etc/sysctl.conf 文件:
    1
    kernel.pid_max = 4194303

结论: OSDs建议最小1TB,Ceph 最佳实践指示,应该分别在单独的硬盘运行操作系统、 OSD 数据和 OSD 日志

网络

建议每台机器最少两个千兆网卡,现在大多数机械硬盘都能达到大概 100MB/s 的吞吐量,网卡应该能处理所有 OSD 硬盘总吞吐量,所以推荐最少两个千兆网卡,分别用于公网(前端)和集群网络(后端)。集群网络(最好别连接到国际互联网)用于处理由数据复制产生的额外负载,而且可防止拒绝服务攻击,拒绝服务攻击会干扰数据归置组,使之在 OSD 数据复制时不能回到 active + clean 状态。请考虑部署万兆网卡。通过 1Gbps 网络复制 1TB 数据耗时 3 小时,而 3TB (典型配置)需要 9 小时,相比之下,如果使用 10Gbps 复制时间可分别缩减到 20 分钟和 1 小时。在一个 PB 级集群中, OSD 磁盘失败是常态,而非异常;在性价比合理的的前提下,系统管理员想让 PG 尽快从 degraded (降级)状态恢复到 active + clean 状态。另外,一些部署工具(如 Dell 的 Crowbar )部署了 5 个不同的网络,但使用了 VLAN 以提高网络和硬件可管理性。 VLAN 使用 802.1q 协议,还需要采用支持 VLAN 功能的网卡和交换机,增加的硬件成本可用节省的运营(网络安装、维护)成本抵消。使用 VLAN 来处理集群和计算栈(如 OpenStack 、 CloudStack 等等)之间的 VM 流量时,采用 10G 网卡仍然值得。每个网络的机架路由器到核心路由器应该有更大的带宽,如 40Gbps 到 100Gbps 。

服务器应配置底板管理控制器( Baseboard Management Controller, BMC ),管理和部署工具也应该大规模使用 BMC ,所以请考虑带外网络管理的成本/效益平衡,此程序管理着 SSH 访问、 VM 映像上传、操作系统安装、端口管理、等等,会徒增网络负载。运营 3 个网络有点过分,但是每条流量路径都指示了部署一个大型数据集群前要仔细考虑的潜能力、吞吐量、性能瓶颈

结论:每台机器最少是两块前兆网卡(物理交换机也需要隔离),最少是10Gbps在机架

故障域

故障域指任何导致不能访问一个或多个 OSD 的故障,可以是主机上停止的进程、硬盘故障、操作系统崩溃、有问题的网卡、损坏的电源、断网、断电等等。规划硬件需求时,要在多个需求间寻求平衡点,像付出很多努力减少故障域带来的成本削减、隔离每个潜在故障域增加的成本。

最低硬件推荐

  • Dell 实例: Ceph 集群项目(2012年)使用了 2 个相当强悍的 OSD 硬件配置,和稍逊的监视器配置

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    |Configuration	|Criteria      	|Minimum Recommended
    |--- |--- |---
    |Dell PE R510 |Processor |2x 64-bit quad-core Xeon CPUs
    | |RAM |16 GB
    | |Volume Storage |8x 2TB drives. 1 OS, 7 Storage
    | |Client Network |2x 1GB Ethernet NICs
    | |OSD Network |2x 1GB Ethernet NICs
    | |Mgmt. Network |2x 1GB Ethernet NICs
    |Dell PE R515 |Processor |1x hex-core Opteron CPU
    | |RAM |16 GB
    | |Volume Storage |12x 3TB drives. Storage
    | |OS Storage |1x 500GB drive. Operating System.
    | |Client Network |2x 1GB Ethernet NICs
    | |OSD Network |2x 1GB Ethernet NICs
    | |Mgmt. Network |2x 1GB Ethernet NICs
  • 低配(RedHat提供)
    1.osd

    1
    2
    3
    4
    5
    6
    7
    |Criteria	|Minimum Recommended|
    |: --: |:– |
    |Processor |1x AMD64 and Intel 64|
    |RAM |2 GB of RAM per deamon|
    |Volume Storage |1x storage drive per daemon|
    |Journal |1x SSD partition per daemon (optional)|
    |Network |2x 1GB Ethernet NICs|

    2.mon

    1
    2
    3
    4
    5
    6
    | Criteria	| Minimum Recommended|
    | : --: | :– |
    |Processor | 1x AMD64 and Intel 64|
    |RAM | 1 GB of RAM per deamon|
    |Disk Space | 10 GB per daemon|
    | Network | 2x 1GB Ethernet NICs|
  • 高配(Intel提供)
    1.osd –Good

    1
    2
    3
    4
    5
    6
    7
    |Criteria	|Minimum Recommended|
    |: --: |:– |
    |Processor |Inter(R) Xeon(R)CPU E5-2650v3|
    |RAM |64GB |
    |Volume Storage |1x1.6TB P3700+12x4TB HDDs(1:12 ratio) P3700 as Journal and caching|
    |Caching software |Intel(R) CAS3.0,option: Intel(R) RSTe/MD4.3|
    |Network |10Gbe|

    2.osd –Better

    1
    2
    3
    4
    5
    6
    |Criteria	|Minimum Recommended|
    |: --: |:– |
    |Processor |Inter(R) Xeon(R)CPU E5-2690|
    |RAM |128GB |
    |Volume Storage |1xIntel(R) DC P3700(800G)+4xIntel(R) DC S3510 1.6TB|
    |Network |Duel 10Gbe|

    3.osd –Best

    1
    2
    3
    4
    5
    6
    |Criteria	|Minimum Recommended|
    |: --: |:– |
    |Processor |Inter(R) Xeon(R)CPU E5-2699v3|
    |RAM |>=128GB |
    |Volume Storage |4 to 6xIntel(R)DC P3700 2TB|
    |Network |2x 40GbE,4xdual 10GbE|
  • vpsee生产实例

    1
    2
    3
    4
    5
    6
    7
    8
    | Hostname  | IP Address    | Role  |                                           Hardware Info |
    |-----------+---------------+-------|---------------------------------------------------------|
    | ceph-adm | 192.168.2.100 | adm | 2 Cores, 4GB RAM, 20GB DISK |
    | ceph-mon1 | 192.168.2.101 | mon | 24 Cores,64GB RAM, 2x750GB SAS |
    | ceph-mon2 | 192.168.2.102 | mon | 24 Cores,64GB RAM, 2x750GB SAS |
    | ceph-mon3 | 192.168.2.103 | mon | 24 Cores,64GB RAM, 2x750GB SAS |
    | ceph-osd1 | 192.168.2.121 | osd | 12 Cores,64GB RAM, 10x4TB SAS,2x400GB SSD,2x80GB SSD |
    | ceph-osd2 | 192.168.2.122 | osd | 12 Cores,64GB RAM, 10x4TB SAS,2x400GB SSD,2x80GB SSD |
  • ADM 服务器硬件配置比较随意,用1台低配置的虚拟机就可以了,只是用来操作和管理 Ceph;

  • MON 服务器2块硬盘做成 RAID1,用来安装操作系统;
  • OSD 服务器上用10块 4TB 硬盘做 Ceph 存储,每个 osd 对应1块硬盘,每个 osd 需要1个 Journal,所以10块硬盘需要10个 Journal,我们用2块大容量 SSD 硬盘做 journal,每个 SSD 等分成5个区,这样每个区分别对应一个 osd 硬盘的 journal,剩下的2块小容量 SSD 装操作系统,采用 RAID1.

ref
硬件推荐
ceph的硬件配置.txt
在 CentOS 7.1 上安装分布式存储系统 Ceph
CEPH部署完整版(el7+jewel)
Ceph常用表格汇总


您的鼓励是我写作最大的动力

俗话说,投资效率是最好的投资。 如果您感觉我的文章质量不错,读后收获很大,预计能为您提高 10% 的工作效率,不妨小额捐助我一下,让我有动力继续写出更多好文章。