Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I read How can I add a RAID 1 array in Ubuntu 10.04 and Installing Raid 1 on Existing Ubuntu Server. However, I only have the following 2 hard drives:

dev/sdb1 where Ubuntu 12.04 is currently running

dev/sda1 empty disk

I want to create a RAID on these two hard drives, but I don't want to delete the sdb1 partition because Ubuntu is working fine.

How can I create a RAID on existing device?

I performed

mdadm --create /dev/md0 --level=1 --raid-devices=2 missing /dev/sda1


 mkfs -t ext2 /dev/md0 

And I run

echo "DEVICE partitions" > /etc/mdadm/mdadm.conf
mdadm --detail --scan >> /etc/mdadm/mdadm.conf 

Then I change boot to md0 in grub2

menuentry 'Ubuntu, with Linux 3.2.0-23-generic' --class ubuntu --class gnu-linux --class gnu --class os {
        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

But, when I want to add

mdadm --manage /dev/md0 -a /dev/sdb1

I always get

mdadm: Cannot open /dev/sdb1: Device or resource busy
share|improve this question

Create a new RAID1 array with a "missing" device using the following in a terminal (may have to employ the sudo command):

# mdadm --create /dev/md0 -n 2 -l 1 /dev/sda1 missing

You'll be able to move all the data onto /dev/md0, boot with that, then add /dev/hdb1 into the mirror:

# mdadm --manage /dev/md0 -a /dev/hdb1

Backup your data first and get familiar with mdadm and software RAID on Linux to avoid shooting yourself in the foot.

share|improve this answer
Thx for answer. can you give me en example how to add hdb1 to mirror? – senzacionale May 7 '12 at 17:20
You'll need to read the mdadm and software RAID documentation to avoid losing your data and get familiar with it. For example, are your hard drives the same size? Probably not since one is IDE and one is SATA. You'll need to ensure the RAID device you create is not too large. – MikeyB May 7 '12 at 17:23
disks are the same size. hdb1 is sdb1, my mistake sorry. both disks are SATA1 – senzacionale May 7 '12 at 17:24
You need to boot using /dev/md0 first. – MikeyB May 7 '12 at 17:47
You made backups, right? – MikeyB May 7 '12 at 20:15

It seems that you are most of the way there. I'm trying to do the same thing and found you on google. Notwithstanding the issue that your drives may not be the same size (mine are), I think all you need to do is :

  • boot Ubuntu live CD, add and start mdadm
  • start your md0, partition it
  • rsync -av from /dev/hdb1 to /dev/md0p1
  • change grub to boot your raid
  • reboot into your raid
  • repartition your first disk
  • add the other disk to the raid


But that is only guessing :-) It may be a week or so before I get to try it myself.

This is similar to something I've done - move an Ubuntu box from one piece of HW to another using rsync. I learned there that you NEED to copy the OS from a live CD - you can't get a good copy of the OS when booted from the OS itself.

You want to

rsync -av --exclude-from=excludefile /source/ /destination/

and your exclude file looks like :

# Include
+ /dev/console
+ /dev/initctl
+ /dev/null
+ /dev/zero

# Exclude
- /dev/*
- /proc/*
- /sys/*
- /tmp/*
- lost+found/
- /media/backup/*
share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .