我有一个带有两个磁盘的ZFS raid。主机运行24/7,磁盘也运行。所以我想在空闲时间后把它们设置为待机。有几篇文章推荐用-C param来测试这个
# hdparm -y /dev/sda
/dev/sda:
issuing standby command
# hdparm -C /dev/sda
/dev/sda:
drive state is: standby
# hdparm -C /dev/sda
/dev/sda:
drive state is: standby
# hdparm -C /dev/sda
/dev/sda:
drive state is: active/idle我每秒钟重新运行hdparm -C /dev/sda命令。为什么几秒钟后磁盘就被唤醒了?我停止了所有访问这些磁盘的应用程序(它不是操作系统磁盘)。使用法特雷斯,我找不到任何io操作。我还尝试了这个内核解决方案和重新加载规则,这样可以避免hdparm唤醒磁盘。
此外,我尝试了smartctl -i -n standby /dev/sda |grep "^Power mode"。这似乎会在第二次运行时唤醒磁盘。
# hdparm -y /dev/sda
/dev/sda:
issuing standby command
# smartctl -i -n standby /dev/sda|grep "^Power mode"
# smartctl -i -n standby /dev/sda|grep "^Power mode"
Power mode is: ACTIVE or IDLE/dev/sda磁盘是WD Red8TB:
# smartctl -i /dev/sda
smartctl 7.1 2019-12-30 r5022 [x86_64-linux-5.4.41-1-pve] (local build)
Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Family: Western Digital Red
Device Model: WDC WD80EFZX-68UW8N0
Serial Number: xxx
LU WWN Device Id: 5 000cca 263c7a3f7
Firmware Version: 83.H0A83
User Capacity: 8,001,563,222,016 bytes [8.00 TB]
Sector Sizes: 512 bytes logical, 4096 bytes physical
Rotation Rate: 5400 rpm
Form Factor: 3.5 inches
Device is: In smartctl database [for details use: -P show]
ATA Version is: ACS-2, ATA8-ACS T13/1699-D revision 4
SATA Version is: SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Sat May 30 09:41:56 2020 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled我正在运行Proxmox,所以它是一个基于debian的发行版,带有Debian (10)。
hd-idle我试过空转,但是磁盘没有进入待机状态。由于日志中没有条目,所以我使用调试标志手动执行它。
hd-idle -i 0 -a /dev/sda -i 120 -l /var/log/hd-idle.log -d这表明我每次检查时都会增加阅读量。
probing sda: reads: 12760648, writes: 3174104
probing sda: reads: 12763720, writes: 3174104
probing sda: reads: 12765256, writes: 3174104
probing sda: reads: 12766792, writes: 3174104我希望完全没有阅读,就像在这博客文章中描述的那样(对于RPI,但我认为这与此无关)。大多数软件运行在Docker容器上,所以我停止了守护进程,但读取仍在继续。目前只有一个Proxmox。它位于系统SSD上,所以不会导致读取。
发布于 2020-06-23 10:23:56
这个问题是由pvestatd服务引起的:它收集诸如CPU使用情况、磁盘使用情况和其他显示在web中的数据等状态信息。根据Proxmox,它只适用于在/etc/pve/storage.cfg中配置的存储。我已经不再在那里配置ZFS池了,但是它以前就在那里。这似乎使pvestatd仍在扫描那些池,从而唤醒了我的磁盘。
要解决这个问题,我需要排除/etc/lvm/lvm.conf中的设备。在global_filter中有一个过滤器,其中我为每个磁盘应用了"r|/dev/sda"。r意味着此磁盘被排除在扫描之外。
重新启动后,磁盘将如预期的那样进入待机状态。
https://unix.stackexchange.com/questions/589915
复制相似问题