一、引言
这篇文章介绍如何让群晖的部分硬盘休眠,本人的群晖里面有3个机械硬盘,其实只有1个是常用的,其他两个的数据都是备份数据或者电影数据,是很少使用的,于是网上找资料看看怎么能休眠实现省电的目的。
二、为何需要硬盘休眠
首先要有这个需求,为了省电或者提高硬盘寿命,另外部分硬盘不经常使用,不是很活跃,如果很频繁的使用就没必要休眠,否则经常启停也不好。
休眠后好处也是很多的,省电、静音、提高了寿命。
三、设置的过程
一开始尝试网上的方法,使用群晖自己控制面板的设置,发现硬盘还是不休眠,只有usb的硬盘生效了。
后来找到一个办法,通过定时任务把硬盘离线,然后使用hdparm命令设置硬盘休眠。
找到要休眠的硬盘
进入终端切换到root用户,sudu -i
查看所有硬盘,使用 fdisk -l | grep "Disk /dev/sd"
显示的是所有的硬盘,确定需要修改的硬盘。
我要修改的是sdd和sde两个,如果相同大小可能需要其他方法确认是哪个硬盘
设置定时任务
要设置2个定时任务,一个是定时将硬盘脱离系统分区,一个是定时将硬盘接入系统分区
每天1点接入系统分区,为了系统分区同步
命令如下:
mdadm /dev/md0 --add /dev/sdd1
mdadm /dev/md0 --add /dev/sde1
每天1点15分脱离,脱离后,比较容易休眠
命令如下:
mdadm /dev/md0 --fail /dev/sdd1
mdadm /dev/md0 --fail /dev/sde1
mdadm /dev/md0 --remove /dev/sdd1
mdadm /dev/md0 --remove /dev/sde1
执行硬盘休眠命令
这个是15分钟不使用就休眠,命令如下:
hdparm -S 180 /dev/sdd
hdparm -S 180 /dev/sde
可手动执行一次,然后设置为开机执行
设置日志监控定时任务
通过 hdparm -C /dev/sdd
命令监控硬盘的状态,并写入文件,最多10000行,硬盘名和文件路径自行修改,可定时执行
命令如下:
echo "yingpan4" `date` hdparm -C /dev/sdd | grep state >> /volume2/aliyun/raid1_monitor.log 2>&1
echo "yingpan5" `date` hdparm -C /dev/sde | grep state >> /volume2/aliyun/raid1_monitor.log 2>&1
if [ $(wc -l < "/volume2/aliyun/raid1_monitor.log") -gt 10000 ]; then sed -i '1,2d' "/volume2/aliyun/raid1_monitor.log"; fi
解释一下
为什么是md0而不是md1,为什么是sdd1而不是sdd2
使用命令可查看raid的状态
cat /proc/mdstat
md1是虚拟分区,不需要操作,上图是已经脱离后的
使用命令可查看md1上挂的是哪个分区
mdadm -D /dev/md0
上面显示的是都是1,其中sdd和sde都已经移除。
四、设置休眠后的效果
最直接的效果就是功耗降低了10瓦多,经过统计电量,省电效果不错。
观察日志,可以看到硬盘大部分时间都是休眠,偶尔还是开启了,不知道是什么程序触发的。
参考文章:
http://www.nasyun.com/thread-79229-1-1.html
评论区