设备环境
- 威联通 TS - 453Bmini - J3455 物理机
- 具备公网环境
- 系统版本号为 0.8.47
BUG 现象
我设置了硬盘在 30 分钟后休眠。然而经过测试发现,昨晚硬盘每 60分钟就会自动唤醒,这与所设置的硬盘休眠时间并无关联,看起来就像是配置了一个 60 分钟的周期性任务。
根据群友猜测,可能是smart检测,但是我没有找到设置检测周期的地方,以往在威联通系统上,默认好像是设置的一周检测一次的频率。
出现频率
必现
联系方式
40 群 - gz_xiexl
日志文件
飞牛私有云分享【Debug_Log_20250422095024.zip】,点击链接下载文件,App打开可转存到NAS:https://s.fnnas.net/s/b410312442d241b585

(此处未提及日志文件具体信息)
经初步排查:
/etc/smartd.conf内:
DEVICESCAN -d removable -n standby -m root -M exec /usr/share/smartmontools/smartd-runner
查询日志好像又不是smartd造成的:
gzxiexl@TS-453Bmini:~$ sudo journalctl -xe | grep -i "smartd\|sdc\|sdb"
[sudo] password for gzxiexl:
Apr 22 09:23:40 TS-453Bmini MAINEVENT[1496]: MAINEVENT:{"cat":1,"template":"DiskWakeup","disk":"sdc"}
Apr 22 09:24:40 TS-453Bmini MAINEVENT[1496]: MAINEVENT:{"cat":1,"template":"DiskWakeup","disk":"sdb"}
Apr 22 09:36:18 TS-453Bmini smartd[827]: Device: /dev/sda [SAT], SMART Usage Attribute: 190 Airflow_Temperature_Cel changed from 36 to 34
Apr 22 09:36:18 TS-453Bmini smartd[827]: Device: /dev/sdb [SAT], SMART Usage Attribute: 190 Airflow_Temperature_Cel changed from 62 to 63
Apr 22 09:36:18 TS-453Bmini smartd[827]: Device: /dev/sdb [SAT], SMART Usage Attribute: 194 Temperature_Celsius changed from 38 to 37
Apr 22 09:36:18 TS-453Bmini smartd[827]: Device: /dev/sdc [SAT], SMART Usage Attribute: 194 Temperature_Celsius changed from 111 to 113
Apr 22 10:01:00 TS-453Bmini smartd[480038]: smartd 7.3 2022-02-28 r5338 [x86_64-linux-6.6.38-trim] (local build)
Apr 22 10:01:00 TS-453Bmini smartd[480038]: Copyright (C) 2002-22, Bruce Allen, Christian Franke, www.smartmontools.org
Apr 22 10:01:00 TS-453Bmini smartd[480038]: Opened configuration file /etc/smartd.conf
Apr 22 10:01:00 TS-453Bmini smartd[480038]: Drive: DEVICESCAN, implied '-a' Directive on line 21 of file /etc/smartd.conf
Apr 22 10:01:00 TS-453Bmini smartd[480038]: Configuration file /etc/smartd.conf was parsed, found DEVICESCAN, scanning devices
Apr 22 10:01:00 TS-453Bmini smartd[480038]: Device: /dev/sda, type changed from 'scsi' to 'sat'
Apr 22 10:01:00 TS-453Bmini smartd[480038]: Device: /dev/sda [SAT], opened
Apr 22 10:01:00 TS-453Bmini smartd[480038]: Device: /dev/sda [SAT], INTEL SSDSC2BW240A4, S/N:BTDA331406NU2403GN, WWN:5-5cd2e4-04b41f0ce, FW:DC32, 240 GB
Apr 22 10:01:00 TS-453Bmini smartd[480038]: Device: /dev/sda [SAT], found in smartd database 7.3/5671: Intel 53x and Pro 1500/2500 Series SSDs
Apr 22 10:01:00 TS-453Bmini smartd[480038]: Device: /dev/sda [SAT], can't monitor Current_Pending_Sector count - no Attribute 197
Apr 22 10:01:00 TS-453Bmini smartd[480038]: Device: /dev/sda [SAT], can't monitor Offline_Uncorrectable count - no Attribute 198
Apr 22 10:01:00 TS-453Bmini smartd[480038]: Device: /dev/sda [SAT], no SMART Error Log, ignoring -l error (override with -T permissive)
Apr 22 10:01:00 TS-453Bmini smartd[480038]: Device: /dev/sda [SAT], is SMART capable. Adding to "monitor" list.
Apr 22 10:01:00 TS-453Bmini smartd[480038]: Device: /dev/sda [SAT], state read from /var/lib/smartmontools/smartd.INTEL_SSDSC2BW240A4-BTDA331406NU2403GN.ata.state
Apr 22 10:01:00 TS-453Bmini smartd[480038]: Device: /dev/sdb, type changed from 'scsi' to 'sat'
Apr 22 10:01:00 TS-453Bmini smartd[480038]: Device: /dev/sdb [SAT], opened
Apr 22 10:01:00 TS-453Bmini smartd[480038]: Device: /dev/sdb [SAT], ST4000VX015-3CU104, S/N:WW6212HZ, WWN:5-000c50-0f27d7b2d, FW:CV10, 4.00 TB
Apr 22 10:01:00 TS-453Bmini smartd[480038]: Device: /dev/sdb [SAT], not found in smartd database 7.3/5671.
Apr 22 10:01:00 TS-453Bmini smartd[480038]: Device: /dev/sdb [SAT], is SMART capable. Adding to "monitor" list.
Apr 22 10:01:00 TS-453Bmini smartd[480038]: Device: /dev/sdb [SAT], state read from /var/lib/smartmontools/smartd.ST4000VX015_3CU104-WW6212HZ.ata.state
Apr 22 10:01:00 TS-453Bmini smartd[480038]: Device: /dev/sdc, type changed from 'scsi' to 'sat'
Apr 22 10:01:00 TS-453Bmini smartd[480038]: Device: /dev/sdc [SAT], opened
Apr 22 10:01:00 TS-453Bmini smartd[480038]: Device: /dev/sdc [SAT], WDC WD40PURX-64N96Y0, S/N:WD-WCC7K1VH6JD2, WWN:5-0014ee-211e9a7aa, FW:80.00A80, 4.00 TB
Apr 22 10:01:00 TS-453Bmini smartd[480038]: Device: /dev/sdc [SAT], found in smartd database 7.3/5671: Western Digital Purple (Pro)
Apr 22 10:01:01 TS-453Bmini smartd[480038]: Device: /dev/sdc [SAT], is SMART capable. Adding to "monitor" list.
Apr 22 10:01:01 TS-453Bmini smartd[480038]: Device: /dev/sdc [SAT], state read from /var/lib/smartmontools/smartd.WDC_WD40PURX_64N96Y0-WD_WCC7K1VH6JD2.ata.state
Apr 22 10:01:01 TS-453Bmini smartd[480038]: Monitoring 3 ATA/SATA, 0 SCSI/SAS and 0 NVMe devices
Apr 22 10:01:01 TS-453Bmini smartd[480038]: Device: /dev/sda [SAT], SMART Usage Attribute: 190 Airflow_Temperature_Cel changed from 34 to 33
Apr 22 10:01:01 TS-453Bmini smartd[480038]: Device: /dev/sda [SAT], previous self-test was interrupted by the host with a reset
Apr 22 10:01:01 TS-453Bmini smartd[480038]: Device: /dev/sda [SAT], state written to /var/lib/smartmontools/smartd.INTEL_SSDSC2BW240A4-BTDA331406NU2403GN.ata.state
Apr 22 10:01:01 TS-453Bmini smartd[480038]: Device: /dev/sdb [SAT], state written to /var/lib/smartmontools/smartd.ST4000VX015_3CU104-WW6212HZ.ata.state
Apr 22 10:01:01 TS-453Bmini smartd[480038]: Device: /dev/sdc [SAT], state written to /var/lib/smartmontools/smartd.WDC_WD40PURX_64N96Y0-WD_WCC7K1VH6JD2.ata.state
Apr 22 10:01:01 TS-453Bmini smartd[480040]: smartd has fork()ed into background mode. New PID=480040.
Apr 22 10:06:18 TS-453Bmini smartd[827]: Device: /dev/sda [SAT], SMART Usage Attribute: 190 Airflow_Temperature_Cel changed from 34 to 33
Apr 22 10:06:18 TS-453Bmini smartd[827]: Device: /dev/sdb [SAT], SMART Usage Attribute: 190 Airflow_Temperature_Cel changed from 63 to 62
Apr 22 10:06:18 TS-453Bmini smartd[827]: Device: /dev/sdb [SAT], SMART Usage Attribute: 194 Temperature_Celsius changed from 37 to 38
日志中提到
MAINEVENT[1496]: MAINEVENT:{"cat":1,"template":"DiskWakeup","disk":"sdc"}
再查询MAINEVENT的pid 1496:
gzxiexl@TS-453Bmini:~$ ps -ef | grep 1496
root 1496 1 0 Apr21 ? 00:04:52 /usr/trim/bin/trim
gzxiexl@TS-453Bmini:~$ ps aux | grep '/usr/trim/bin/trim'
root 1496 0.4 0.8 2167732 65128 ? Ssl Apr21 12:16 /usr/trim/bin/trim
root 1519 0.0 0.1 1600996 14128 ? Ssl Apr21 0:00 /usr/trim/bin/trim_app_cgi
root 1520 0.0 0.1 72396 14500 ? Ssl Apr21 2:30 /usr/trim/bin/trim_file_monitor
root 1522 0.0 0.1 1674888 12524 ? Ssl Apr21 0:00 /usr/trim/bin/trim_http_cgi
root 1527 0.1 0.3 1909464 28140 ? Ssl Apr21 3:38 /usr/trim/bin/trim_sac
root 1542 0.3 0.4 2353388 35944 ? Ssl Apr21 8:31 /usr/trim/bin/trim_app_center
root 3317 0.0 0.4 2003004 38108 ? Ssl Apr21 0:25 /usr/trim/bin/trim-connect/trim-connect --trimapi https://fnos.net
root 3380 0.0 0.4 1762740 33664 ? Ssl Apr21 0:21 /usr/trim/bin/trim-sharelink
gzxiexl 1062267 0.0 0.0 6464 2048 pts/0 S+ 11:49 0:00 grep --color=auto /usr/trim/bin/trim
看来就是飞牛系统级程序把硬盘唤醒的原因了。
目前硬盘休眠是全局设置,建议可以增加每个硬盘的休眠策略,以我的使用来说,SSD做系统盘,所有应用、docker数据都挂载在ssd上,ssd没有必要休眠,但是我还有两块机械硬盘做了raid1,在没有应用读写上面的数据的情况下,可以实现机械硬盘上时间休眠,我另外还有一台unraid 5块机械硬盘就是这种休眠策略,一直用下来硬盘可以实现长时间正常休眠。