我们在 ubuntu 11.04 上使用 MDADM 运行软件 raid1。摆脱它的最佳方法是什么?保留当前系统?
我想改用硬件 raid。
我尝试做的是:-使用 HDClone 复制软件 RAID 的 1 个磁盘。配置降级 RAID 阵列,不带第二个磁盘。然后使用 dd 实用程序将所有内容从 /dev/md0 复制到备用磁盘 /dev/sdb。但是复制不准确,所以我无法启动。我甚至尝试重新安装 grub,但都不起作用。执行此过程的最佳方法是什么?谢谢
答案1
我会将安装移至另一个驱动器。使用相同的 DD 实用程序,并在其上执行 grub 安装,以便它正常启动。之后设置您的硬件 raid,并从您设置的驱动器执行 DD 返回到新的硬件 raid 驱动器,并在该驱动器上执行 grub 安装,这样您就应该设置好了。
答案2
关于创建软件袭击您已选择将多个驱动器组合成一个逻辑单元。 在您的例子中,RAID1 只是镜像数据。 使用管理您通过对驱动器进行分区和相应配置来实现这一点。这正是磁盘克隆实用程序显然无法将您的数据移动到另一个驱动器的原因。
当然,您仍然可以将cp -a
数据从 RAID 复制(例如,通过使用或任何其他复制实用程序)到任何其他备用磁盘。
如果我们需要解决软件 RAID 问题,可以这样解决:
sudo umount /dev/md0
sudo mdadm --stop /dev/md0
sudo mdadm --zero-superblock /dev/sda1 /dev/sdb1
将此处显示的 RAID /md0 和驱动器 /sda 和 /sdb 的设置调整为您的设置。
之后,我们需要将分区类型从 RAID 改回正常,安装 Grub,并更新我们的 fstab。
也可以看看这个问题
答案3
这可能来得有点晚了......
dd 是克隆原始磁盘(或分区)的最佳工具,它的作用就在于此。
它复制原始数据,而不管(并且不知道)源上的文件系统/结构是什么(数据 + 元数据)> 因此请仔细考虑一下,因为这实际上意味着它将重建与源完全相同的目标。或更短>添加团队成员将创建一个团队成员.... 在您的情况下这将创建第二个降级阵列.... 这绝对不是您想要做的...
虽然 raid1 确实镜像了数据,但这并不意味着 raid 成员的原始数据是相同的(某些元数据会有所不同)
重新使用前团队成员的正确程序是使用
dd if=/dev/zero of=/dev/sdb bs=4k(不要复制粘贴此>根据需要更改输出设备。)
这将正确地将任何数据/元数据清零>这对于新磁盘也是一个好主意......
如果 raid 被用作系统磁盘 > 运行实时 cd (不要从正在运行的系统中复制)
重新分区/格式化/挂载已清理的磁盘挂载降级的 RAID 阵列并复制 RAID 内容
sudo rsync -HAXavx /media/raid1/ /media/newdisk/
以下仅当 raid 为系统磁盘时:
更改目标卷上的 fstab 中的 UUID(通过运行 blkid 找出新的磁盘 UUID)
通过运行 dd if=/dev/sda of=/dev/sdb bs=446 count=1 复制引导扇区(而不是像大多数人认为的那样使用 bs=512 > 使用 512 将覆盖您的分区表!!)
我现在假设目标磁盘安装为 /media/newdisk
sudo mount --bind /dev /media/newdisk/dev
sudo mount --bind /sys /media/newdisk/sys
sudo mount --bind /proc /media/newdisk/proc
sudo chroot /media/newdisk/ (并且在你修改了 fstab 中的 UUID 之后)
grub-install /dev/sdb (确保您已经重写了全新的引导加载程序)
更新 grub
退出(返回到非 chroot 环境)
sudo 重启
:-)