I'm trying to add two new drives to grow a raid10 created with mdadm v3.4 on debian testing with kernel 4.4.6-1. The problem is that the new drives I have have just a few sectors less that the smallest drive that was used to create the array. Is there a way to shrink the partitions without destroying the array?
root@debian-nas:~# mdadm /dev/md0 --add /dev/sdb1 /dev/sdd1
mdadm: /dev/sdb1 not large enough to join array
Here is what the array looks like now.
root@debian-nas:~# mdadm --detail --verbose /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Sat Mar 26 21:13:23 2016
Raid Level : raid10
Array Size : 5860268032 (5588.79 GiB 6000.91 GB)
Used Dev Size : 2930134016 (2794.39 GiB 3000.46 GB)
Raid Devices : 4
Total Devices : 4
Persistence : Superblock is persistent
Intent Bitmap : Internal
Update Time : Sun Mar 27 16:25:22 2016
State : active
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0
Layout : near=2
Chunk Size : 512K
Name : debian-nas:0 (local to host debian-nas)
UUID : 86266375:bf94ae93:d449a171:aa746159
Events : 13726
Number Major Minor RaidDevice State
0 8 1 0 active sync set-A /dev/sda1
1 8 33 1 active sync set-B /dev/sdc1
2 8 65 2 active sync set-A /dev/sde1
3 8 81 3 active sync set-B /dev/sdf1
I'm trying to add /dev/sdb1 and /dev/sdd1 to /dev/md0
root@debian-nas:~# blockdev --report /dev/sda1
RO RA SSZ BSZ StartSec Size Device
rw 2048 512 512 2048 3000591916544 /dev/sda1
root@debian-nas:~# blockdev --report /dev/sdb1
RO RA SSZ BSZ StartSec Size Device
rw 2048 512 4096 2048 3000590934016 /dev/sdb1
root@debian-nas:~# blockdev --report /dev/sdc1
RO RA SSZ BSZ StartSec Size Device
rw 2048 512 4096 2048 3000591450112 /dev/sdc1
root@debian-nas:~# blockdev --report /dev/sdd1
RO RA SSZ BSZ StartSec Size Device
rw 2048 512 4096 2048 3000590934016 /dev/sdd1
root@debian-nas:~# blockdev --report /dev/sde1
RO RA SSZ BSZ StartSec Size Device
rw 2048 512 4096 2048 3000591450112 /dev/sde1
root@debian-nas:~# blockdev --report /dev/sdf1
RO RA SSZ BSZ StartSec Size Device
rw 2048 512 512 2048 3000591916544 /dev/sdf1
Am I better off just moving the data off of the array, destroying it, then creating it with smaller partitions so that I can include the new drives?