我在家庭服务器上使用Ubuntu 12.04。有5个硬盘驱动器:一个带有OS的SSD和四个使用mdadm配置为RAID5的HDD(Samsung HD204UI)。
我不需要非常频繁的RAID(例如,平均每天大约一次)。它包含多媒体数据和一些备份,因此我决定大部分时间将驱动器置于待机状态。
我将驱动器配置为使用hdparm在20分钟后自动降速,/dev/sda
例如:
hdparm -S 240 /dev/sda
命令的输出确认了这一点:
/dev/sdb:
setting standby to 240 (20 minutes)
但是问题在于驱动器在最后一次访问后大约5秒钟(而不是20分钟)后旋转下来,并且
hdparm -C /dev/sdb
显示:
/dev/sdb:
drive state is: standby
驱动器为什么不按配置等待20分钟?它与RAID设置有关吗?(我不这么认为...)
这种非常短的超时是有问题的,因为它是RAID5,当我访问文件时,它以块为单位分布在四个驱动器上。由于读取驱动器2时不需要驱动器1,因此下次使用它时(在读取驱动器3之后)它将进入睡眠状态。因此,驱动器始终保持上下旋转,从而导致吞吐量接近零。
对于关心驱动器寿命的人们:平均每天旋转一次驱动器是没有问题的,因为与驱动器的运行状况相比,我更喜欢节省能源和热量(我使用RAID5,并且存储内容不是不是很重要)。