我在 md RAID5 上运行 Ubuntu 服务器。我开始遇到一个磁盘问题,我收到了来自 mdadm 的以下电子邮件:
A DegradedArray event had been detected on md device /dev/md/0.
md0 : active raid5 sdb2[1](F) sdd2[2] sda2[0]
1952861184 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [U_U]
md1 : active raid0 sdb3[1] sdd3[2] sda3[0]
2927924736 blocks super 1.2 512k chunks
以下是来自 smartd 的内容:
Device: /dev/sdb [SAT], Self-Test Log error count increased from 0 to 2
Device info:
ST2000DM001-1CH164, S/N:Z1E3M3TE, WWN:5-000c50-050534ead, FW:CC24, 2.00 TB
md0 是我的/,而 md1 仅用于存储一些不重要的数据。
所以,sdb 肯定崩溃了……问题是,系统似乎不知何故崩溃了,无法再启动。bios 一启动屏幕就变黑了,仅此而已……我原本以为它仍然会在 2 个磁盘上启动并且速度很慢,但事实并非如此。知道为什么吗?
我想尽快以降级模式启动服务器,因为我需要服务器运行,但我不知道该怎么做。你能提出一些建议吗?这样我就能修复 raid5 卷了,不是吗?
您认为错误是否局限于磁盘,我能够修复并恢复到稳定状态,或者磁盘已坏,我需要购买一个新的磁盘?
感谢您的帮助。
答案1
您是否设法到达引导加载程序?如果是,请删除所有“spash”或“quiet”选项以获取尽可能多的输出。
如果它甚至无法进入引导加载程序,我只能想象磁盘严重损坏并以某种方式阻止了整个 SATA 控制器的运行。您可以物理拔下发生故障的驱动器(您在电子邮件中有序列号),然后尝试它是否可以启动。它应该从降级的 Raid5 启动,并让您更换磁盘并重新同步。
我肯定会买一个替换磁盘,无论如何你都需要它!
答案2
我假设你没有忘记在所有磁盘上安装 grub。如果这是我认为的问题,那么这个问题已经众所周知并被忽视多年了。因为文档说它受支持,所以发行版中可以修复它的人不承认这一点。他们甚至说要添加一个内核命令行选项,如“bootdegraded=1”,但这似乎没有任何作用。
您无法可靠地启动具有 1 以外的 raid 级别的 mdadm。并且您无法可靠地启动具有 0.90 和 1.0 以外的元数据版本的 mdadm。文档等都说支持任何内容,但它们在某些情况下(例如降级时)根本无法正常工作。(某些发行版修复了元数据,但它们不会警告您有关 raid 级别...例如,Ubuntu 的安装程序甚至会使用元数据 1.2,尽管这不是一个好主意)。因此,您应该早就在单独的 /boot 阵列上使用 raid1 和元数据 0.90 或 1.0 构建阵列。
现在要修复它,我想您可以启动救援系统,然后释放磁盘上的一些空间,或者新磁盘,并创建单独的 /boot。或者只使用救援系统重建磁盘 1(不要忘记将 grub-install 到新磁盘)。