将 CloneZilla 与软件 RAID5 结合使用

将 CloneZilla 与软件 RAID5 结合使用

我想对我的软件 RAID5 配置(3 个驱动器)进行映像,然后将其移动到一组新的硬盘驱动器。由于 CloneZilla 不支持软件 RAID,我希望执行以下操作:

  1. 使用 CloneZilla 在外部 HDD 上创建每个设备的映像(从/dev/sda/sda.img以及 和sdbsdc

  2. 将新硬盘连接到计算机。

  3. 使用 Clonezilla 将每个图像恢复到相应的设备(从sda.img到新的/dev/sda,同样对于sdbsdc

  4. 使用sdasdb、创建新的 RAID5 。sdcmdadm

这个程序行得通吗?我担心单独拍摄驱动器的映像是否可以使其与新的 RAID 一起使用。

答案1

您可以像您想象的那样克隆硬盘驱动器,但我建议从等式中完全删除 CloneZilla。

我认为你应该这样做:

  1. 确保跟踪哪些驱动器是旧驱动器、哪些驱动器是新驱动器,以及哪个磁盘映像来自哪个驱动器。
  2. 绝对确保md设备已卸载并停止!假设是,则/dev/md0(以 root 身份)执行。umount /dev/md0mdadm --stop /dev/md0
  3. 确保您的外部硬盘驱动器上有文件系统并安装它。我将用作/mnt演示的安装点。
  4. 确保您有xz可用的压缩机。如果不这样做,您可以使用,但请确保在命令中gzip替换xz为并使用文件而不是!gzip.gz.xz
  5. 对于每个驱动器,运行(在根 shell 中)cat /dev/sdX | xz > /mnt/sdY.img.xz/dev/sdX将是您从中克隆的驱动器,也是sdY.img.xz我们将要创建的映像的名称。确保替换sdX为适当的驱动器(例如/dev/sda)并分别命名您的映像。 (对于克隆的第一个驱动器,将其命名为sd1.img.xz)。正如我想象的那样,您的外部驱动器很快就会被填满,因此您可能应该执行步骤 4,然后返回到步骤 3 以获取下一个驱动器。这样,外部驱动器将仅充当一个硬盘驱动器的缓冲区,而不是阵列中所有硬盘的缓冲区。
  6. 现在我们要恢复驱动器。当您安装了外部硬盘驱动器并连接了新驱动器后,运行(在 root shell 中)cat /mnt/sdY.img.xz | xz -d > /dev/sdXwhere sdY.img.xzis your disk image and/dev/sdX是您想要克隆到的新驱动器。
  7. 现在每个驱动器应该有两个副本,因此我们需要确保mdadm不会混淆哪个驱动器是哪个驱动器。我们可以通过覆盖旧驱动器来做到这一点,但我们只会覆盖前 64 MiB 以确保所有超级块和分区表都消失。对于每个旧驱动器执行(作为root!)dd if=/dev/zero of=/dev/sdX bs=4M count=8。如果您希望完全覆盖驱动器(可能安全地擦除其内容),您可以cat /dev/zero > /dev/sdX以 root 身份进行操作。
  8. 现在,每个驱动器应该只有一份副本,全部位于新驱动器上!mdadm应该以相同的方式查看它们,因此您不必进行任何重新配置​​。

相关内容