I'm switching my Windows server to Ubuntu and am trying to get my software RAID1 (mirror) that I created in Windows to show up in Ubuntu. I have read that this is possible here using mdadm, but I'm having trouble.
Here is what I'm trying:
Script started on Thu 12 Jan 2012 12:22:33 GMT
graeme@MediaCentre:~/Desktop$ cat /proc/partitions
major minor #blocks name
8 0 120060864 sda
8 1 117974016 sda1
8 2 1 sda2
8 5 2083840 sda5
8 16 1465138584 sdb
8 17 1465136128 sdb1
8 32 1465138584 sdc
8 33 1465136128 sdc1
graeme@MediaCentre:~/Desktop$ sudo mdadm --build /dev/md0 --chunk=128 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1
[sudo] password for graeme:
mdadm: array /dev/md0 built and started.
graeme@MediaCentre:~/Desktop$ sudo mkdir /media/WinMirror/
mkdir: cannot create directory `/media/WinMirror/': File exists
graeme@MediaCentre:~/Desktop$ sudo mount -t ntfs /dev/md0 /media/WinMirror
Failed to read last sector (5860544511): Invalid argument
HINTS: Either the volume is a RAID/LDM but it wasn't setup yet,
or it was not setup correctly (e.g. by not using mdadm --build ...),
or a wrong device is tried to be mounted,
or the partition table is corrupt (partition is smaller than NTFS),
or the NTFS boot sector is corrupt (NTFS size is not valid).
Failed to mount '/dev/md0': Invalid argument
The device '/dev/md0' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?
graeme@MediaCentre:~/Desktop$ exit
exit
Script done on Thu 12 Jan 2012 12:23:23 GMT
I get the same thing when I try 64 chunks, and if I list the disks in the other order.
Does anyone know what I'm doing wrong here?
Edit: I'm adding the results of fdisk -l as requested by Paul:
graeme@MediaCentre:~$ sudo fdisk -l /dev/sdb
[sudo] password for graeme:
Disk /dev/sdb: 1500.3 GB, 1500301910016 bytes
255 heads, 63 sectors/track, 182401 cylinders, total 2930277168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x181bfef8
Device Boot Start End Blocks Id System
/dev/sdb1 63 2930275119 1465137528+ 42 SFS
graeme@MediaCentre:~$ sudo fdisk -l /dev/sdc
Disk /dev/sdc: 1500.3 GB, 1500301910016 bytes
255 heads, 63 sectors/track, 182401 cylinders, total 2930277168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x181bfef8
Device Boot Start End Blocks Id System
/dev/sdc1 63 2930275119 1465137528+ 42 SFS
graeme@MediaCentre:~$ sudo mdadm --build /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc
mdadm: array /dev/md0 built and started.
graeme@MediaCentre:~$ sudo fdisk -l /dev/md0
Disk /dev/md0: 1500.3 GB, 1500301910016 bytes
255 heads, 63 sectors/track, 182401 cylinders, total 2930277168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x181bfef8
Device Boot Start End Blocks Id System
/dev/md0p1 63 2930275119 1465137528+ 42 SFS
I think I've just discovered that it's not possible to "build" a RAID1 and "build"ing is the only way to view a Windows software RAID. Can someone confirm that for me?
This is what I managed to get out of mdadm:
graeme@MediaCentre:~$ sudo mdadm --build --help
Usage: mdadm --build device -chunk=X --level=Y --raid-devices=Z devices
This usage is similar to --create. The difference is that it creates
a legacy array without a superblock. With these arrays there is no
difference between initially creating the array and subsequently
assembling the array, except that hopefully there is useful data
there in the second case.
The level may only be 0, raid0, or linear.
All devices must be listed and the array will be started once complete.
Options that are valid with --build (-B) are:
--bitmap= : file to store/find bitmap information in.
--chunk= -c : chunk size of kibibytes
--rounding= : rounding factor for linear array (==chunk size)
--level= -l : 0, raid0, or linear
--raid-devices= -n : number of active devices in array
--bitmap-chunk= : bitmap chunksize in Kilobytes.
--delay= -d : bitmap update delay in seconds.
sudo fdisk -l /dev/md0
give you?mdadm
specifically? (At least nowadays) major linux distros have a tool calledldmtool
which can deal with such drives with no problem.