使用现有驱动器在 14.04 上设置 RAID 1

Sha*_*yne 15 raid mdadm hard-drive

我有一个当前安装的 Seagate ST3000DM001(大约 90% 已满)和一个新的 Seagate ST3000DM001(空白)。我想在不丢失当前安装的驱动器上的数据的情况下设置 RAID 1。

如果我使用本教程中概述的 mdadm 过程:http : //www.mysolutions.it/tutorial-mdadm-software-raid-ubuntu-debian-systems/,我的数据会被保留吗?

Lui*_*ado 19

这是可能的,但要知道镜像需要一些时间才能完成,因为我们谈论的是 3 TB。我会做的是:

  1. 首先准备磁盘,gdisk因为fdisk不能做大于2TB的分区。让我们假设创建的分区是sdb1

  2. 运行sudo mdadm --create --verbose /dev/md0 --force --level=1 --raid-devices=1 /dev/sdb1。这里的重要部分是告诉 mdadm 您现在正在将--raid-devices=1一个磁盘用于 RAID 级别 1。

  3. 格式化新创建的 RAID 分区并将所有内容从原始磁盘复制到该分区。

  4. 现在通过发出以下命令准备要包含在 RAID 中的另一个驱动器(假设原始驱动器是sda1

    sudo mdadm --grow /dev/md0 --raid-devices=2 --add /dev/sda1
    
    Run Code Online (Sandbox Code Playgroud)

    这将增大 RAID 阵列 (md0),将其上的设备数量设置为 2(sdb1、sda1)并将原始 sda1 添加到其中。

您可以检查它的过程,它sudo mdadm --detail /dev/md0应该在最后显示如下内容:

Number   Major   Minor   RaidDevice State
   0       8       49        0      active sync   /dev/sdb1
   1       8       65        1      spare rebuilding   /dev/sda1
Run Code Online (Sandbox Code Playgroud)

完成后:

Number   Major   Minor   RaidDevice State
   0       8       49        0      active sync   /dev/sdb1
   1       8       65        1      active sync   /dev/sda1
Run Code Online (Sandbox Code Playgroud)

我建议在此之后重新启动以使 Nautilus 正确查看 RAID。您可以验证这是否有效,但在安装设备的同时删除其中一个驱动器,并且仍然能够执行或查看其中的视频。当然,--detail上面的输出将类似于:

Number   Major   Minor   RaidDevice State
   0       0        0        0      removed
   1       8       65        1      active sync   /dev/sda1
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我断开了驱动器的连接sdb,仍然可以处理信息。

更新:从util-linux2.24 开始,fdisk 不支持分区 2+ TB,并且支持 GPT 方案。此支持已登陆 Ubuntu 14.10。除此之外,界面变得更加友好,并且支持更好的人类可读尺寸。可以在以下位置找到整体更改:

util-linux 2.24 -发行说明
util-linux 2.25 -发行说明