Question: Basically I have raid 5 with three disks that are 2TB each. I bought 2 extra 2TB drives however they are few sectors smaller on a newer model - old drives are no longer sold. 

When I issue

```
/dev/md0 --add /dev/sde /dev/sdf

```

it yields:

> 
> 
> ```
> mdadm: /dev/sde not large enough to join array. 
> 
> ```
> 
> 

Is there any way to resize the first three disks without losing data in order for the smaller sector drives to be added?

Answer: 
You will have to reduce the size of whatever is stored on the `md0` array first. Unfortunately you give very little information on that.

* If there is a plain filesystem directly on `/dev/md0` then it depends on the filesystem type how you can reduce its size, if at all possible.
* If there is an LVM physical array on `/dev/md0` then you first have to reduce the size of that, which in turn may mean you here also have to reduce a filesystem, then reduce the logical volume, then reduce the volume group, then the physical volume.

As you're trying to add disks to a RAID5 consisting of (slightly larger) 2TB disks, it might be easiest to first assemble a RAID5 with the 2 new disks, pass `missing` as the name of the third disk which will create a RAID5 with one disk missing. Now copy the data over from the old RAID5 to the new RAID5. Disconnect the old RAID5 disks and verify all your data is available on the new RAID5. Now you can reconnect the old RAID5 disks, use `mdadm --zero-superblock` on the old component disks (perhaps you might need to do `mdadm --stop /dev/md0` first), this wipes any information about the old RAID5. Now you can add the disks to the new RAID5.
1. If you have 3 drive RAID 5 array, there should be no problem of copying the data elsewhere.
2. Once you have the data out of the array, create partitions on the drives with less sectors as needed.
3. [Here is a complete guide as how to do this from the beginning to the end.](https://unix.stackexchange.com/a/320330/126755)