TL;DR;
三盘 RAID5 / RAID-Z 千万千万千万一定一定一定不能使用同一批次的硬盘
危险操作前必须备份
万恶之源 – 物理攻击
物理世界的攻击总是让人猝不及防,断电和断网是运维选手永恒的梦魇。
明明已经接上了 UPS 结果还是断电了。断电之后的第一次开机并没有察觉到什么异常,直到改了一次内核参数准备重启后才发现:WTF?为啥打不开了??
又等了几分钟,准备放弃治疗远程让人看下啥情况时,机器又能 ssh 上去了?既然能上去那应该没有啥问题了吧(可能网络问题卡了下吧),于是准备下班跑路了。
但是这就如同暴风雨前的宁静,不正常的现象套上正常的外表必然是有问题的。为了安全起见还是都检查了一遍,结果发现:3 盘 RAID-Z 阵列竟然炸了一块盘???
好了,既然已经知道炸了一块盘,那么只能尝试把这块盘给找回来了。一开始以为是 Linux kernel 对 m.2 硬盘支持不太好导致的软件层面掉盘,顺手查了一下网上的 issues 好像确有其事,于是尝试改内核参数来试图修好这块盘。
But,后来发现,好像 m.2 掉盘都是 Linux kernel 太老导致的,这个 pve 上用的是最新的 stable 内核,理论上应该没有问题啊。那么没办法,看来是抢救不回来只能换盘重建了。
人祸 – 无备份进行危险操作
理论上,RAID-Z 这种三盘冗余阵列在坏掉一块盘以后是可以换盘重建的,而且 ZFS 看起来也挺好操作的。那么换盘就应该没有问题了吧。当时没想太多,换就完事了。对了,机器是 9 代幽灵峡谷,换盘是要拆掉几乎所有零件才能换的。
那么,问题出来了,在断电换盘之前,我忘了备份!
局势急转直下,拆下来以后,由于三块盘是同型号同批次一起买的,没过一会第二块盘也坏掉了!
由于我是远程维修,当听到了又坏了一块盘的噩耗之后,我的心是冰冰的(
于是,这个故事就到此结束了,RAID-Z 三盘连续掉两盘,数据是铁定虚无了。由于是测试服务器,数据损失有几个做好的虚拟机/容器模版和几个业务脚本及跑服务的虚拟机/容器,还有一个数据库和备份存档。
事后
数据丢失的怒火该怎么发泄呢,当然是去和狗东 battle 啦(x
结果,由于当时购买硬盘有些混乱,售后又和狗东 battle 了很久,虽然最后还是换新了,但是我的数据啊!!
事后总结了下,主要问题还是出在了备份上。要是有备份,谁又会在乎那块硬盘呢。
最后,组 RAID 千万不要用同型号同批次的硬盘。虽然早有所耳闻,但是亲身体会一次还是更加令人记忆深刻(希望没有下次了)。
祝各位运维大哥们服务器不断电不断网,硬盘不满数据不掉。
发表评论
沙发空缺中,还不快抢~