如何评估一台服务器(管理)

之前我们引进一台新款服务器之前,并没有对其有一个综合的评估,更多是是感性上的认识,没有数据来做支撑。
最早的时候用的是大众型的 11G,12 年升级到了 12G,当时我做的最多的工作就是尽可能的熟悉服务器的每一个细节,每一个硬件配置的差异以及由此带来的影响。后来业务发展需要引进更多型号的机器,为此需要对这些机型做一个客观公正的评估。
g 了不少做 benchmark 的文档,但是说的都比较皮毛,尤其对于对整款机器的测评,更是少之又少。为此,我写了一个小系列,从服务器的各个方面给出一个比较综合的评估方案。注意,仅仅是评估的方案,基本不涉及最终的测试结果,对目前主流的机架式服务器具有通用性。

不少做 benchmark 都是把目光集中在处理性、内存、磁盘、网卡的性能上,却忽略了一个非常重要的方面,那就是服务器可管理性。因此,这一篇主要涉及的就是服务器的可管理性。至于处理器、内存、磁盘、网卡这几个细分领域,网上的资料比我写的好的多,我只会做一些总结,提供一些比较通用的 benchmark 工具。

从管理这个角度来细分的话,可以分为下面几个方面,以下是我当年跟某厂商交流的大方向也是要解决的一些问题。解决了下面这些问题,服务器 OS 底层管理应该就不是什么大问题了。我简单的整理一下,同时,我也回答了一部分的问题,没回答的主要是不同厂商差异化引起的,这个各个厂商有不同的方案,很好解决。

1. 零部件
* BIOS 里面重要选项的设置、表达的意思以及使用的场景,是否有针对 BIOS 的测试报告(BIOS 的这个我曾经浏览了你们随机附带的光盘,里面有一个 3000+ 的文档,我发现里面关于 BIOS 的介绍比较肤浅,所以并不能获得有用的信息)
* RAID 卡,LSI 里面的重要参数的设置、使用场景,是否有针对 LSI 不同设置选项对系统产生的影响的测试
* 其他包括处理器、内存、PCIE 在内的主要硬件的介绍,你们内部是否有很对不同型号零部件的测试
* 远程管理卡的使用配置问题


2. 监控、维修
* 硬件的监控(ipmitool, megacli, sas2ircu),比如 LSI 的,我们之前会用 megaraid 来做监控,其他的一些部件我们会用 IPMI 来做监控。是否有更好的方式来及时的发现硬件的问题,比如硬盘
* ipmitool 对几个重要方面(inband, outofband)的支持完整性,是否都能很好的支持
* 几个核心的零部件,包括硬盘(SSD),RAID 卡(BBU),内存,CPU、主板。如何诊断这些部件出现问题,在 Linux 下面有什么权威的工具(ISM-cli-tools,可以做成 U 盘启动)、软件来判断、诊断问题


3. 自动化
* 有没有类似 DELL 的 OpenMange、DTK 等工具,可以自动的建立修改删除 RAID,另外远程卡的配置是否有比较自动化的方式。厂商出厂之前人肉帮我们都设置好是一回事,我们希望有更自动化的方式来完成

4. 其他
* 10G 网卡,fusion-io 等相对高端设备的介绍、使用、测试等等


5. 功耗
* 这个是必须要考虑的问题,可以看官方的 specs 得到一个最大值,可以自己分不同的等级跑一些压力测试,从而得到不同压力下的功耗问题

以上是在大规模上架服务器之前需要解决的问题,很不幸的是,在正常情况下,从我们接触到的厂商来看,由于沟通上(信息传递)的问题或者由于技术上的问题,他们并不能给出令人满意的答复。对于这类传统的跟互联网稍微沾点边的公司,大部分都由一些混日子的客户经理等角色组成,这也是为什么每年某些公司像批发商品一样一下子招一批应届生的原因,大部分进去之后都是充当这类的角色。不要觉得不可思议,我们是作为大客户的角色,上面的这些基本问题都不能很好的解决,可以想象一下,对于其他的客户,他们是怎样的一种态度以及实力。所以上面这些问题的解决是需要靠你自己,所幸有 google,因此真正的实施起来也不是很复杂,只不过需要一些时间来熟悉他们罢了。

接下来的几篇会涉及处理器、内存磁盘以及其他(非技术层面)这几个方面,网卡(《如何评估一台服务器(网卡)》)的测试以及优化在之前的已经写过一个完整系列,在这里就省略不写了。需要的可以看这里: