• 那是云首页
  • 快捷导航
  • 更多
    设为首页收藏本站
  • |
花生壳

群晖硬盘休眠教程——真正实现稳定磁盘休眠

群晖 Synology  / 教程分享  / 只看大图  / 倒序浏览   © 著作权归作者本人所有

#楼主# 2023-8-29 22:08

跳转到指定楼层
本帖最后由 superabbite 于 2023-8-29 22:10 编辑

前言:自己esxi虚拟机黑群晖,硬盘不休眠的话功耗太高了,可是用群晖自带的休眠功能又一直无规律的唤醒,很伤硬盘,网上的很多教程都试过了,都没办法彻底的休眠,所以在晚上搜集的各种资料尝试各种办法,最终达到了机械硬盘稳定休眠的目的。

适用范围:
群晖系统(理论黑白均可)6.x系统,必须有一块SSD固态硬盘,或者虚拟磁盘,raid需设置为basic或单盘shr,如果不是必要真心不建议组raid,因为异常断电阵列很容易故障,盘就挂了,单盘完全可以利用群晖自带的Hyper Backup功能定时冷备份。而且异常断电磁盘也不容易故障。这都是后话了。


套件:以下套件在休眠期间可正常运行,无需停用或卸载:Synology Drive,Synology Photos,DS Download,Surveillance Station,Plex;


服务:smb服务可正常使用。



总体思路:把SSD当作单一系统盘,不休眠;全部套件的存储空间位置和常驻服务套件的数据存储位置都设在SSD。使用mdadm工具将机械硬盘的群晖系统分区脱离开,仅做数据存储使用。使用hdparm工具设置机械硬盘的自动休眠时间。使用计划任务每日自动同步系统分区的数据,使用hyper backup每日备份系统设置和套件设置,应对ssd崩溃。

1、  命令查看raid状态
  1. cat /proc/mdstat
复制代码

1.jpg

2、从输出结果可以看到,md0和md1是多盘位的raid1状态,其中Md0由sda1\sdx(1)组成(x为硬盘编号),md1由sda2 /sdx2组成。可通过以下命令查看磁盘对应的设备名称(需root权限),避免热插拔和更换盘序之后,操作错误的硬盘

  1. fdisk –l
复制代码

步骤一:使ssd成为第一盘位,承载套件和主要活动存储
       建议使用重装系统的方法给ssd安装全新系统。重装时仅保留ssd,其他硬盘待系统装好后再插入。这样可以避免后加ssd造成的部分系统软件依然默认存储文件到hdd的问题。
       我是虚拟机部署的所以就是虚拟硬盘的方式,ssd同理,并且我是后续增加的虚拟硬盘,经历了多次硬盘热插拔才将虚拟硬盘变成各套件的主要存储位置(注意部分群晖不支持热插拔)。经过多次测试,对于raid类型basic或者单盘shr而言,拔除任一/任n个硬盘后再插入,改变硬盘的相对位置后再插入,拔除硬盘后删除相应的提示“已损毁”的存储池后再插入,均未导致个人数据的丢失。每次插入硬盘后,系统会提示存储池可以在线修复,点击“在线修复”以后,系统会将sda1/sda2分区加入md0/md1阵列,于是自动同步/重建该硬盘中分区的系统。
       如果不想重装系统加装ssd,首先通过hyper backup备份当前系统设置和必要的套件设置到非第一盘位硬盘(备份完应该是一个.hbk文件夹),保持hyper backup软件的打开状态,拔除第一盘位,删除第一盘位的存储池(通常是存储池1,注意一定先拔硬盘再删除,否则会造成数据丢失!)。插入ssd到第一盘位,新建存储池,新建存储空间(注意给ssd预留10-20%的保留空间不分配以延长寿命),顺利的话此时ssd就是存储空间1了。使用hyper backup还原设置。查看并确认套件中心的默认存储位置是存储空间1。关机。仅保留ssd。开机。系统应能正常启动,套件应能正常运行。插入其他硬盘并在线重建存储池即可,之前第一盘位的磁盘数据也在。尚不清楚不支持热插拔的机器是否能够按类似方法实现。
       给ssd装一个新系统应该是更好的办法,但是我没有测试。流程应该是:关机,拔除全部硬盘,仅插入ssd到第一盘位,开机,按提示安装系统和需要使用的套件,插入其他硬盘并在线重建存储池。我存在ssd里的数据包括:Synology Drive的同步盘,Synology Photos的照片数据,DS Download的下载目的地 QQ截图20230829220904.png QQ截图20230829220918.png QQ截图20230829220930.png

步骤二:将机械硬盘的操作系统分区脱离raid
群晖会提示系统分区已降级,存储管理器中会有警告,注意不要点修复。
使用如下命令查看md0和md1阵列包含的磁盘分区:(md1是虚拟内存分区实际测试发现不影响休眠可以不脱离,目前没有发现有任何影响)
  1. mdadm -D /dev/md0
  2. mdadm -D /dev/md1
复制代码

2.jpg

1、在群晖定时任务中新建disconnect_internal_raid(脱离系统分区),输入如下命令,每天1.15自动运行
  1. mdadm /dev/md0 --fail /dev/sdf1
  2. mdadm /dev/md0 --fail /dev/sdd1
  3. mdadm /dev/md0 --remove /dev/sdf1
  4. mdadm /dev/md0 --remove /dev/sdd1
复制代码

3.jpg

2、新增任务rebuild_internal_raid(恢复系统分区),设置脚本如下,每日1点自动运行:
  1. mdadm /dev/md0 --add /dev/sdf1
  2. mdadm /dev/md0 --add /dev/sdd1
复制代码

4.jpg


步骤三:使用hdparm设置硬盘定时休眠

该功能不依赖群晖系统的硬盘休眠功能,所以为避免冲突,应将控制面板中的休眠功能关闭。
新建计划任何设置开机自动运行脚本
通过以下命令,设置硬盘闲置15分钟以后休眠:
  1. hdparm -S 180 /dev/sdd
  2. hdparm -S 180 /dev/sdf
复制代码

5.jpg

可使用此命令查看磁盘的休眠状态:
  1. hdparm -C /dev/sdd
  2. hdparm -C /dev/sdf
复制代码


6.jpg

步骤四:设置定时休眠状态检查保存日志
新建计划任务HDD_log1,设置脚本,每20分钟检查
  1. echo `date` `hdparm -C /dev/sdd | grepstate` >> /usr/local/etc/rc.d/raid1_monitor.log 2>&1
复制代码

7.jpg 8.jpg




最后计划任务如图:
QQ截图20230829220147.png
休眠日志如图:
只有在计划任务同步分区系统的时候才会被唤醒,平时没有访问硬盘一直处于休眠状态。只有在使用的时候才会被唤醒
QQ截图20230829220604.png
QQ截图20230829220726.png







那是云论坛 - 国内知名的NAS交流平台
http://www.nasyun.com
分享淘帖
回复 印象

使用道具

0

精华

21

回帖

107

积分

入门用户

Rank: 1

云币
0
贡献
0
活跃
96
精华
0
he674963336 发表于 2024-4-10 22:05 来自 中国重庆
本帖最后由 he674963336 于 2024-4-11 20:26 编辑

有效终于找到了 、                     
休眠了但是硬盘日志是这样的


Thu Apr 11 03:20:01 CST 2024
Thu Apr 11 03:40:01 CST 2024
Thu Apr 11 04:00:01 CST 2024
Thu Apr 11 04:20:01 CST 2024
Thu Apr 11 04:40:01 CST 2024
Thu Apr 11 05:00:02 CST 2024
Thu Apr 11 05:20:01 CST 2024


回复 支持 反对 印象

使用道具 举报

0

精华

4

回帖

19

积分

入门用户

Rank: 1

云币
0
贡献
0
活跃
17
精华
0
qinscx 发表于 2024-4-18 10:56 来自 中国湖南邵阳
在 DSM 7.2.1-69057 Update 5 版本上操作完成。提示一下,最后备份日志那里,grepstate要写成grep state,不然无法正常取得日志
回复 支持 反对 印象

使用道具 举报

0

精华

409

回帖

1000

积分

发烧玩家

Rank: 2

云币
0
贡献
30
活跃
643
精华
0
茄子jun 发表于 2024-4-19 10:24 来自 中国天津
有效终于找到了有效终于找到了有效终于找到了
回复 支持 反对 印象

使用道具 举报

0

精华

409

回帖

1000

积分

发烧玩家

Rank: 2

云币
0
贡献
30
活跃
643
精华
0
茄子jun 发表于 2024-4-20 08:46 来自 中国天津
有效终于找到了有效终于找到了有效终于找到了
回复 支持 反对 印象

使用道具 举报

0

精华

4

回帖

19

积分

入门用户

Rank: 1

云币
0
贡献
0
活跃
17
精华
0
qinscx 发表于 2024-4-20 10:04 来自 中国湖南长沙
验证了几天,的确有效。我现在系统和套件都装在volume1的ssd上,平常如果只用套件的能力,比如docker,xiaoya,歪批蒽 server之类的,不涉及到数据盘,基本上不会唤醒硬盘。日志如下:
Sat Apr 20 02:20:01 CST 2024 sata3: drive state is: standby
Sat Apr 20 02:20:01 CST 2024 sata4: drive state is: standby
Sat Apr 20 02:40:01 CST 2024 sata2: drive state is: standby
Sat Apr 20 02:40:01 CST 2024 sata3: drive state is: standby
Sat Apr 20 02:40:01 CST 2024 sata4: drive state is: standby
Sat Apr 20 03:00:01 CST 2024 sata2: drive state is: standby
Sat Apr 20 03:00:01 CST 2024 sata3: drive state is: standby
Sat Apr 20 03:00:01 CST 2024 sata4: drive state is: standby
Sat Apr 20 03:20:01 CST 2024 sata2: drive state is: active/idle
Sat Apr 20 03:20:01 CST 2024 sata3: drive state is: active/idle
Sat Apr 20 03:20:01 CST 2024 sata4: drive state is: active/idle
Sat Apr 20 03:40:01 CST 2024 sata2: drive state is: standby
Sat Apr 20 03:40:01 CST 2024 sata3: drive state is: standby
Sat Apr 20 03:40:01 CST 2024 sata4: drive state is: standby
Sat Apr 20 04:00:01 CST 2024 sata2: drive state is: standby
Sat Apr 20 04:00:01 CST 2024 sata3: drive state is: standby
Sat Apr 20 04:00:01 CST 2024 sata4: drive state is: standby
中间有唤醒,是因为3点设置了硬盘重新挂载,用来同步各盘上系统的raid
回复 支持 反对 印象

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回列表 搜索 官方QQ群
懒人地图| 手机版|小黑屋| 智能生活 , 上那是云 |闽ICP备2020018196号-1 |网站地图