外观
电源管理:硬盘休眠与定时开关机
完成后,闲置的硬盘会自动停转,省电也更安静;你也能让 NAS 按计划重启或关机,知道电源按键按下去会发生什么,并且知道硬盘不肯休眠时该查什么。
先分清三件事,它们在界面里是三个不同的地方:
| 要做的事 | 在哪里设置 |
|---|---|
| 让某块硬盘闲置后停转 | 存储器 → 磁盘 → 编辑(Storage → Disks → Edit) |
| 电源按键、待机模式、CPU 频率 | 系统 → 电源管理 → 设置(System → Power Management → Settings) |
| 定时重启、关机、待机 | 系统 → 电源管理 → 计划任务(System → Power Management → Scheduled Tasks) |
休眠和定时开关机会让服务不可用
- 影响范围:硬盘休眠后,第一次访问要等盘转起来,这段时间共享会卡住,容器可能超时;多块盘依次唤醒更久。定时关机、重启、待机期间所有服务中断,正在跑的备份和校验会被打断。
- 前置条件:定时关机之前确认没有备份、scrub、同步在跑,把关机时间放在它们结束之后。想靠定时唤醒,先确认主板的 BIOS 支持,并测试过。
- 怎么回退:把停转时间改回 禁用 并应用;删除或禁用电源相关的计划任务并应用。关机后叫不醒时,按实体电源键,或用 IPMI。
硬盘停转
打开
存储器 → 磁盘,选中一块数据盘,点 编辑(Edit)。设置这些字段:
字段 说明 高级电源管理(Advanced Power Management,APM) 默认「禁用」。数值 128 及以上不允许硬盘停转;要让硬盘能停转,保持禁用,或选 1、64、127 自动声音管理(Advanced Acoustic Management,AAM) 默认禁用。有的硬盘支持,可以降低噪音、牺牲性能 停转时间(Spindown time) 默认「禁用」。可选 5、10、20、30、60、120、180、240、300、330 分钟 启用写缓存(Enable write-cache) 只有硬盘支持才有效,见下面的说明 保存,点黄色提示条上的 应用。
OMV 8 通过 smartctl 给硬盘下发这些设置:停转时间设的是硬盘自己的待机计时器,不是系统的计时器。设置会在开机和从睡眠恢复后重新下发。
关于「启用写缓存」
这个选项默认不勾选。按 OMV 生成的设置脚本推断,保存这个表单时,不勾选会把这块盘的写缓存关掉,写入速度会变慢(未在实机上验证)。想设置停转又不改变写缓存,就勾选它。有 UPS 保护的话,开写缓存的风险小得多,见接入 UPS。
查看硬盘的电源状态
存储器 → 磁盘 的表格有一列 电源模式(Power Mode),默认隐藏,在表格的列选择器里勾选后显示。状态有:激活、激活或闲置、闲置、待机、睡眠。刷新这个列表不会把休眠的盘唤醒。
在 OMV 的 shell 里,以 root 身份,也有只读的办法:
sh
smartctl -n standby -i /dev/<磁盘>硬盘在待机时,它只会提示「Device is in STANDBY mode」并退出,不会把盘唤醒。
为什么硬盘不睡
| 原因 | 怎么检查 | 办法 |
|---|---|---|
| 没设停转时间,或 APM 在 128 及以上 | 磁盘的 编辑 页 | 设置停转时间,APM 保持禁用 |
| S.M.A.R.T. 的定期检查把盘叫醒了 | 存储器 → S.M.A.R.T. → 设置(Storage → S.M.A.R.T. → Settings)的 电源模式 | 默认是 待机,遇到待机或睡眠的盘就跳过检查。如果被改成「永不」,改回来 |
| 有程序在读写这块盘 | 在 shell 里 lsof <挂载点>,看谁打开了文件 | 容器的配置和数据库、下载、媒体库扫描、定时备份都会访问。把常变的数据放到别的盘,或调整任务时间 |
| USB 硬盘盒不支持待机命令 | 用上面的 smartctl 命令读不到状态 | 换盒子,或放弃休眠 |
| 阵列或文件系统在后台工作 | RAID 同步、Btrfs scrub、SnapRAID 同步正在进行 | 等它结束 |
| 日志、Docker 数据在这块盘上 | 它们持续写入 | 系统盘和数据盘分开,Docker 数据放在不需要休眠的盘上 |
更详细的排查见硬盘不休眠。
休眠不是越多越好。频繁启停会磨损硬盘,每隔一小时就被叫醒一次的盘,不如让它一直转。唤醒要等盘转起来,Windows 资源管理器、媒体服务器和容器都可能因此卡顿或超时。一天里被访问很多次的盘,别开休眠。
电源按键、待机模式和 CPU 频率
打开 系统 → 电源管理 → 设置:
| 字段 | 说明 |
|---|---|
| CPU 频率调节(CPU frequency scaling) | 初始值因安装方式而异(按源码):新装系统在初始化时,会从这台 CPU 可用的调节器里按省电优先挑一个写进来,常见是 powersave;从 8.0.x 升级上来的系统和虚拟机里是「禁用」,即 OMV 不接管、沿用内核默认。可选的调节器取决于 CPU 和驱动,常见有 schedutil、powersave、performance。界面提示 schedutil 适合多数用户,空闲时省电;powersave 始终最低频率;performance 始终最高频率。只在物理机上生效 |
| 电源按键(Power button) | 默认「没有」,即按了没反应。可选 关机 或 待机 |
| 待机模式(Standby mode) | 默认 关机。可选取决于系统支持的方式:暫停(Suspend,官方译名用繁体字)、冬眠(Hibernate)、休眠(官方译名,对应 Hybrid sleep,混合睡眠) |
三点要特别注意:
- 「待机」默认就是关机。 默认的待机模式是「关机」,所以顶栏电源菜单里的 待机、电源按键选了「待机」、计划任务选了「待机」,默认效果都是关机,不是睡眠。
- 官方中文把 Hybrid sleep 译成「休眠」,和 Hibernate 的译名「冬眠」容易弄混,看括号里的英文。
- 把 NAS 设成挂起(suspend)或休眠(hibernate)不推荐:网络唤醒不一定可靠,服务中断,硬件驱动也可能在恢复时出问题。要省电,用硬盘停转和 CPU 频率调节。
OMV 8 把 CPU 频率调节从旧的 cpufrequtils 换成了 linux-cpupower,从 OMV 7 升级上来的系统要重新确认这里的设置,见大版本升级。
定时重启和关机
打开 系统 → 电源管理 → 计划任务,点 创建:
| 字段 | 说明 |
|---|---|
| 已启动 | 默认勾选 |
| 类型(Type) | 待机、关机、重启,默认重启 |
| 执行的时间 | 特定日期、每小时、每天、每周、每月、每年,时间的写法和计划任务一样 |
| 标签 | 备注 |
保存后点 应用。OMV 把它们写进 /etc/cron.d/openmediavault-powermngmt,到点执行 systemctl 的对应命令,不需要你手改。
Linux 服务器不需要定期重启,没有理由就别设。定时关机要先确认怎么开机:靠主板的 RTC 定时唤醒、网络唤醒(WOL)或手按电源键,没想清楚之前不要设。
想要按活动自动关机、定时唤醒、网络唤醒,OMV 核心做不到,要用 omv-extras 的 autoshutdown、wakealarm、wol 插件,见自动关机与定时唤醒。它们有已知的局限,不要把它们当成有保证的行为。
检查结果
- 停转:给一块不常用的数据盘设置 30 分钟停转并应用。30 分钟内不要访问它,之后在
存储器 → 磁盘看 电源模式 列,或用smartctl -n standby -i /dev/<磁盘>,应该显示待机。然后访问这块盘上的共享,感受第一次打开的延迟,再看状态变回激活。 - 电源按键:设置后在维护窗口测试,确认按键的效果和你预期的一样。
- 计划任务:先用「重启」类型,在维护窗口里设一个几分钟后的任务,确认能按时重启、服务回来;测试完删除任务并应用。重启能自己恢复,关机则需要有人或设备再开机,所以先测重启。
常见问题
设置了停转,盘马上又转起来。 有程序在访问它,按上面的表格逐项排查,lsof <挂载点> 最直接。
S.M.A.R.T. 页面显示硬盘「待机」,是不是出故障了? 不是,这表示它正在休眠,SMART 检查会按设置跳过它。
CPU 频率的下拉框里只有「禁用」。 虚拟机、某些 CPU 驱动没有可用的调节器。这不是错误。OMV 的部署脚本也只在物理机上启用 CPU 频率调节,虚拟机里选了也不会生效。
电源按键没反应。 OMV 通过 systemd-logind 处理电源键,设置后要应用才会写入。部分机器或虚拟机的按键事件需要额外的 ACPI 支持。
计划关机后叫不醒。 检查 BIOS 里的 RTC 唤醒或 WOL 是否开启,并用网线连接(Wi-Fi 一般不支持)。
参考资料
- 停转设置依据 OMV 源码:表单在
workbench/src/app/pages/storage/disks/,应用方式在srv/salt/omv/deploy/smartmontools/20hdparm.sls。 - 电源设置依据
workbench/src/app/pages/system/powermgmt/和srv/salt/omv/deploy/systemd-logind/、cron/。 - 官方文档的电源管理页(Power Management)还写着旧的
cpufrequtils,以本篇为准。