![磁盘发生故障后无法启动软件 RAID1](https://linux22.com/image/653002/%E7%A3%81%E7%9B%98%E5%8F%91%E7%94%9F%E6%95%85%E9%9A%9C%E5%90%8E%E6%97%A0%E6%B3%95%E5%90%AF%E5%8A%A8%E8%BD%AF%E4%BB%B6%20RAID1.png)
今天重启数据服务器后,我无法启动,因为其中一个驱动器无法再被识别,当我连接它时它仍在旋转,除了几秒钟的非常轻微(有点静音)的滴答声外,没有发出很多奇怪的声音。我尝试使用不同的电缆甚至另一台计算机来连接它,但都没有成功。
我大约在一年前设置了这个服务器,从那以后就没有怎么关注过它,我是 Linux 世界的新手,这一切来得太突然,所以我的信息有点缺乏。
无论如何,有问题的驱动器是我使用 mdadm 创建的 RAID1 设置的一部分,该设置由 2 个 2TB 驱动器、sda 和 sdb 组成,我想我可能无法在 sdb 上安装 grub 或类似的东西?因为当我现在启动服务器时,它唯一显示的是闪烁的下划线。
我不确定当时我是如何配置分区的,但我似乎记得我为 grub、系统和数据等创建了一个单独的分区。但我不确定我是否将 grub 分区设为 RAID 的一部分,这是否可能......我猜不可能?如果不可能,那么我可能在仍处于活动状态的磁盘上丢失了 grub。
现在我最好、最安全的选择是什么?因为我真的不想丢失数据。我明天要买一个新硬盘(相同型号),但我想我必须能够启动系统来重建 RAID。
答案1
我在这里回答我自己的问题,因为我设法在一段时间后解决了它。
我做的第一件事是从http://www.supergrubdisk.org/。这是一个*.iso文件,下载完成后,将其重命名为*.img。
接下来,将一个空的 USB 驱动器插入您的电脑,下载并安装 UNetbootin,打开它并选择“Diskimage”,在下拉菜单中选择“软盘”而不是 ISO,选择您在上一步中重命名的超级 Grub2 磁盘,选择您的 USB 驱动器并点击确定。
完成后,您必须使用该 USB 启动服务器。由于我使用的是 RAID1,因此 Super Grub2 Disk 中的“Everything”菜单找不到我的操作系统,但“Everything+”可以找到。
所以我选择了我的操作系统并且它启动正常,然后我做的第一件事就是使用 rsync 备份所有内容,以防万一。
为了重建我的 RAID1,我遵循了本教程 -https://stavrovski.net/blog/how-to-replace-a-failed-hard-drive-in-raid1-array- 因为这和我遇到的情况几乎一样(除了分区已被标记为失败,我无法删除它们,因为它们可能已经被删除了?为确保万无一失,我应用了此线程中一个答案的答案 -从 Linux 软件 RAID 阵列中删除处于“已移除”状态的设备)。
祝所有遇到同样问题的人好运;)
答案2
例如,您可以在 USB 上安装引导程序 (grub) 并尝试从中启动。之后,您可以尝试从 grub shell 中找到 raid 上的启动分区。此外,RAID 可能无法从降级阵列启动 rootfs(您需要 mdadm --run --force array_name
从 intiramfs 运行才能解决此问题)。祝您好运!