Nic*_*ick 6 raid ubuntu ubuntu-9.04 raid1
我有(有)一个 RAID 1 阵列(2 个磁盘镜像),其中一个磁盘 sda 出现故障。所以我用一个新磁盘替换了坏磁盘,但似乎被困在如何让第二个驱动器备份并作为阵列的一部分运行。
系统运行的是Ubuntu Server 9.04,配置如下:
MD0 => sda1,sdb1
MD1 => sda3,sdb3
MD2 => sda2,sdb2
mdadm --detail /dev/md0
Run Code Online (Sandbox Code Playgroud)
显示两个驱动器:
0 /dev/sdb1 "Active Sync"
1 [nothing] "Removed"
Run Code Online (Sandbox Code Playgroud)
MD1 和 MD2 看起来一样。
我发现的教程说使用以下命令将每个分区标记为失败:
mdadm --manage /dev/md0 --fail /dev/sda1
Run Code Online (Sandbox Code Playgroud)
但是,由于驱动器不在那里,我得到:
mdadm: cannot find /dev/sda1: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我可以跳过失败的步骤吗?或者是否有其他方法可以使不再存在的分区失败?或者,如果我将分区表从旧驱动器复制到新驱动器,它会自动选择它是替代品吗?
我是新手,不想搞砸。:)
你不应该让他们失败。因为当您第一次注意到问题时它们应该已经失败了,现在删除了 RAID 成员。只需几个步骤即可使其恢复运行。
在替换磁盘上设置分区。这些分区的大小应与故障磁盘和当前活动磁盘的大小相同,并应标记为分区类型“Linux RAID Autodetect”(0xFD)。您可以通过复制分区表来简化此操作sfdisk。
sfdisk -d /dev/sdb | sfdisk /dev/sda
Run Code Online (Sandbox Code Playgroud)如果该磁盘之前已被使用过,您可能需要确保在再次开始之前删除任何现有的 softRAID 信息。
mdadm --zero-superblock /dev/sda
Run Code Online (Sandbox Code Playgroud)将 MBR 安装到新磁盘上,使其可启动。从grub外壳执行此操作。假设这/dev/sda是第一个磁盘。
root (hd0,0)
setup (hd0)
quit
Run Code Online (Sandbox Code Playgroud)将新分区添加回阵列。
mdadm --add /dev/md0 /dev/sda1
mdadm --add /dev/md1 /dev/sda3
mdadm --add /dev/md2 /dev/sda2
Run Code Online (Sandbox Code Playgroud)通过查看监控他们的重建状态/proc/mdstat。您可以自动执行此操作。
watch -n10 cat /proc/mdstat
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
5567 次 |
| 最近记录: |