Ubuntu 12.04 - 在现有设备上添加 RAID 1 阵列?

sen*_*ale 1 raid software-raid raid-1 ubuntu

我阅读了如何在 Ubuntu 10.04 中添加 RAID 1 阵列在现有 Ubuntu 服务器上安装 Raid 1。但是,我只有以下 2 个硬盘:

dev/sdb1 当前运行 Ubuntu 12.04 的地方

dev/sda1 空盘

我想在这两个硬盘上创建一个 RAID,但我不想删除sdb1分区,因为 Ubuntu 工作正常。

如何在现有设备上创建 RAID?

我表演

mdadm --create /dev/md0 --level=1 --raid-devices=2 missing /dev/sda1
Run Code Online (Sandbox Code Playgroud)

然后

 mkfs -t ext2 /dev/md0 
Run Code Online (Sandbox Code Playgroud)

我跑

echo "DEVICE partitions" > /etc/mdadm/mdadm.conf
mdadm --detail --scan >> /etc/mdadm/mdadm.conf 
Run Code Online (Sandbox Code Playgroud)

然后我改变开机md0grub2

menuentry 'Ubuntu, with Linux 3.2.0-23-generic' --class ubuntu --class gnu-linux --class gnu --class os {
        recordfail
        gfxmode $linux_gfx_mode
        insmod gzio
        insmod part_msdos
        insmod ext2
        set root='(md0)'
        search --no-floppy --fs-uuid --set=root 8fff7794-a156-46d2-92f8-4931d42abf36
        linux   /vmlinuz-3.2.0-23-generic root=/dev/mapper/ubuntu--server-root ro
        initrd  /initrd.img-3.2.0-23-generic
}
Run Code Online (Sandbox Code Playgroud)

但是,当我想添加

mdadm --manage /dev/md0 -a /dev/sdb1
Run Code Online (Sandbox Code Playgroud)

我总是得到

mdadm: Cannot open /dev/sdb1: Device or resource busy
Run Code Online (Sandbox Code Playgroud)

Mik*_*eyB 5

在终端中使用以下sudo命令创建一个带有“缺失”设备的新 RAID1 阵列(可能必须使用该命令):

# mdadm --create /dev/md0 -n 2 -l 1 /dev/sda1 missing
Run Code Online (Sandbox Code Playgroud)

您将能够将所有数据移动到/dev/md0,使用它启动,然后添加/dev/hdb1到镜像中:

# mdadm --manage /dev/md0 -a /dev/hdb1
Run Code Online (Sandbox Code Playgroud)

首先备份您的数据并熟悉 Linux 上的 mdadm 和软件 RAID,以避免中伤自己。