Hi. Is there a solution to have a whole-disk RAID (software, mdadm) that is also partitioned in GPT and bootable in UEFI?
What I imagine: - RAID1, mirroring: if you ignore the RAID, the data is there. - The GPT metadata is somewhere not too close to the beginning of the drive nor too close to the end, to not conflict with the GPT, but the space before / after the metadata is part of the RAID and synced. - The firmware, not aware of RAID, sees a perfectly normal GPT partition scheme, just with some unallocated space before the first partition or after the last where the RAID metadata happen to reside. - The kernel or a userspace tool like kpartx translates the offsets of the GPT partitions into offsets inside the RAID, skipping the metadata, and creates partitions inside the RAID device. The benefit would be that the RAID would cover also the EFI partition and the partition table itself. Since these are things that only change at known times and are very small, the benefit is limited, but that still would be nice. At this time, as far as I can see: RAID metadata versions 1.0, 1.1 and 1.2 conflict with GPT because: - 1.2 puts the superblock at sector 8; - 1.1 puts the superblock at sector 0; - 1.0 puts the superblock at sector end-16; - GPT uses the sectors [0;34[ and [end-33;end[. Metadata 0.9 uses the sectors [end-128;end-120[, not conflicting with GPT and causing no offset for the partitions, but the data after that is not part of the RAID, so the secondary GPT would not be synchronized. Also, metadata 0.9 has limitations. (I have not tested metadata ddf or imsm because they do not support RAID1 on only one device, which is what I intend to do and what I was testing on.) Is there something I have missed? Regards, -- Nicolas George