Even you created the partitions the same way as on /dev/sda with fdisk the size of partitions can differ from each other. First of all you should dump the disks with "fdisk -l" and observe the result:
> fdisk -l
Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sda1 1 262 2104514+ fd Linux raid autodetect
/dev/sda2 263 60801 486279517+ fd Linux raid autodetect
Disk /dev/sdb: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 1 262 2104483+ fd Linux raid autodetect
/dev/sdb2 263 60801 486279517+ fd Linux raid autodetect
Please note that I give example with two disks with same geometry and size.
Note that sda1 size(2104514+) > sdb1 size(2104483+) which is like your problem.
In your case sda1 and sdb1 may have exactly the same start and end blocks but the size is different which is your case in fact.
That is why you receive this error "No space left". You should create partitions on /dev/sdb like this:
sfdisk -d /dev/sda | sfdisk /dev/sdb and the result:
> sfdisk -d /dev/sda | sfdisk /dev/sdb
Checking that no-one is using this disk right now ...
OK
Disk /dev/sdb: 60801 cylinders, 255 heads, 63 sectors/track
Old situation:
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0
Device Boot Start End #cyls #blocks Id System
/dev/sdb1 0 - 0 0 0 Empty
/dev/sdb2 0 - 0 0 0 Empty
/dev/sdb3 0 - 0 0 0 Empty
/dev/sdb4 0 - 0 0 0 Empty
New situation:
Units = sectors of 512 bytes, counting from 0
Device Boot Start End #sectors Id System
/dev/sdb1 1 4209029 4209029 fd Linux raid autodetect
/dev/sdb2 4209030 976768064 972559035 fd Linux raid autodetect
/dev/sdb3 0 - 0 0 Empty
/dev/sdb4 0 - 0 0 Empty
Warning: no primary partition is marked bootable (active)
This does not matter for LILO, but the DOS MBR will not boot this disk.
Successfully wrote the new partition table
Re-reading the partition table ...
If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)
to zero the first 512 bytes: dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(See fdisk(8).)
And the above command will copy partitions from /dev/sda to /dev/sdb.
Then you can run again fdisk to list your partitions. Result should be like this:
> fdisk -l
...
Disk /dev/sda: 500.1 GB, 500107862016 bytes
...
/dev/sda1 1 262 2104514+ fd Linux raid autodetect
/dev/sda2 263 60801 486279517+ fd Linux raid autodetect
Disk /dev/sdb: 500.1 GB, 500107862016 bytes
...
/dev/sdb1 1 262 2104514+ fd Linux raid autodetect
/dev/sdb2 263 60801 486279517+ fd Linux raid autodetect
...
Now sda1 size(2104514+) is equal to sdb1 size(2104514+).
We can add the devices to the raid.