适用系统:我的是F4-210,其他机器其实原理上差不多,应该是通用的
为什么要硬盘休眠?
静音!省钱!硬盘温度也不会很高,我这边租房电费太贵了,按3盘位休眠算下来,一年可以节省挺多的。
为什么会有这篇教程?
这个硬盘休眠系统设置真的很不友好,基本没用,而且还存在系统分区raid1这种坑,基本不能独立休眠
以下操作适合有一定linux命令操作基础的同学!!!
以下操作适合有一定linux命令操作基础的同学!!!
以下操作适合有一定linux命令操作基础的同学!!!
通过ssh工具执行下面命令。
--lsblk 命令用于列出块设备的信息,包括硬盘、固态硬盘、软盘和其他块设备,以及它们的分区信息。
lsblk
这是我现在已经卸载后的信息,系统分区只放在sdb硬盘内, 个人文件,docker等应用,下载机都放在sdb,sda、sdc、sdd是我用来存放电影,电视,动漫等资源
root@TNAS-ML:~# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 7.3T 0 disk
|-sda1 8:1 0 285M 0 part
|-sda2 8:2 0 2.9G 0 part
|-sda3 8:3 0 1.9G 0 part
`-sda4 8:4 0 7.3T 0 part
`-md1 9:1 0 7.3T 0 raid1
`-vg1-lv1 252:1 0 7.3T 0 lvm /mnt/md1
sdb 8:16 0 7.3T 0 disk
|-sdb1 8:17 0 285M 0 part
|-sdb2 8:18 0 2.9G 0 part
| `-md9 9:9 0 2.9G 0 raid1 / ##这个是系统分区!!
|-sdb3 8:19 0 1.9G 0 part
| `-md8 9:8 0 1.9G 0 raid1 [SWAP] ##这个是内存交换!!
`-sdb4 8:20 0 7.3T 0 part
`-md0 9:0 0 7.3T 0 raid1
`-vg0-lv0 252:0 0 7.3T 0 lvm /mnt/md0
sdc 8:32 0 7.3T 0 disk
|-sdc1 8:33 0 285M 0 part
|-sdc2 8:34 0 2.9G 0 part
|-sdc3 8:35 0 1.9G 0 part
`-sdc4 8:36 0 7.3T 0 part
`-md2 9:2 0 7.3T 0 raid1
`-vg2-lv2 252:2 0 7.3T 0 lvm /mnt/md2
sdd 8:48 0 14.6T 0 disk
|-sdd1 8:49 0 285M 0 part
|-sdd2 8:50 0 2.9G 0 part
|-sdd3 8:51 0 1.9G 0 part
`-sdd4 8:52 0 14.6T 0 part
`-md3 9:3 0 14.6T 0 raid1
`-vg3-lv3 252:3 0 14.6T 0 lvm /mnt/md3
mtdblock0 31:0 0 128K 0 disk
mtdblock1 31:1 0 512K 0 disk
mtdblock2 31:2 0 320K 0 disk
mtdblock3 31:3 0 1.4M 0 disk
mtdblock4 31:4 0 64K 0 disk
mtdblock5 31:5 0 7.5M 0 disk
mtdblock6 31:6 0 5.5M 0 disk
--下面是关于如何讲已有的raid1分区改为只在一个硬盘上,具体原理是通过将不需要的硬盘通过命令移除raid1分区,只剩下需要的盘
系统分区改为指定盘,取消raid1
mdadm /dev/md8 --fail /dev/sda3
mdadm /dev/md8 --remove /dev/sda3
mdadm /dev/md8 --fail /dev/sdc3
mdadm /dev/md8 --remove /dev/sdc3
mdadm /dev/md8 --fail /dev/sdd3
mdadm /dev/md8 --remove /dev/sdd3
移除内存交互区(内存不够时才会用到)
mdadm /dev/md9 --fail /dev/sda2
mdadm /dev/md9 --remove /dev/sda2
mdadm /dev/md9 --fail /dev/sdc2
mdadm /dev/md9 --remove /dev/sdc2
mdadm /dev/md9 --fail /dev/sdd2
mdadm /dev/md9 --remove /dev/sdd2
--看磁盘raid状态,系统分区md8,内存交换分区md9:active raid1后面只有一个盘表示成功了
cat /proc/mdstat
md8 : active raid1 sdb3[25]
1997824 blocks super 1.2 [24/1] [U_______________________]
md9 : active raid1 sdb2[0]
2998208 blocks super 1.2 [24/1] [U_______________________]
通过命令设置硬盘休眠时间,感觉比铁威马设置里面更灵活点,更靠谱(查不到铁威马系统里面是通过什么命令设置的。。)
--在 smartctl -s standby,N 命令中,N 代表的单位是分钟。因此,N 指定了硬盘进入休眠模式之前的空闲时间,以N*5秒。
smartctl -s standby,60 /dev/sda
smartctl -s standby,60 /dev/sdc
smartctl -s standby,60 /dev/sdd
--查看硬盘是否在休眠状态,不会唤醒
smartctl -i -n standby /dev/sda
简单测试结果:
--会唤醒硬盘的操作:
1、登录TOS,会唤醒所有盘
2、ftp,nfs,smb读写硬盘文件夹里的数据,正常使用infuse,TNAS相册等不点进目录不会唤醒
docker应用等,内网穿透,nginx反向代理等只要没有读写其他盘数据,都不会唤醒其他硬盘。
虽然上面的操作会降低系统的安全和稳定性,但是还有补救措施,具体方法在下面资料,有兴趣同学可以看看哦
具体原理可以参考资料:
https://post.m.smzdm.com/p/ax02w5k2/?se ... from=other
https://post.m.smzdm.com/p/a202n0wp/?se ... from=other