硬件配置及建议
时至今日,ceph可以运行在各种各样的硬件平台上,不管是传统的x86架构平台(intel 至强系列、基于amd的海光系列等),还是基于arm的架构平台(比如华为鲲鹏),都可以完美运行ceph集群,展现了其强大的适应能力。
ceph的不同组件对硬件的需求有些许不同,下面是官方推荐的硬件要求:
| 组件 | 资源 | 最低配置要求 | 
|---|---|---|
| OSD | 处理器 | 最少1 core | 
| 每200-500 MB/s最少1 core | ||
| 每1000-3000 IOPS最少1 core | ||
| 上面的要求对应副本模式 | ||
| 对于使用不同的场景,要求会有所不同,比如使用纠删码、数据压缩等 | ||
| 如果是ARM处理器,出于性能考虑,将需要更多的core | ||
| 由于影响性能的因素较多,推荐使用性能压测来得到实际的结果 | ||
| 内存 | 每个实例4GB以上,其中2-4GB是比较常见的配置,不低于2GB | |
| 存储卷 | 每个实例1个存储卷 | |
| DB/WAL | 每个实例1个SSD的分区(可选) | |
| 网络 | 1GbE+ NICs (推荐使用10GbE+) | |
| MON | 处理器 | 最少2 core | 
| 内存 | 每个实例2-4GB以上 | |
| 磁盘空间 | 每个实例60 GB | |
| 网络 | 1GbE+ NICs | |
| MDS | 处理器 | 最少2 core | 
| 内存 | 每个实例2GB以上 | |
| 磁盘空间 | 每个实例1 MB | |
| 网络 | 1GbE+ NICs | 
官方给出的推荐硬件要求,是基于一般化的使用场景,在生产环境上,我们需要根据实际的性能要求来进行一系列的调整,对于性能瓶颈的地方,要适当增加硬件投入提高总体系统性能表现。
| 组件 | 资源 | 生产推荐配置 | 
|---|---|---|
| OSD | 处理器 | 副本池最少1 core,EC池最少2 core,ARM架构的处理器需求至少翻倍 | 
| 除了日常运行的需求,要考虑故障情况下的需求,cpu资源可能有所增加,推荐测试得到结果 | ||
| 内存 | 不低于2GB,日常运行基本在3GiB~4GiB,故障时部分osd可能更多,所以内存可以预留更多 | |
| 存储卷 | 每个实例1个存储卷,不需要做raid,建议使用直通卡,不用raid卡 | |
| DB/WAL | 针对HDD+SSD搭配使用的场景,推荐单独的SSD做DB和WAL,纯HDD和纯SSD不需要单独分出 | |
| 网络 | 10Gib的卡,最好多根做Bond | |
| MON | 处理器 | 最少2 core | 
| 内存 | 每个实例2-4GB以上 | |
| 磁盘空间 | 每个实例60 GB | |
| 网络 | 1GbE+ NICs | |
| MON和MGR因为资源要求不高,通常部署在同一台节点,可以使用虚拟机来部署 | ||
| MDS | 处理器 | 最少2 core | 
| 内存 | 每个实例4GB以上 | |
| 磁盘空间 | 每个实例1 MB | |
| 网络 | 1GbE+ NICs | 
集群节点网络配置
对于线上环境来说,节点都需要有确定的ip地址,因此我们需要在节点的网络配置中将网卡配置为静态ip,Debian系统的网络配置如下所示:
# The loopback network interface
#auto表示无论是否插入网线,都尝试启动这个接口
auto lo
iface lo inet loopback# The primary network interface
# allow-hotplug表示当检测到接口插入网线后,才启动这个接口
allow-hotplug ens33
iface ens33 inet dhcp# The primary network interface
# 静态ip的配置方法
allow-hotplug ens38
iface ens38 inet static
address 192.168.183.100
netmask 255.255.255.0
gateway 192.168.183.1
完成配置后,使用ifdown ens38 && ifup ens38使其生效
本系列的拓扑结构

3个mon和3个mgr与osd合布到node1~node3上
2台rgw节点与mds服务器合布
使用单独的跳板机作为deploy部署节点,同时配置apt内部源,chrony时钟服务器,能够连接到外网
