On Thu, Mar 20, 2014 at 9:32 AM, Przemek Klosowski <przemek.klosowski@xxxxxxxx> wrote: > On 03/20/2014 01:21 AM, Chris Murphy wrote: >> You can in theory just have a bunch of RAID-1 (mirrored) ESPs, because >> of how RAID-1 works; each individual member can also be mounted as if it >> was just a plain old partition, which is how the firmware will mount it. > > This shouldn't be done. It's a source of corruption to treat an md raid1 > device as a plain volume, rather than as a degraded md device. If the plain > partition volume is modified, its mdadm metadata won't be updated, so when > the array is finally assembled, mdadm has no idea member devices are not > sync'd, and also has no way to resolve the ambiguity. > > Right, but UEFI doesn't write to it----it just uses them to read the boot > content. It would be better if UEFI could read software raid1 even if it was > degraded due to disk failures, but apparently it can't, so Adam's scheme is > the only possibility. Um. EFI_FILE_PROTOCOL's Write method sounds suspiciously like it writes to a filesystem. >> >> Because of this, at least one raid stack kernel maintainer wants to do away >> with the use of mdadm metadata v 1.0 by anaconda. It's v1.0 metadata that >> permits this plain old partition treatment as a side effect. > > It is a darn useful side effect. How else can you implement redundant boot > that is transparently updated? I could (and did) try > multiple /boot partitions on separate drives by copying the partition > content after updates, but it was fragile and I was never confident that it > would work when I needed it. Adam's raid1 /boot just seems more reliable, > especially if it became a designed feature. > I think you may be confusing /boot and ESP (aka /boot/efi). They are not the same thing. You get a transparently updated list of kernels by doing it exactly the way that Chris suggested. You have /boot on md raid with metadata 1.1 or 1.2. Or you have /boot on any other sensible RAID backing store, where sensible means that everything that mounts it knows that it's RAID. Then you stick something *that never changes* into each copy of the ESP. And you don't even pretend that ESP is RAID -- it's simply a bunch of FAT filesystems that *are not mounted read/write* except for when the bootloader is reinstalled. And you do *not* reinstall the bootloader just because you have a new kernel. All of the RAID devices are only ever accessed by RAID drivers. All of the ESP non-RAID filesystems are treated as the crappy FAT filesystems that they are and are almost never written by Linux userspace. --Andy -- devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/devel Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct