记一次黑群晖系统分区挂掉后抢救数据全过程
一、最重要的数据盘挂掉了!!
之前一直和大家强调保护nas热数据的重要性,因为群晖里面常用的热数据绝大多数都是你在nas里面部署的服务。这些服务一旦挂掉,可能会连累到整个系统服务,不过得益于群晖对于基础系统在所有硬盘上做了raid1,即便挂掉了几块盘,只要还有一块硬盘存活,那么整个系统就不会立刻崩掉,你还有时间进到群晖的系统抢救数据。
果然,淹死的都是会水的。
各位喜闻乐见的环节到了,今天就给大家看看热数据不做raid1是个什么下场。
大概是几天前的早晨,冬天醒来嘛,第一件事肯定是不想起床,拿起手机翻一翻新闻啊,看看小说有没有更新呀之类的。我习惯性的点进去阅读页面,准备看看小说。结果死活进不去,我脑子一激灵,是不是我的all in one服务器又boom掉了?然后打开了另一个APP,发现网络正常,难道是黑群崩了?然后看了一下我的群晖SMB共享,发现可以正常查看文件,那是哪里出问题了呢?
看着文件列表,突然发现不对,发现少了很多文件夹!然后迅速打开电脑,发现群晖右下角出现了红色的警告,心里暗道不妙,果然打开存储管理器,发现存储热数据——也就是套件和docker数据的SSD硬盘掉盘了!!!群晖直接提示缺失硬盘。
怀着侥幸心理,我把整个服务器重启了几遍,终于在第五次,群晖又认到了盘,但已经回天乏力,提示系统分区损毁,整个存储池进入只读模式,而且这个系统分区损坏是不可恢复的!(小tip:群晖提示系统分区损毁,请先查看存储管理器首页是否有提示修复,如果出现修复选项,代表该硬盘上的系统分区是可修复的,点击修复后数据是不会丢失的)
然后我查看了群晖官方文档,发现这种情况只能是回天无力,必须迁移处于只读模式的存储池数据后,删除存储池来消除系统警告提示。
二、抢救数据
值得庆幸的是,黑群上没有放什么重要的套件数据,虽然nastool套件在这台机子上,但是有一个月之前的备份,回滚一下,问题不大。唯一需要迁移的就是docker数据,但是奈何docker套件也是安装在这个存储池,也就意味着现在不能用群晖常规迁移docker数据的方法(即使用导出docker容器)来迁移了。
情况比较紧急,因为硬盘随时有可能继续挂掉。也懒得想什么骚操作了,当机立断,把docker文件夹整体复制到了群晖的机械硬盘阵列中,幸好中间没出什么问题。
上午在京东自营购买了新盘,下午到货接上后。开始从套件中心挨个把套件下载安装回来,费了不少时间,即便大部分套件只需要简单修改配置,但架不住数量实在太多。docker的话,先在新存储池上新建一个docker共享文件夹,把之前迁移的docker数据整体复制进去,然后就只能一个一个把docker容器再建起来。虽然说,只要所有文件映射进新的docker容器里面来,也就不需要额外配置即可恢复服务,但隔的时间太长,大部分容器所需要的参数已经记不住了,还得一个一个去翻docker hub或者作者GitHub上的说明,费了好大力气。
三、返修旧盘+购买新盘
当天早晨发生掉盘后,立马在京东申请了返修,这块坏掉的硬盘是两年多前一块小主机上装的msata硬盘,480G容量,闲置后,我用了masta转SATA转接器将其接到了nas上。这块硬盘是三年保修,京东自营售后快的这点优势就体现出来了。我上午上传了硬盘掉盘的照片,申请返修,很快供应商就审核通过,下午快递员就取走了坏盘。本来以为会返厂维修,毕竟页面提示是京东自营&供应商售后,不过在第二天晚上到达京东备件库后,京东立马生成了换新订单,重新计算了保修,第三天上午就到了,和另一块新买的SATA固态组了raid1。要不是这次掉盘恢复数据比较麻烦,换了重新计算保修的新盘本来还是挺开心的。
另一块新购买的盘这里就不赘述了,之前的文章里面已经多次推荐过了,说几个关键参数就好:移速480G固态硬盘,质保为320TBW,保修五年,页面提示为京东自营&售后。可以说,质保条款非常好,但是里面盘体本体可能不尽如任意,毕竟到手价只有145元,这种盘主要做好数据备份,还是很好用的。
四、经验教训
4.1 重要数据所在盘一定要做好raid1
这其实也是为什么群晖系统设定必须是raid1阵列才能开启nvme固态硬盘缓存,那些正在下载的影音文件之类的中途缺失了还能重新下回来,但类似于套件和docker这些热数据,一旦硬盘挂掉,不仅会影响它们提供的服务,可能还会直接系统整体的稳定性以及其他数据的存储,最差的情况就是可能会丢掉所有数据。
因此我在之前的文章里面也强调,将热数据放进固态硬盘里面,虽然可以有效降低机械硬盘带来的噪音,但一定要做好raid1,至少双盘raid1,保证一块盘坏掉的情况下,系统整体数据的完整性。
4.2 docker部署命令也需要做好备份
这次恢复docker容器的一个深刻教训就是,当时部署docker时的参数或者命令最好都保存下来。不然,在恢复容器的时候,再去一个一个找实在太麻烦了。
这里我还找到了一个docker命令备份的好方法,也非常适合容器恢复,那就是利用群晖的计划任务来存放docker部署命令,而且将docker部署命令放入计划任务之后,以后随时可以一键在计划任务里面部署,也不需要ssh连接群晖,非常方便。具体教程之后会统一放在群晖的docker部署教程里面,这里仅提供示例。
4.3 重要但不常用的套件最好不要放一块
类似于Active Backup for Business这类备份套件,尽量不要放在热数据盘里,因为只要固态硬盘挂掉,这些套件本身也会跟着挂掉。虽然在机械硬盘存储的快照可以不依赖套件直接获取时间线,从而恢复数据到某一个时刻,但始终不如直接使用备份套件本身恢复数据来的方便。
五、总结
今天给大家展示了一个我的反面案例,虽然没有大面积的数据丢失,但恢复数据整整折腾了三天时间,非常耗费精力。而且重新部署套件和docker非常恶心人。希望我的教训可以帮助到大家。
永远记住:“硬盘有价,数据无价”。
力所能及的情况下,请尽可能保护重要数据的安全!
这就是本期的全部内容了,如果这篇文章对您有帮助的话,欢迎您在评论区多多讨论,也欢迎关注、点赞、打赏一键三连,您的支持是我创作的动力。
我是冥冰薇,我们下期群晖tip再见。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~








wangx024
校验提示文案
思水忆晶
校验提示文案
shcubert
校验提示文案
炫彩丶
校验提示文案
张大妈爱购物
校验提示文案
思水忆晶
校验提示文案
sjrnf
校验提示文案
炫彩丶
校验提示文案
小鑫哦吼
校验提示文案
凡尘漂浮
校验提示文案
糖炒麦芽糖味阿斯巴甜
校验提示文案
Martix
校验提示文案
loserrr
校验提示文案
loserrr
校验提示文案
Martix
校验提示文案
糖炒麦芽糖味阿斯巴甜
校验提示文案
凡尘漂浮
校验提示文案
小鑫哦吼
校验提示文案
炫彩丶
校验提示文案
思水忆晶
校验提示文案
sjrnf
校验提示文案
思水忆晶
校验提示文案
wangx024
校验提示文案
张大妈爱购物
校验提示文案
炫彩丶
校验提示文案
shcubert
校验提示文案