mdadm --manage /dev/md1 --add /dev/sdb1
mdadm: metadata format 00.90 unknown, ignored.
mdadm: metadata format 00.90 unknown, ignored.
mdadm: metadata format 00.90 unknown, ignored.
mdadm: /dev/sdb1 not large enough to join array
md1's first primary member /dev/sda3 has 57394 cylinders while the /dev/sdb1 has 57393 (1 less cylinder) which is why it won't work.
fdisk -l /dev/sda3
Disk /dev/sda3: 472.0 GB, 472081720320 bytes
255 heads, 63 sectors/track, 57394 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000
fdisk -l /dev/sdb1
Disk /dev/sdb1: 472.0 GB, 472081688064 bytes
255 heads, 63 sectors/track, 57393 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000
Disk /dev/sdb1 doesn't contain a valid partition table
The solution is to delete /dev/sdb1 and make the partition the same 57394 cylinders.
fdisk /dev/sdb
The number of cylinders for this disk is set to 121601.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): d
Selected partition 1
Command (m for help): p
Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000976e6
Device Boot Start End Blocks Id System
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-121601, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-121601, default 121601): 57395
Command (m for help): wq
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
#even though I'm matching the cylinders the size still ends up being off!
fdisk -l /dev/sdb1
Disk /dev/sdb1: 472.0 GB, 472089913344 bytes
255 heads, 63 sectors/track, 57394 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000
Disk /dev/sdb1 doesn't contain a valid partition table
#but it ends up being a little bigger so it makes mdadm happy
mdadm --manage /dev/md1 --add /dev/sdb1
mdadm: metadata format 00.90 unknown, ignored.
mdadm: metadata format 00.90 unknown, ignored.
mdadm: metadata format 00.90 unknown, ignored.
mdadm: added /dev/sdb1
mdadm, dev, sdb, array, solutionmdadm, md, metadata, format, ignored, primary, sda, cylinders, cylinder, fdisk, disk, gb, bytes, sectors, identifier, doesn, contain, valid, partition, delete, larger, setups, software, versions, lilo, booting, partitioning, oss, dos, os, selected, extended, default, wq, altered, ioctl, syncing, disks, matching,