I have a mdadm RAID 1 and RAID 6 setup with 8 TB disks which are using 4 kB physical sector size but 512 B logical sector size. I want to add more 8 TB disks to these arrays and the way I usually do it is by copying the GPT with sgdisk. This however didn't work as the new drives are "4k native", i.e. have 4 kB physical sector size as well as logical sector size.

(It seems that no common GPT manipulation tool can take this into account so I am prepared to create the new partition table manually by creating partitions with the identical size specified by bytes.)

However, I was unable to find any information regarding the fact that I want to mix drives with logical sector size of 512 B and 4 kB in one array (RAID 1 and RAID6).

Is there any downside of mixing up drives with 512 B and 4 kB sector size in one array? The physical sector size is 4 kB for all disks.

From my understanding of how mdadm RAID works, it should be fine, because chunk size is usually at least 64 kB for the smaller RAID array and the RAID itself shouldn't deal with sectors but rather LBA which should "abstract out" the underlying layout.

  • The "didn't work" part might be an interesting, separate question. Which tools did you use, what's the error message you got? Regarding the RAID, it's fine as long as your partitions are aligned... I'd worry about other things, like, is there a shingled/SMR drive in the bunch, do you care about performance, ... Dec 29, 2018 at 23:33
  • @frostschutz I tried copying it with sfdisk which complained that the partitions don't fit on the target drive. I assumed this was because the source drive partitions have 8 times more sectors than they would have on the target (new) drive. The new disks are not SMR, I checked for that :) Dec 30, 2018 at 14:57
  • Well, it's true that GPT partitions (unfortunately) still depend on arbitrary sector size. But I hoped that most partitioning software would be smarter, as otherwise - even if you have enough sectors, the resulting partition sizes would be completely wrong. Haven't tested it though... Dec 30, 2018 at 16:55

1 Answer 1


If you create an MD RAID array from one disk with a 512 block size, and another with a 4k block size you end up with an array with a 4k block size.

If you remove the 4k disk, e.g. by using mdamd --stop /dev/md<X> then purge the disk with mdadm --zero-superblock /dev/sd<Y>, then restart the array, you will find your MD array now has a block size of 512. For me this is a deal breaker. It should remember the block size it was originally created with.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .