关闭未使用的硬盘

关闭未使用的硬盘

我有一台运行 Ubuntu 12.10 服务器的 PC 作为我的自定义家庭服务器。有许多硬盘驱动器通过 USB 连接到它。服务器全天候运行,我想知道是否有任何方法或命令可用于关闭不使用的驱动器,并且一旦提交驱动器的读/写请求,驱动器将自动再次打开以处理请求?

所以我基本上想要一个可以执行以下操作的脚本(如果这没有深入研究 Linux 内核的话):

  1. 如果 y 分钟内没有向驱动器 X 提交读/写请求,则关闭 X 并记住 X 已连接。

  2. 如果提交了发往 X 的读/写请求,则打开 X 并处理该请求。

  3. 重新从1开始。

有些硬盘里的数据我有时几周/几个月都不会用到,所以我不想因为闲置而缩短它们的使用寿命。我也不想每次使用硬盘时都打开/关闭它们。

答案1

我认为您正在寻找允许您使用驱动器参数的 hdparm 实用程序。

不同的驱动器采用不同的参数,并且不同的磁盘具有不同的支持级别,例如 -J wukk 设置 WD Green 驱动器空闲超时。(但您可能需要像 -S 或可能 -s 这样的东西,但 man hdparm 将提供详细信息。)

答案2

如果您想要如此精确的控制,您可能必须关闭磁盘电源管理并自行执行:保持程序运行(或每 x 分钟启动一次),该程序查看磁盘的访问数据,例如 /sys/block/sda/sda9/stat。如果您的脚本检测到阈值期间内没有访问,则关闭相应磁盘的电源(如果尚未关闭)。

相关内容