外观
自动关机与定时唤醒
完成后,NAS 在没人用的时候自动关机,在你需要的时间自动开机。这靠三个 omv-extras 插件分工:autoshutdown 判断「现在是不是空闲」并关机,wakealarm 用主板的实时时钟(RTC)在计划的时间唤醒,wol 向局域网里的其他设备发送网络唤醒包。
适合谁
- NAS 每天只在固定时段使用,想省电。
先想清楚是不是真的需要关机:
- 频繁启停会增加硬盘的启停次数,也让备份、下载、容器服务、SnapRAID 同步都得绕开关机时间。
- 只想让硬盘空闲时停转,用
系统 → 电源管理(System → Power Management)和硬盘休眠就够了,见 电源管理:硬盘休眠与定时开关机。 - 想要的是低功耗和静音,看 低功耗与静音。
关机插件会中断任务,而且有已知缺陷
- 影响范围:判断为空闲时整台 NAS 会被关掉,进行中的下载、备份、同步、阵列重建、容器任务都会被打断。截至 2026-10-22,autoshutdown 在 GitHub 上有多条未关闭的问题,包括:端口检查分不清本机套接字和网络端口、SMART 检查对 SSD 误报、受监控的进程还在运行却被关机、ZFS 池磁盘的 I/O 检查不起作用。不要指望它保证「有任务时绝不关机」。
- 前置条件:主板 BIOS 支持并开启了 RTC 唤醒;先用下面的 模拟(Fake)模式观察几天,确认判断符合预期;把备份、同步这类计划任务安排在「强制运行时间」之内;重建阵列、升级系统期间先停用。
- 怎么回退:取消勾选 启用,保存并应用。关机后唤醒失败,只能到机器旁边按电源键,所以先做完下面的唤醒测试再启用。
插件信息
| 插件 | 包名 | 截至 2026-10-22 的版本 | 菜单位置 |
|---|---|---|---|
| 自动关机 | openmediavault-autoshutdown | 8.0 | 服务 → 自动关机(Services → AutoShutdown) |
| 计划唤醒 | openmediavault-wakealarm | 8.0.3 | 服务 → 计划闹钟(Services → Scheduled Alarms) |
| 网络唤醒 | openmediavault-wol | 8.0 | 服务 → 网络唤醒(Services → WOL) |
三个都来自 omv-extras,amd64 和 arm64 均有。先装 omv-extras,再到 系统 → 插件(System → Plugins)里按需安装。autoshutdown 依赖 fping、jq、net-tools、pm-utils、sysstat;wakealarm 依赖 python3-croniter;wol 依赖 etherwake、nast、wakeonlan、util-linux。这三个插件在 omv-extras wiki 里都没有文档。
先确认硬件能被唤醒
关机之后能不能自动开机,取决于主板和网卡。启用关机插件之前先测:
- RTC 唤醒:在 BIOS 里找
Resume by RTC alarm、Power on by RTC这类选项并开启。然后在 OMV 的 shell(root)里:
sh
# 在 OMV 的 shell 里执行(root)。这会关掉 NAS,先确认没有任务在运行
rtcwake -m no -s 180 # 设定 3 分钟后唤醒,不进入休眠
systemctl poweroff3 分钟后机器自己开机,说明 RTC 唤醒可用。没有开机,要按电源键,并回去检查 BIOS,这台机器不适合依赖定时唤醒。
- 网络唤醒(WOL):想从别的设备唤醒这台 NAS,要在 BIOS 里开启 Wake-on-LAN,并在
网络 → 接口(Network → Interfaces)里勾选这块网卡的 网络唤醒 WOL(Wake-on-LAN),见 网络接口。注意:服务 → 网络唤醒插件是用来唤醒别的设备的。
autoshutdown:空闲就关机
它怎么判断
脚本每隔一段时间(默认 180 秒)检查一轮,一轮叫一个周期。一个周期里的检查项按优先级从高到低依次执行:
- 是否在强制运行时间内(在时段内就不关)
- 局域网里有没有指定范围的 IP 在线
- 有没有指定端口上的连接、有没有登录的用户、SMB 有没有客户端
- 网络上下行速率
- 硬盘 I/O、SMART 自检是否在运行
- 指定的进程是否在运行
- 用户自定义的插件检查
**任何一项判断为「有活动」,就重置周期计数;全部为「没有活动」,计数减一,减到 0 就关机。**所以 周期 乘以 秒数,就是空闲多久后关机。
配置
服务 → 自动关机。下面的默认值取自插件的数据库初始化脚本,表单里的个别初值与它不同,以你界面上显示的为准:
| 字段 | 默认值 | 说明 |
|---|---|---|
| 启用(Enable) | 关 | |
| 周期(Cycles) | 6 | 连续多少个周期没有活动就关机 |
| 秒(Seconds) | 180 | 每个周期之间等多少秒 |
| 关机命令(Shutdown command) | 关机 | 也可选冬眠(Hibernate)、暂停(Suspend)、混合休眠、挂起休眠,必须是硬件和内核支持的才能用 |
| 强制运行时间(Forced Uptime) | 关,06:00 到 20:00 | 勾选后,这个时段内永远不关机 |
| 唤醒闹钟(Wake Alarm) | 关,08:00 | 关机前设置第二天的 RTC 唤醒时间 |
| IP 范围(IP-Range) | 开,2..254,0x0..0xFFFF | 范围内有设备在线就不关机 |
| 端口(Sockets) | 开,21,22,80,3689,6991,9091,49152 | 这些端口上有连接就不关机 |
| ULDL 率(ULDL Rate) | 开,50 kB/s | 网络速率超过它就不关机 |
| HDD-IO | 开,401 kB/s | 硬盘 I/O 超过它就不关机 |
| 平均负载(Load Average) | 关 | |
| 激活进程(Active Processes) | 开 | 有 smbd、nfsd 等进程在忙就不关机,可在 进程(Load processes)里调整 |
| SMB 状态、用户 | 开 | 有 SMB 客户端连接、有用户登录就不关机 |
| Smart 自检、插件 | 关 | |
| 记录到系统日志 | 开 | |
| 详细(Verbose)、模拟(Fake) | 关 |
最常见的问题是它永远不关机,因为默认的判断太宽:
- IP 范围默认覆盖整个网段的 2 到 254 号地址,手机、电视、物联网设备只要在线就算有活动。改成只填你的电脑的地址或范围,不需要的关掉。
- 端口里的 80 是 OMV 的 Web 界面,开着 Web 界面的标签页可能就一直有连接。
- 用户 登录着 SSH,也算有活动。
先用模拟模式
勾选 模拟(Fake),保存并应用。这时脚本照常判断,会在日志里写出每一步的结果,但不会真正关机,也不会设置唤醒时间。连续观察几天,看它在你觉得空闲的时候是否确实判断为空闲,再取消模拟。
wakealarm:按计划唤醒
服务 → 计划闹钟 里每条记录是一个 cron 风格的时间表:分钟、小时、日期、月份、星期,加一个注释。插件每分钟运行一次,从所有启用的计划里取下一次最近的时间,写进 /sys/class/rtc/rtc0/wakealarm,并且至少要在两分钟之后。它只设置唤醒时间,不负责关机,关机由 autoshutdown,或 系统 → 电源管理 → 计划任务(System → Power Management → Scheduled Tasks)里的计划关机来做。
autoshutdown 的唤醒闹钟和 wakealarm 都在写同一个 RTC 闹钟。 两个同时开,哪个生效没有文档说明,请只用一个。
wol:唤醒别的设备,或让本机待机后定时唤醒
服务 → 网络唤醒 有一张设备表(名称、MAC 地址、IP 地址),工具栏有:
- 扫描(Scan):在默认路由所在的网卡上扫描局域网里的主机,把发现的设备加入列表。
- 发送(Send):选中设备,选一块网卡,发出魔术包。
- 计划 rtcwake(Schedule rtcwake):让本机进入待机模式,并在指定时间唤醒。模式有待机(S1)、挂起到内存(S3)、挂起到硬盘(S4)、关机(S5)、「不挂起,只设置唤醒时间」,以及一个调试用的模式。选关机会让这台 NAS 立刻关机。
检查结果
诊断 → 系统日志(Diagnostics → System Logs)里选AutoShutdown类型,或在 OMV 的 shell(root)里只读查看:
sh
# 在 OMV 的 shell 里执行(root)
systemctl status autoshutdown
tail -n 50 /var/log/autoshutdown.log
rtcwake -m show # 显示 RTC 闹钟的状态- 模拟模式下,日志应显示每一轮是哪一项判断为「有活动」,最后出现
Shutdown command not executed in FAKE-Mode。 - 取消模拟后,把设备都放着不动,等一个「周期 乘以 秒」的时间,NAS 应当关机,到了唤醒时间自动开机。
- 开机后确认备份、同步这类计划任务没有被错过。
备份与维护
- 设置都在 OMV 的配置数据库里,没有需要单独备份的数据。
- 升级 OMV 或做大改动前,先停用自动关机,避免升级到一半被关机。
- 卸载插件会清除设置。autoshutdown 是 systemd 服务,不再需要时在界面里先取消启用。
常见问题
NAS 一直不关机。 打开模拟模式,看日志里哪一项判断为有活动,通常是 IP 范围、端口、登录用户。
NAS 在我还在用的时候关机了。 这是已知问题之一:有的检查项并不可靠。把它们调严,或者改用「强制运行时间」覆盖你使用的时段。
关机后没有按时开机。 回到「先确认硬件能被唤醒」。再检查是不是同时启用了 autoshutdown 的唤醒闹钟和 wakealarm。
想要夜里自动关机、早上自动开机。 最简单的组合是:wakealarm 设早上的唤醒时间,系统 → 电源管理 → 计划任务 设晚上的关机时间,不启用 autoshutdown。
关机命令选了休眠,唤醒后服务异常。 休眠和挂起对服务器环境不一定稳定,优先用「关机」加 RTC 唤醒。
参考资料
- 插件源码:openmediavault-autoshutdown(README 解释了判断顺序和配置项)、openmediavault-wakealarm、openmediavault-wol
- 已知问题:autoshutdown 的 Issues