HP DL360e G8 服务器静音化

HP DL360e G8是一个买回来就嗡嗡嗡的服务器,我一开始以为服务器已经把噪音自动控制到最优,后来在网上冲浪的时候发现我错了。

无意间在Reddit上看到这么篇讨论

It's a bit complicated with the e-Series because of the shitty RAID controller, but I'll try to guide you to low rpm: (~21-23%)

  1. Check that none of the typical fan ramp up stuff applies (use original HP drives, no PCI-e cards)
  2. Make sure you set your BIOS to use the RAID controller (even if you don't use the drives as a raid)
  3. Go into the smart storage thing when booting and setup your drives. If you don't want to use RAID just create RAID0 configs for each single drive.
  4. Boot into the Service Pack, since the SPP has the necessary drivers the fans should spin down after a while to about 21-23% Alternative to 4: I also got them to spin down by installing the HP provided ESXi image which has the necessary drivers preinstalled. The fans spin down after about 1-2 minutes.

The reason for its weird behavior is the B120i RAID controller. It NEEDS to see it working via their proprietary drivers (hpvsa) to spin down the fans to their minimum. I couldn't get them farther below 21-23% which was still too loud for office use IMO and too restricted for me (couldn't get the fans to spin down running proxmox).

That all said, I'd recommend to ditch the server and sell it if you need a quiet server. They completed dropped the ball on the *e Gen8 servers. Just look into the official forums how they basically ignored their customers for years, promised firmware updates to fix the noise issues and then never delivered.

简而言之就是服务器的RAID卡,和PCI-E插槽上的东西会控制服务器风扇的转速。不信的话你可以先在BIOS设置里把SATA控制器从AHCI改成RAID以激活RAID卡,并启动HPE提供的SPP光盘上的系统,就可以观察到风扇转速从降到21%~23%。

这么操作后,我的服务器风扇转速从33%降到了左半侧1823%,右半侧27%。我一开始以为右半侧插的那张声卡不碍事,把声卡拔掉以后右半侧风扇转速也降到了1823%。

这意味着降低噪音需要激活RAID卡并且正确安装hpvsaRAID卡驱动,才能让服务器安静下来。md真是个智障的设计。

我的硬盘呢?

自从RAID卡被激活以后,硬盘和主板之间的通信就被RAID卡接管了,不配置RAID阵列的话就看不到硬盘了。

上网冲浪了一段时间又发现了一个YouTube上的视频:How to turn HP Smart array raid controller to HBA - Mode。简单来说就是用HPE提供的SPP里隐藏的Console修改RAID卡参数,来激活HPA模式,这样就可以配置硬盘直通了。

首先我们需要弄到SPP,HPE只将SPP提供给保修期内的服务器的其指定的维护人员。还好民间人才多,似乎有中东国家的人吧SPP的镜像分享出来了。

SPP可以顺便把我服务器上各部分的固件更新了。我一开始下载了SPP 2019版, 启动以后发现这个版本的SPP主要面向Gen9+,对于Gen8只提供基本的ILO固件更新。于是用回了最后一版面向Gen8的SPP 2017版

更新完固件以后按照视频的步骤操作,发现总是失败。用修改RAID卡的命令查询RAID卡的信息,发现这破B120i压根就不支持HPA模式

网上也有人说每一个磁盘初始化成一个RAID0阵列就好了。没办法只得照做。

我装了个假系统?

之前Reddit上的讨论提到了可以安装HPE定制的ESXI系统,自带了相应的RAID卡固件。我一开始用的是最新版的ESXI 6.7,尽管官网上说仅支持Gen9+的服务器,但有热心网友说Gen8用了也没啥问题。装完以后发现风扇又嗡嗡嗡的响,转速回到了33%的水平。进系统一看这个版本的系统连hpvsa的驱动包都没有。换回了ESXI 6.5 For Gen8,风扇才安静了下来。

我硬盘的内容没了?

我有一块4TB硬盘用作FreeNAS系统的存储池。重装了FreeNAS以后发现找不到存储池了,然后用dmesg一看内核日志,有检测到硬盘分区表存在致命错误的报告。我将硬盘分配到Ubuntu系统下,试图用Ubuntu的gdisk工具去修复分区表。gdisk工具检测到分区表里第二分区的大小超出了硬盘的容量。

然后我又看到一篇文章,说因为硬盘被划为RAID0阵列,硬盘的一部分区域划为Host Protected Area,理论上HPA操作系统不可见,但是可以检测到是否存在HPA了,不出意外,确实检测到硬盘上存在HPA区域。比较好的解决办法就是将硬盘拔下来插到普通电脑上,把数据导出来,在服务器上格式化后再把数据导回来。

我设想应该可以调整ZFS分区大小,把HPA区域空出来,这样就没啥问题了吧。但问题来了,HPA区域在硬盘上的哪里?分析一下,硬盘头部的GPT分区表还在,尾部的备份GPT分区表也在,那HPA到底在哪里?