群晖(Synology) DS718+希捷酷狼(Seagate IronWolf)12TB空闲发出持续噪声

群晖(Synology) DS718+ 使用希捷酷狼(Seagate IronWolf) 双12TB组成RAID1阵列,结果每隔几秒就会发出一阵子咳咳咳的噪声(有人说是炒豆子声音),尤其是夜深人静的时候,简直无法容忍。

网上查询了很久,发现这个问题非常普遍。

【硬盘噪音的由来】 
噪音虽然不是直接衡量硬盘性能的标准,但是经常听到一阵阵硬盘乱响毕竟不是一件让人舒心的事。纵观硬盘的发展历史,可以发现硬盘的噪音实际上和硬盘的转速是成正比的:转速每提高一个档次,噪音等级都会相应提高。 
尽管现在7200转的硬盘已经改进不少,成为了市场的主流,但噪音仍然是要高于5400转的硬盘。通常硬盘内部有两个电机,一个是驱动硬盘旋转的主轴电机,该电机过去是主要的噪音和热量源,但是现在有很多厂家开始使用液态轴承电机,它使用的是黏膜液油轴承,以油膜代替滚珠,可有效的降低因金属磨擦而产生的噪声和发热问题。 
同时液油轴承也可有效的吸收震动,使硬盘的抗震能力得到提高,由此硬盘的寿命与可靠性也可以得到提高。
但是另外还有一寻道电机,由于技术和成本上的原因,该电机还没有采用液态轴承电机,我们平时听到硬盘发出的“答,答”声,就是由它发出的。 

如果是DSM 6.2之前的系统,存在一个磁头反复复位唤醒的BUG,导致磁盘寿命明显缩短。这个原因是由于磁头的复位次数是有上限的,超过上限就容易故障。这个问题的表现就是SMART信息中的Load_Cycle_Count(Load/Unload_Count)异常增高。噪声的一个原因也就是磁头的复位声。

通常,硬盘制造商规定的Load_Cycle_Count(Load/Unload_Count)数目上限是600,000次,要是超过300,000次就会影响到正常的读写,再多的话就差不多要报废了。

参考群晖论坛的讨论 Seagate NAS drives constant clicking noises when idle

但是我的系统是DSM 6.2.2-24922 Update 4,这个问题已经被修复了,目前观察了一下,这个数字已经不再增长了。

这个噪声其实是读写频率低的情况下,磁头默认会回到一个安全区,在这个安全区,即使由于硬盘的意外震动,磁头发生磕碰,也不会磕碰到磁盘区域,提升震动安全。但是带来的问题是磁头进入或者离开安全区的时候,会发出一阵噪声。这个声音非常吵。这也就是为什么官方网站在回应 对于噪声很大的磁盘驱动器我应该怎么办? 说这个问题没办法解决的原因。

上述故障的典型表现是 当磁盘负载很高的时候,噪声低很多,低负载的时候,每隔几秒就会发出非常高的噪声

当年,迈拓的硬盘存在一个名为AMM的技术,可以通过一些指令如ATA指令或专用软件对它进行操作,使得寻道时的噪音跟空闲时差不多。但是,AMM降低了硬盘在速度变化瞬间的启动速度,在突发数据传输率上会对硬盘造成一定影响,使得硬盘的性能出现短暂下降。不过,从平均工作性能来说,由于持续传输率并不受启动速度的唯一影响,因此在整体性能上来说问题不大。 迈拓的Acoustic Management(声音管理)设置工具。

可惜,希捷酷狼(Seagate IronWolf)12TB已经不支持这个功能了。

亚马逊有个回答

Short answer: No Seagate Ironwolf Pro HDD's do not support the obsolete AAM protocols. They have rotational vibration sensors and dampers which make the drive quiet.

Long answer: Automatic Acoustic Management (AAM) was a feature popularized by WD in which the spin up rate of the disks in a HDD was slowed down to reduce vibration and noise. This feature was declared obsolete in the 2010 ATA protocols because it made the drive spin up slowly and increased access times. Seagate Ironwolf Pro NAS drives are made to run 24/7/365 @ 7200 rpm. These drives spin up as quickly as any HDD that I ever tried including 15,000 rpm drives. They are not "green drives" which spin down and back up to conserve energy. The drives have rotational vibration sensors and self correct for drive eccentricities. The result is that the Ironwolf and Ironwolf Pro HDD's are very quiet. I have WD Reds, HGST's, and Toshiba drives along with Seagate Ironwolf and Ironwolf Pro 4TB, 6TB, 8TB, 10TB and 12 TB drives. The Seagate Ironwolf and Ironwolf Pro drives are the quietest drives of all the drives I own.

虽然发出评论的人否认自己是托,但是从我一张12TB的WD红盘跟Ironwolf的对比来看,WD红盘安静的根本听不到噪声,Ironwolf吵得很。

虽然不支持AMM,但是官方提供的控制工具SeaChestUtilities (本站链接 SeaChestUtilities)中的SeaChest_Configure工具(这个工具解压缩到群晖chmod +x后就可以执行)提供了一个名为 --lowCurrentSpinup 的参数,这个参数的说明如下:

Low Current SpinUP  
     
     After System Up,
     Each time they go StandBy, it stop spinning the plates, and park its heads..

     But the problem is,
     Each time you request access, they will need to start spinning the plates, and moving heads to read/write..
 
     This start process, is painful, for power Consumption, and creates more vibration( it pushs several Amps in spikes for that.. )..

     So to minimise it,
     Seagate Disks have a Feature, to start spinning in a progressive way, instead of abrupt way.

看上去这个参数可以实现降噪功能,实际上没什么效果!执行命令如下:

$ sudo ./SeaChest_Configure_1170_11923_64 -d /dev/sg0 --lowCurrentSpinup low
==========================================================================================
 SeaChest_Configure - Seagate drive utilities - NVMe Enabled
 Copyright (c) 2014-2019 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
 SeaChest_Configure Version: 1.17.0-1_19_23 X86_64
 Build Date: Jun 10 2019
 Today: Sun May 17 22:26:50 2020
==========================================================================================

/dev/sg0 - ST12000VN0008-2JH101 - ZHZ4XKKY - ATA
Set Low Current Spinup
Successfully Enabled Ultra Low Current Spinup!
A power cycle is required to complete this change.

low ,ultra两个参数都试过,没明显感觉到不同。

接下来,想在电源管理上看一下是不是能解决问题,比如降低转速等,结果依旧没用。老的Advanced Power Management (APM)被新的Extended Power Controls (EPC)功能取代了,具体解释如下:

There are, roughly, three general frameworks for disk drive power management.
The earlier specification is part of Advanced Power Management (APM) which
provided controls over many devices in a system, including disk drives.  APM
has since been replaced by a new framework called Extended Power Controls
(EPC).  Seagate's implementation of EPC began to phase in starting in 2010 and
is named by the marketing term "PowerChoice".  Seagate PowerChoice
technology'specifically developed for enterprise environments'offers more
energy efficiency and control over the amount of power hard drives consume.

尝试用工具中的电源管理模块,结果依旧根本设置不了,如下:

$ sudo ./SeaChest_PowerControl_1100__11923_64  -d /dev/sg0 --EPCfeature disable
==========================================================================================
 SeaChest_PowerControl - Seagate drive utilities - NVMe Enabled
 Copyright (c) 2014-2019 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
 SeaChest_PowerControl Version: 1.10.0-1_19_23 X86_64
 Build Date: Jun 10 2019
 Today: Sat May 16 23:05:56 2020
==========================================================================================

/dev/sg1 - ST12000VN0008-2JH101 - ZHZ54BTB - ATA
Failed to send EPC command to /dev/sg1.
EPC Feature set might not be supported.
Or EPC Feature might already be in the desired state.

工具的功能挺全的,能查到硬盘的很多信息,如下:

$ sudo ./SeaChest_Configure_1170_11923_64 -d /dev/sg1 -i
==========================================================================================
 SeaChest_Configure - Seagate drive utilities - NVMe Enabled
 Copyright (c) 2014-2019 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
 SeaChest_Configure Version: 1.17.0-1_19_23 X86_64
 Build Date: Jun 10 2019
 Today: Sun May 17 22:25:00 2020
==========================================================================================

/dev/sg1 - ST12000VN0008-2JH101 - ZHZ54BTB - ATA
	Model Number: ST12000VN0008-2JH101
	Serial Number: ZHZ54BTB
	Firmware Revision: SC60
	World Wide Name: 5000C500C3DDC97B
	Drive Capacity (TB/TiB): 12.00/10.91
	Native Drive Capacity (TB/TiB): 12.00/10.91
	Temperature Data:
		Current Temperature (C): 38
		Highest Temperature (C): 48
		Lowest Temperature (C): 31
	Power On Time:  5 days 2 hours 
	Power On Hours: 122.00
	MaxLBA: 23437770751
	Native MaxLBA: 23437770751
	Logical Sector Size (B): 512
	Physical Sector Size (B): 4096
	Sector Alignment: 0
	Rotation Rate (RPM): 7200
	Form Factor: 3.5"
	Last DST information:
		Time since last DST (hours): 22.00
		DST Status/Result: 0x0
		DST Test run: 0x2
	Long Drive Self Test Time:  19 hours 14 minutes 
	Interface speed:
		Max Speed (Gb/s): 6.0
		Negotiated Speed (Gb/s): 6.0
	Annualized Workload Rate (TB/yr): 2018.24
	Total Bytes Read (TB): 15.98
	Total Bytes Written (TB): 12.13
	Encryption Support: Not Supported
	Cache Size (MiB): 256.00
	Read Look-Ahead: Enabled
	Write Cache: Enabled
	Low Current Spinup: Ultra Low Enabled
	SMART Status: Unknown or Not Supported
	ATA Security Information: Supported
	Firmware Download Support: Full, Segmented, Deferred
	Specifications Supported:
		ACS-4
		ACS-3
		ACS-2
		ATA8-ACS
		ATA/ATAPI-7
		ATA/ATAPI-6
		ATA/ATAPI-5
		SATA 3.2
		SATA 3.1
		SATA 3.0
		SATA 2.6
		SATA 2.5
		SATA II: Extensions
		SATA 1.0a
		ATA8-AST
	Features Supported:
		Sanitize
		SATA NCQ
		SATA Rebuild Assist
		SATA Software Settings Preservation [Enabled]
		SATA Device Initiated Power Management
		Power Management
		Security
		SMART [Enabled]
		48bit Address
		PUIS
		GPL
		Streaming
		SMART Self-Test
		SMART Error Logging
		Write-Read-Verify
		DSN
		AMAC
		EPC
		Sense Data Reporting
		SCT Write Same
		SCT Error Recovery Control
		SCT Feature Control
		SCT Data Tables
		Host Logging
		Set Sector Configuration
		Storage Element Depopulation
		Seagate In Drive Diagnostics (IDD)

有个缩写简单记录一下

AMAC(Accessible Max Address Configuration feature set) 

根据论坛上 教你一招解决NAS噪音及速度问题!的经验,第1盘位是默认的系统盘,这导致硬盘不停的发出咳咳咳的寻道声。为了解决这个问题,(918+)遂决定在1、2盘位安装两块SSD,并将两块酷狼8TB转移到3、4盘位,这样一来,HDD不再是系统盘,在闲置状态下,便可启动休眠功能,大大降低噪音。

可惜718+只有两个盘位,918+的解决方法显然是行不通的。

我自己的群晖的噪声来源主要有如下几个

  • MariaDB 10开启了主从复制,主服务器上数据更新,会被自动同步到群晖上的MariaDB 10,导致磁盘被频繁唤醒,而磁盘寻道噪声很大!!
  • 群晖开启了SMB服务,局域网内的机器会自动连接导致磁盘被唤醒,虽然没有写入,但是网络请求会导致磁盘唤醒,依旧出现寻道声。
  • 系统盘安装在硬盘上,系统会定期唤醒磁盘执行读写操作。目前测试发现,关闭MariaDB 10, SMB 之后,硬盘可顺利休眠。

按理说,上面的问题,可以通过群晖的 SSD 缓存加速功能缓解,结果718+没有M.2插口,918+有两个内置的M.2插口。而外置通过eSata的接口挂载硬盘,是不能作为SSD 缓存加速的。具体信息参考 Synology’s DS718+ SSD caching is crippled/Which Synology NAS models support SSD cache?

目前能想到的办法是

  • 外挂一块SSD硬盘,然后把数据库放到SSD上去存储
  • 利用群晖的计划任务,在规定时间唤醒MariaDB的服务,执行同步任务,执行完成后,关闭服务。减少在夜间睡觉时候的噪声污染。

    目前使用的关闭/打开MySql同步计划任务的脚步如下:

    #!/usr/local/bin/expect -f
    #开启内部动作调试输出,观察是否正确执行 1 代表打开调试,0代表关闭调试
    exp_internal 0
    set PATH "/usr/local/mariadb10/bin"
    set PASSWORD "password"
    set timeout 30
    spawn $PATH/mysql -u root -p -e "stop slave;"
    expect -re ".*assword:"
    send "$PASSWORD\r"
    expect eof
    #!/usr/local/bin/expect -f
    #开启内部动作调试输出,观察是否正确执行 1 代表打开调试,0代表关闭调试
    exp_internal 0
    set PATH "/usr/local/mariadb10/bin"
    set PASSWORD "password"
    set timeout 30
    spawn $PATH/mysql -u root -p -e "start slave;"
    expect -re ".*assword:"
    send "$PASSWORD\r"
    expect eof

    计划任务的参考配置如图:

    需要使用expect进行密码的自动填充,默认系统没有安装。参考 搭建群晖交叉编译环境(DS718+/ubuntu 16.04.6/DSM 6.2.1-23824 Update 6)进行编译。

参考链接


发布者

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注