ceph 之集群容量性能测试
2023-06-22 本文已影响0人
wayyyy
组网规划
网络配置对于构建高性能Ceph集群至关重要。客户端会直接向Ceph OSD 发出请求,Ceph OSD 会向客户端执行数据复制,这意味着数据复制会在网络上进行,这势必会带来很大的网络开负载。
所以,ceph 有两个网络,即公网和私网,公网承载Ceph对外通信以及数据交互,私网承载与Ceph集群相关的流量。如果不配置两个网络,Ceph 的所有流量会使用同一个网络,这样性能就会相对较低。

公网:用于客户端访问,客户端向Ceph发起读写请求,Mon 监管集群,各种网关发起的访问请求都会通过公网处理。
私网:用于内部数据同步,OSD 之间副本数据同步,数据自我恢复均需要通过私网处理。
这两个网络虽然可以共享同一硬件资源,但是共享带宽会带来客户端访问性能下降等问题。所以在生产环境中建议使用独立的组网方案,即两个网络分开,交换机也需要进行堆叠区分。
服务器规划
追求高IOPS
硬件 | 配置 |
---|---|
CPU | 假定主频为2GHz,则每个NVMe SSD 使用 6core 或者每个非NVMe SSD 使用2core |
RAM | 16 GB + 5GB * OSD 数量,16GB为基线,根据OSD数量增加内存,每个OSD使用5GB |
数据磁盘 | NVMe SSD |
BlueStore WAL/DB | 可与MVMe 数据盘同盘 |
磁盘控制器 | PCIe |
OSD 进程数 | 每个NVMe SSD 分配2个OSD进程 |
网络 | 每2个OSD(进程)使用10GB带宽网络 |
追求良好的吞吐量
硬件 | 配置 |
---|---|
CPU | 假定主频为2GHz,则每个HDD 使用 0.5core |
RAM | 16 GB + 5GB * OSD 数量,16GB为基线,根据OSD数量增加内存,每个OSD使用5GB |
数据磁盘 | 7200 RPM 的 HDD |
BlueStore WAL/DB | 使用独立的MVMe SSD 或者 STAT SSD 作为加速 |
磁盘控制器 | HBA(使用JBOD模式) |
OSD 进程数 | 每个HDD分配一个OSD进程 |
网络 | 每12个OSD(进程)使用10GB带宽网络 |
追求低成本,高容量的场景
硬件 | 配置 |
---|---|
CPU | 假定主频为2GHz,则每个HDD 使用 0.5core |
RAM | 16 GB + 5GB * OSD 数量,16GB为基线,根据OSD数量增加内存,每个OSD使用5GB |
数据磁盘 | 7200 RPM 的 HDD |
BlueStore WAL/DB | 可与HDD 数据盘同盘 |
磁盘控制器 | HBA(使用JBOD模式) |
OSD 进程数 | 每个HDD分配一个OSD进程 |
网络 | 每12个OSD(进程)使用10GB带宽网络 |
集群容量性能测试
iPerf
利用iPerf 进行网络方面的测试。
FIO
一般来说,利用FIO等工具进行4K的随机写,顺序写,随机读,顺序读的IOPS和极限带宽测试。
cosbench
测试对象存储性能
RADOS
-
写入速率测试
rados bench -p scbench 10 write --no-cleanup
-
顺序读速率测试
rados bench -p scbench 10 seq
-
随机读速率测试
rados bench -p scbench 10 rand
参考资料:
1、《Ceph 企业级分布式存储原理与工程实践》