注意:此方法仅仅适用于近似冷备份等不需要长时间运行硬盘,但又需要随时访问nas的情况使用,比如我,一天就访问个一两次。如果你的数据访问频次较高,请不要使用此方法,或将休眠时间调整到一定长度,避免硬盘频繁停机开机,造成更大的损伤!!!
群晖硬盘分区机制介绍
![图片[1]-群晖实现无访问硬盘独立休眠,单个硬盘独立休眠-光影流云](https://www.nouzen.top/wp-content/uploads/2023/07/5eb81e64c28d43468-1.png_e1080-1.png)
系统盘:
群晖会对机器里的每块硬盘都取2.4G作为系统盘,,注意是每块,即使你是4个盘位——1个独立盘,3个盘做磁盘群组,群晖不会理会你的磁盘群组情况,先把每块硬盘取2.4G,一起做个RAID1来存放群晖系统。(我们一般理解RAID1是双盘,而群晖这里是软raid,这里raid1是不限数量)
SWAP分区:
同上系统分区,每个盘再取2G一起RAID1作为Linux SWAP分区。
用户数据空间:
剩下的空间才是用户可用、在群晖界面可见的,用户不管是作为组RAID、SHR,实际都是对每盘去掉2.4G系统区、去掉2G SWAP分区后,剩下的这个空间做操作。
了解了硬盘的分区机制,就可以对群晖进行硬盘休眠了
将硬盘系统分区脱离系统raid
主角:mdadm,是linux下的raid管理工具
1.确定系统分区的raid
sudo mdadm -D /dev/md0
#群晖一般是md0做系统raid,其他系统自行判断
2.确定缓存分区的raid(可选)
sudo mdadm -D /dev/md1
#群晖一般是md1做缓存raid,其他系统自行判断
3.查看本机磁盘
sudo fdisk -l
可以看到所有的盘都被分了三个区,接下来找到对应的硬盘和硬盘分区,进行脱离
4.脱离系统
sudo mdadm /dev/md0 --fail /dev/sdb1
#将sdb硬盘的第一分区脱离md0 raid
#将sdb替换为sda,sdb,sdc,sde,sdf等硬盘即可实现脱离
5.脱离swap(可选,不建议)
我这里都不脱离swap,内存够大的话根本写不到,我所用命令也是不脱离swap的,如果要脱离swap请自行修改
sudo mdadm /dev/md1 --fail /dev/sdb2
设置定时休眠
此处,不在群晖中设置,使用hdparm命令进行休眠,群晖也是用这个控制休眠的
sudo hdparm -S 180 /dev/sdb
sdb硬盘无操作15min后休眠(参数是5的倍数,比如180*5是900秒也就是15分钟)
群晖控制面板设置没试过,应该不好用,那个休眠是针对于全系统的
7.重新加入
为了数据安全,需要再次加入硬盘,进行系统备份
执行下面这个命令,硬盘“重新加入”系统raid1,恢复原设置:
sudo mdadm /dev/md0 --re-add /dev/sdb1
sudo mdadm /dev/md1 --re-add /dev/sdb2
进一步优化
创建任务
sudo touch /volume1/startup.sh
写入如下内容:
#!/bin/bash
mdadm /dev/md0 --fail /dev/sdc1
mdadm /dev/md0 --fail /dev/sdd1
mdadm /dev/md0 --fail /dev/sde1
mdadm /dev/md0 --fail /dev/sdf1
mdadm /dev/md0 --fail /dev/sdg1
mdadm /dev/md0 --fail /dev/sdh1
echo "Disconnected md0"
hdparm -S 120 /dev/sdc
hdparm -S 120 /dev/sdd
hdparm -S 120 /dev/sde
hdparm -S 120 /dev/sdf
hdparm -S 120 /dev/sdg
hdparm -S 120 /dev/sdh
echo "set HDD sleeptime 10min"
建一个新任务
sudo touch /volume1/reconnect_internal_raid.sh
写入如下内容:
#!/bin/bash
mdadm /dev/md0 --fail /dev/sdc1
mdadm /dev/md0 --fail /dev/sdd1
mdadm /dev/md0 --fail /dev/sde1
mdadm /dev/md0 --fail /dev/sdf1
mdadm /dev/md0 --fail /dev/sdg1
mdadm /dev/md0 --fail /dev/sdh1
echo "Disconnected md0"
sleep 600
mdadm /dev/md0 --re-add /dev/sdc1
mdadm /dev/md0 --re-add /dev/sdd1
mdadm /dev/md0 --re-add /dev/sde1
mdadm /dev/md0 --re-add /dev/sdf1
mdadm /dev/md0 --re-add /dev/sdg1
mdadm /dev/md0 --re-add /dev/sdh1
echo "connected md0"
#将需要连入raid的硬盘填入,建议选择质量较好的,或全部添加
然后再群晖计划任务中分别添加开机任务和定时任务运行上面的脚本
© 版权声明
THE END
暂无评论内容