设定
我有USB机箱(Buffalo DriveStation Quad),其中包含连接到nas服务器(ubuntu服务器14.04)的四个驱动器。机箱已配置为JBOD模式,因此我将看到Linux中的所有磁盘。
其中两个磁盘(sdb和sdc)的软件RAID配置为/dev/md0
(raid1)。并以ext4文件系统/dev/md0
作为单个分区(/mnt/part1
)挂载而没有日志记录。
其他两个磁盘(sdd和sde)都将LVM设置为一个卷组,从那里我已经安装了两个逻辑分区。其中之一是整个卷组容量(/mnt/part2
)的90%,另一个是10%(/mnt/part3
)的容量。两者都是没有日志的ext4。
APM问题
我的问题始于默认的APM模式,因为我注意到硬盘驱动器的磁头每隔几分钟就会非常激进地停下来。经过一段时间的研究,我最终使用了hdparm -B198 /dev/sd[bcde]
。这似乎可以实现一定程度的节能,但实际上并不需要做任何头部停车操作。
有睡吗
我对当前的情况感到满意,但是我仍然希望驱动器在没有活动的情况下进入睡眠状态。尤其是sdb和sdc(/mnt/part1
)在95%的时间内实际上没有任何活动。无论我尝试了什么,问题似乎都在于驱动器的睡眠时间不会超过一两分钟。
卸载所有分区并发布hdparm -y /dev/sd[bcde]
将使驱动器进入睡眠模式,但仅持续几分钟。之后,他们都会一一唤醒。我试图通过启用block_dump(echo 1 > /proc/sys/vm/block_dump
)来调试问题,但是看不到对磁盘的任何访问。
我还尝试通过禁用APM hdparm -B255 /dev/sd[bcde]
,并在此之后命令他们进入睡眠状态,但是还是一样。几分钟后,驱动器仍会唤醒。
我没有mdadm
在守护程序模式下运行(每天只检查一次),也没有其他东西可以探测驱动器了。那么,接下来有什么想法呢?Buffalo USB机箱是否很笨拙(这是自己造成的)?
更新#1
我花了一些时间才能使磁盘在发行后唤醒hdparm -y /dev/sd[bc]
。以下时间戳说明了这种模式:
00:00 hdparm -y /dev/sd[bc]
00:40 disks start to wake up
00:59 disks fully awake
01:00 hdparm -y /dev/sd[bc]
03:40 disks start to wake up
03:59 disks fully awake
04:00 hdparm -y /dev/sd[bc]
06:40 disks start to wake up
06:59 disks fully awake
即似乎每隔3分钟就会检查/唤醒一次磁盘。第一个进入待机模式的命令恰好距离检查点40秒。
更新#2
使用重新启动计算机acpi=off apm=off
。也没有帮助。顺便说一句,该机是联想L520笔记本电脑。以防万一有人发现它相关。
upstart-{socket,file}-bridge, dhclient, getty and sshd
-没运气:(。当然有很多内核进程正在运行(括号中列出了一个)。还没有研究我是否可以通过一些内核参数来减少它们……而哪些将是很好的候选人。