Ceph官方文档——硬件配置推荐
By leisants | 2012 年 12 月 26 日 | 文章
Contents [hide]
-
- 0.0.1 本文译自:http://ceph.com/docs/master/install/hardware-recommendations/
- 1 硬件推荐¶
- 1.1 CPU¶
- 1.2 内存¶
- 1.3 数据存储¶
- 1.4 网络¶
- 1.5 故障域¶
- 1.6 最低硬件建议¶
- 1.7 生产集群示例¶
本文译自:http://ceph.com/docs/master/install/hardware-recommendations/
硬件推荐¶ Ceph被设计为运行在普通硬件上,这使得建立和维护PB级规模的数据集群,从经济上讲是可行的。规划集群硬件时,您需要平衡多方面的考虑,包括故障域和潜在的性能问题。硬件规划应包括分布式的Ceph守护进程和运行在不同主机上需要使用Ceph的其他进程。一般情况下,我们建议将运行Ceph指定类型的进程运行在单独的主机上。我们建议您使用其他主机来运行您的数据集群(例如,OpenStack、CloudStack 等)。
Inktank 提供针对硬件规划优秀的收费支持。
CPU¶
Ceph的元数据服务器会动态重新分配他们的负荷,这是CPU密集型的。所以,您的元数据服务器应该有显著的处理能力(例如,四核或更好的处理器)。Ceph OSDs 运行RADOS的服务,使用CRUSH算法计算data placement,复制数据,并维护他们自己的集群映射的副本。因此,OSDs应该有一个合理的处理能力(例如,双核处理器)。监控器只是维持一个集群映射的主副本,所以他们不是CPU密集型的。您还必须考虑主机是否运行除了Ceph的守护进程之外的CPU密集型的进程。例如,如果您的主机将运行计算的虚拟机(例如,OpenStack Nova),您将需要确保其他的这些进程为Ceph留下足够的处理能力。我们建议在不同的主机上运行额外的CPU密集型进程。
内存¶
元数据服务器和监控器必须有能力快速的处理他们的数据,所以他们应该有足够的内存(例如,每个守护进程实例1G的内存。)。OSDs不需要多的内存(例如,每个守护进程实例500M的内存)。一般情况下,更多的内存肯定是更好的。
数据存储¶
仔细规划您的数据存储配置,因为使用固态硬盘SSD会有显著的性能提升的机会,但也有显着的硬盘每GB成本的考虑。元数据服务器和监控器不需要使用大量的存储空间。一台元数据服务器大约每个守护进程实例需要1MB的存储空间。一台监控服务器大约每个守护进程实例需要10G的存储空间。性能提升的一个方法是使用SSD,以减少随机访问时间和读取等待时间,同时加速吞吐量。同一块硬盘相比,固态硬盘每千兆字节的成本同硬盘相比是其10倍之多,但他们往往在访问时间的表现上,至少比硬盘快100倍。由于元数据服务器和监控服务器的存储需求是如此之低,SSD可以提供一个经济的方法来提高性能。OSDs应该有足够的磁盘空间。我们建议至少1TB的硬盘空间大小。 我们建议您硬盘的价格除以数千兆字节计算出每GB成本,因为较大的硬盘在每GB的成本上有显著的影响。例如,1TB的硬盘,售价为$75.00美元,每GB的成本为0.07美元(即$75/1024 = 0.0732)。与此相反,一个3TB的硬盘,售价为$ 150.00美元,每GB的成本为0.05美元(即$150/3072 = 0.0488)。在上述的例子中,使用1 TB的硬盘,通常每GB的成本增加了40%,大大低于您群集的成本效益。对OSD主机,我们建议您使用单独的硬盘来安装操作系统和软件,以及在您主机上运行的每个OSD守护进程分配一个磁盘。对象存储,因为固态硬盘SSD成本高昂,OSDs会有存储性能的改善,通过存储OSD日志文件在SSD上和OSD对象数据存储在普通硬盘上。 您可在每台主机上运行多个OSDs,但您应该确保您的OSD硬盘的总吞吐量总和不超过所需的网络带宽以服务客户端读取或写入数据的需要。 您还应该考虑在每台主机上的集群数据存储的比例是多少。如果这个比例比较大且该主机发生了故障,它可能会导致超出full ration这样的问题,为安全起见,这将导致Ceph停止操作,防止数据丢失。
网络¶
我们建议每台主机至少有两个千兆网络接口控制器(NIC)。由于大部分商品的硬盘驱动器的吞吐量约100MB/second,您的网卡应该能够处理您的主机上OSD磁盘上的流量。我们建议至少两块网卡,一个为公共的(前端)网络和一个为集群(后端)网络。集群网络(最好不连接到互联网)进行处理数据复制的额外负载,有助于阻止拒绝服务攻击。考虑在你的机架上开始使用一个10Gbps的网络。复制1TB的数据通过1Gbps的网络需要3个小时,复制3TB(一个典型的驱动器配置),需要9个小时。相比之下,在10Gbps的网络环境中,复制时间分别需要20分钟和1小时。在PB级规模的集群,OSD服务器上的磁盘故障是正常的,不是例外的。系统管理员会尽可能快的看到从降级状态到 active + clean 状态的PG级恢复,价格/性能的折衷考虑。此外,一些部署工具(例如,戴尔公司的Crowbar)有五种不同的网络,但采用VLAN部署,会使硬件和网络布线更易于管理。使用802.1Q协议的VLAN要求具有VLAN功能的网卡和交换机。增加的硬件费用会被网络安装与维护的运营成本所抵消。当使用VLAN来处理集群间虚拟机之间的流量和计算堆栈(例如,Openstack,Cloudstack等),也是值得考虑使用10G以太网的。网络中,顶级机架中的路由器也需要能够与更高吞吐量(例如,40Gbps到100Gbps)的中心路由器交互。
您的服务器硬件应该有底板管理控制器(BMC)。管理和部署工具,也可以使用广泛的BMC,因此可以考虑带外网络的管理成本/效益的权衡。虚拟机管理程序SSH的访问,虚拟机镜像上传,操作系统镜像安装,管理的sockets等,可以利用重大的网络负载。运行三个网络似乎有点小题大做,但每个通信路径代表了一个潜在的容量,吞吐量或性能瓶颈,您应该谨慎考虑,然后再部署一个大规模的数据集群。
故障域¶
一个故障域会阻止您访问一个或更多的OSDs中的数据。这可能是一个在主机上停止的守护进程,硬盘故障,操作系统崩溃,故障NIC,电源故障,网络中断,断电等等。当规划您的硬件需求,您必须平衡好成本和更少的故障域。
最低硬件建议¶
Ceph可以运行在便宜的商业硬件上。小的生产集群和开发集群可以成功运行在任何配置的硬件上。
进程 | 标准 | 最低配置推荐 |
---|
ceph-osd | Processor | 1x 64-bit AMD-64/i386 dual-core |
RAM | 500 MB per daemon |
Volume Storage | 1x Disk per daemon |
Network | 2x 1GB Ethernet NICs |
ceph-mon | Processor | 1x 64-bit AMD-64/i386 |
RAM | 1 GB per daemon |
Disk Space | 10 GB per daemon |
Network | 2x 1GB Ethernet NICs |
ceph-mds | Processor | 1x 64-bit AMD-64/i386 quad-core |
RAM | 1 GB minimum per daemon |
Disk Space | 1 MB per daemon |
Network | 2x 1GB Ethernet NICs |
提示
如果您运行OSD在一块硬盘上,您应该为您的卷存储(volume storage)创建一个分区,它是独立于含操作系统的那个分区。一般情况下,我们建议分别使用独立的硬盘来安装操作系统和用作容量存储。
生产集群示例¶
PB级别数据存储的生产集群也可以使用商业硬件,但应该有更多的内存,处理能力和数据存储来应付沉重的传输负荷。
最近2012年,Ceph集群项目对OSDs使用的是相当强劲的硬件配置,对监控器使用的是轻量级配置。
配置 | 标准 | 最低配置推荐 |
---|
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 |