发布于 
pv: - | uv: -

记一次 RAID 硬盘离线

事故

使用 Dedipath 的服务器应该已经超过三年了吧。价格便宜,客服服务也挺不错的。但是,这次的事情,让我对其服务的可靠性及服务态度产生了怀疑。

事情应该是发生在今年的12月1日,收到Uptime-Kuma发来的邮件, 说我的 OpenID 的后端似乎离线了。

检查了一下,发现其所在的服务器 文件系统变成了 Readonly Filesystem . 无奈,只能发工单联系其客服,客服给出的回复是:

We are currently trying to run maintenance on the host server for this node. We will contact you once we have an update. Sorry for the delay. and thank you for your patience.

简单来说,就是我们正在对宿主机所在的节点进行回复。但其并没有任何的预先通知,再次询问过后,客服给出了如下的回复:

VPS’ on Node Los Angeles OpenVZ Node DC04R11SRV36
We discovered a disk in this node which fell out of the RAID-10 array, but was marked as in good health. As such, we re-added the disk to the array, but for unknown reasons, we immediately begun to see file system errors.
As such, we are requesting that all customers on this node login to SSH (we have tested SSH on various VMs and it does respond) and create a backup of any important data. Once complete, please open a technical support ticket and request that we re-create your VPS on a new node.
Our sincere apologies for the troubles caused. We are not sure why the behaviour that occured has occured, but an examination into our processes will be undertaken to try and prevent such issues from re-occuring.

简单来说,就是因为 RAID-10 阵列的一块硬盘离线, 但其 SMART 数据显示状态正常。将其重新加入到阵列中,但是出现了文件系统错误。

什么是 RAID

可能有的人不懂什么是 RAID, 这里简单的介绍一下.

RAID, 即磁盘阵列。通常由多块硬盘组成,通过硬件或者软件的方式,将多块硬盘组合成一个逻辑的磁盘,以提高数据的可靠性和可用性。

此处使用的 RAID-10 至少需要4快硬盘。可以理解为 RAID10 是: 2快硬盘组成 RAID1,再由2组 RAID-1 组成 RAID-0。

通常来说, 这似乎能够允许最少两块硬盘的损坏,不会影响数据的可靠性和可用性。

给出的解决方案

Dedipath 给出的解决方案是: 给我在一个新的 node 上重新开一台 VPS。

在我询问对于我原先的数据如何迁移,以及这期间造成的损失时,客服表示,他们没有 SLA 赔偿协议。

It is your responsibility to maintain frequent backups of your data. We are not liable for any data loss.

挺离谱的,但还好对于数据库有定期备份,所以并没有造成太大的损失。

反思

不论使用的是一些不知名的服务商,还是一些大厂如腾讯云,阿里云。对于服务器,还是建议对其进行定期备份。

DB-Backuper

对于数据库的备份,花了点时间,通过 Golang 实现了一个简单的数据库定时备份工具: DB-Backuper

目前仅支持 Mysql, 以及自动备份至腾讯云的对象存储。