联想ThinkServer RS260是1u超薄,体积比较小;服务器原有的侧吹风扇属于增压暴力风扇,噪音巨大,导致服务器在家用环境下难以使用;
本次拷机的主要目的是,在对散热配置进行了静音降噪的改造后,通过测试来确认散热性能仍然是充足的,以确保ThinkServer可以在家中安静的使用。


本次拷机的硬件配置:


服务器:联想RS260 E3-1220v6,1CPU 8G内存
散热改造:
  (1)去掉服务器原装的三个暴力风扇、CPU散热片;
  (2)改造时的风扇的选型,遇到的问题:
       不能再用增压的暴力风扇,这类风扇噪音不可能降下来;也不能选用扁平的涡轮增压下面是铜制散热器的方案,虽然铜制散热片散热快,但这类涡轮增压的风扇噪音也不小;
       水冷风扇也无法使用,一个是CPU位置空间狭小,很难安装水冷的CPU散热器,另外水冷的外接风扇及散热片相对于1u超薄服务器机箱非常庞大,无法放置;
       再考虑到1u机箱的厚度4cm多一点点,尽量保证机箱以后能够盖上,因此本人最终选择了超频三刀锋S85-A散热器,Intel CPU E3-1220v6的最大功率72w, 而该款风扇标称最大散热65w,有一点点差距,但市场上实在找不到能在1U机箱下安装在CPU上的静音风扇了,而且ThinkServer RS260服务器主板的CPU散热器安装孔7.5cmX7.5cm左右,只有这个合适,先测测看。

       另外备下几个非增压的4cmX4cm侧吹风扇,来弥补CPU散热器的不足,并提供机箱的前后流动风;
       在靠近主板外侧的位置布置5个12v 0.09A的MingQuan(从淘宝商家“兆辉电子商城”购置)散热风扇(型号MQ4010HSL,SLEEVE轴流轴承,风噪19~21dB,风量7.2~7.5,风压2.1~2.3),这几个侧吹风扇的轴心是加了油的,经过实测,发现噪音确实不大; 这些侧吹风扇功率比较小,需要数量多,本人配置了5个,安装时在靠近主板的地方横向摆成一排,风向与机箱的通风方向一致,后面打算在机箱出风口再布置2个,增加流通速度;

联想ThinkServer RS260服务器静音降噪改造及CentOS拷机测试_第1张图片

后来从网上得知,磁悬浮轴心的4cm侧吹风扇噪音会更小(建准的4010标称噪音18.2dB),所以最终方案采用了磁悬浮轴承的建准4010侧吹风扇,另外由于CPU是顶吹风扇,原装的密封式盖板不利于散热,为此从网上订购了合适尺寸的带孔不锈钢板作为盖板;

所以最终的改造效果如下图所示;

联想ThinkServer RS260服务器静音降噪改造及CentOS拷机测试_第2张图片

注意:本次测试是在服务器正常工作状态的测试,进行了静音降噪后,系统散热效果比原来的暴力风扇肯定存在一定量的差距,所以不打算让系统工作在超频状态下,在ThinkServer RS260启动时,注意按F1选项进入BIOS检查CPU的高级选项里面选择CPU不要超频;


一、安装监控工具nmon


方式一:CentOS Server通过yum直接从软件库安装

   yum install nmon

方式二:先通过nmon网站找到下载软件的链接(http://nmon.sourceforge.net/pmwiki.php?n=Site.Download),从中找到对应的版本,例如用于Linux x64的一个版本的链接
    http://sourceforge.net/projects/nmon/files/nmon16g_x86.tar.gz
   在确保CentOS已经安装了wget后,创建一个工作目录并进入该目录

   mkdir nmonwork
   cd nmonwork

   使用wget下载,输入命令:
 

  wget http://sourceforge.net/projects/nmon/files/nmon16g_x86.tar.gz

   然后将下载的包解压;
  

 tar -zxvf nmon16g_x86.tar.gz

   可以看到有多个linux版本的可执行程序
   执行ll的结果例如:  

 root@bogon work]# ll
total 2460
-rw-------. 1  210  201 160664 Apr 20  2017 nmon16g_x86_fedora25
-rw-------. 1  210  201 406334 Apr 20  2017 nmon16g_x86_rhel72
-rw-------. 1  210  201 352321 Apr 20  2017 nmon16g_x86_sles114
-rw-------. 1  210  201 403944 Apr 20  2017 nmon16g_x86_sles12
-rw-r--r--. 1 root root 692079 Apr 20  2017 nmon16g_x86.tar.gz
-rw-------. 1  210  201 490840 Apr 20  2017 nmon16g_x86_ubuntu1604

选择其中适合当前版本的即可,例如:
   修改文件权限为可执行:
   chmod 700 nmon16g_x86_rhel72
   执行该文件:
   ./nmon16g_x86_rhel72
   如果要退出,键入q即可


二、查看要监控的目标CPU、磁盘、网络、CPU长时效果
   在运行了nmon后,依次键入c键、d键、l键、m键、n键即可监控相应的系统资源指标,快捷键参考下图
  

│   ------------------------------                                                                            │
│    _ __  _ __ ___   ___  _ __          For help type H or ...                                               │
│   | '_ \| '_ ` _ \ / _ \| '_ \          nmon -?  - hint                                                     │
│   | | | | | | | | | (_) | | | |         nmon -h  - full details                                             │
│   |_| |_|_| |_| |_|\___/|_| |_|                                                                             │
│                                        To stop nmon type q to Quit                                          │
│   ------------------------------                                                                            │
│                                                                                                             │
│   CentOS Linux release 7.4.1708 (Core)  NAME="CentOS Linux"                                                 │
│   Vendor=GenuineIntel Model=Intel(R) Xeon(R) CPU E3-1220 v6 @ 3.00GHz                                       │
│   MHz=891.914 bogomips=6000.00           lscpu:CPU=4 Little Endian                                          │
│   ProcessorChips=1 PhyscalCores=4              Sockets=1 Cores=4 Thrds=1                                    │
│                    VirtualCPUs =4              MHz=900 max=3500 min=800                                     │
│                                                                                                             │
│   Use these keys to toggle statistics on/off:                                                               │
│     c = CPU         l = CPU Long-term     - = Faster screen updates                                         │
│     C = " WideView  U = Utilisation       + = Slower screen updates                                         │
│     m = Memory      V = Virtual memory    j = File Systems                                                  │
│     d = Disks       n = Network           . = only busy disks/procs                                         │
│     r = Resource    N = NFS               h = more options                                                  │
│     k = Kernel      t = Top-processes     q = Quit


 
三、安装温度查看工具lm_sensors


  通过yum install lm_sensors 即可,其他安装方式不再赘述
  之后运行sensors-detect进行配置,遇到需要确认的输入yes即可
  配置好了之后,可随时通过命令sensors查看当前CPU温度;  
 
四、拷机测试


在对服务器进行了静音改造后,散热性能通常有一定的下降的,所以先由拷机程度稍微低的工具进行压力测试,以免意外伤害CPU,本次先选了stress软件,在确认系统有足够的散热能力后后续再考虑逐步通过更苛刻的工具进行测试;


注意:所有的拷机测试时,请单独为nmon打开一个窗口实时观察性能指标、为sensors命令单独打开一个窗口可随时查看CPU温度,再为如下测试工具单独打开一个窗口执行或取消测试;
(本人实际是在远程方式下,通过PC上windows环境下利用mobaxterm这个工具连接CentOS Server,打开三个session窗口)
在未执行测试软件之前,服务器运行在纯文本模式下,执行sensors命令,看到CPU温度情况如下:

[root@bogon work]# sensors
coretemp-isa-0000
Adapter: ISA adapter
Physical id 0:  +32.0°C  (high = +80.0°C, crit = +100.0°C)
Core 0:         +30.0°C  (high = +80.0°C, crit = +100.0°C)
Core 1:         +31.0°C  (high = +80.0°C, crit = +100.0°C)
Core 2:         +31.0°C  (high = +80.0°C, crit = +100.0°C)
Core 3:         +32.0°C  (high = +80.0°C, crit = +100.0°C)
jc42-i2c-1-1b
Adapter: SMBus I801 adapter at f000
temp1:        +31.6°C  (low  =  +0.0°C)                  ALARM (HIGH, CRIT)
                       (high =  +0.0°C, hyst =  +0.0°C)
                       (crit =  +0.0°C, hyst =  +0.0°C)


(1)通过stress软件进行测试
  
   如果没有安装stress软件,可先通过yum install stress下载并安装stress工具;

首先,开始进行4进程测试,打开一个窗口,执行:
stress –c 4  
测试过程中发现CPU温度过高,避免75度往上,可随时通过ctrl+c停止测试;
注意通过另外两个窗口一个随时观察性能指标,一个多执行sensors命令查看CPU温度
实测:联想RS260 E3-1220v6     
      场景一:CPU用户态占用率始终100%,在配置超频三刀锋S85-A散热风扇作为CPU散热,开着1u机箱的上盖,另外加5个12v 0.09A 2针全速侧吹的情况下,经过20分钟,CPU温度4核心稳定在59~60度,  
      场景二:CPU用户态占用率始终100%,仅配置超频三刀锋S85-A散热风扇作为CPU散热,开着1u机箱的上盖,CPU温度4核心稳定在63~64度,属于可运行的正常工作温度;

   [root@bogon work]# sensors
coretemp-isa-0000
Adapter: ISA adapter
Physical id 0:  +64.0°C  (high = +80.0°C, crit = +100.0°C)
Core 0:         +63.0°C  (high = +80.0°C, crit = +100.0°C)
Core 1:         +64.0°C  (high = +80.0°C, crit = +100.0°C)
Core 2:         +63.0°C  (high = +80.0°C, crit = +100.0°C)
Core 3:         +64.0°C  (high = +80.0°C, crit = +100.0°C)
jc42-i2c-1-1b
Adapter: SMBus I801 adapter at f000
temp1:        +36.3°C  (low  =  +0.0°C)                  ALARM (HIGH, CRIT)
                       (high =  +0.0°C, hyst =  +0.0°C)
                       (crit =  +0.0°C, hyst =  +0.0°C)

其次,停掉4进程的测试,进行13个CPU进程4个IO测试,执行:

 stress -c 13 -i 4 --verbose

   对上述场景二:CPU用户态占用率始终100%,仅配置超频三刀锋S85-A散热风扇作为CPU散热,开着机箱的上盖,经过20分钟,CPU温度4核心稳定在61~64度,仍在正常工作温度范围内;


    可见,在CPU为4核的前提下,增加CPU进程,仅仅是增加了CPU内核态的占用率,因为要切换进程频繁了,但整体性能要求对CPU的测试压力基本一样;


(2)通过其他软件进行测试

暂未进行,留待有时间再进行。