[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

RE: Support for mirroring of EFI System Partition



Title: Re: Support for mirroring of EFI System Partition
(Sorry, on my mobile, and this email client both didn't allow me to edit the quoted text or to bottom post.)

Intel Rapid Storage Technology (RST a.k.a. IMSM) fakeraid works well on Linux. Using dmraid, it works, and I've used that on some machines. Intel wrote RST support into the mdraid driver stack and recommends that over dmraid, though I don't think Debian has transitioned to using mdraid for RST.

SNIA DDF is another format that could work and does not involve needing the hardware maker to get a license from Intel to use, but it's much harder to implement, and I'm not aware of any UEFI implementations that can read it.

Probably, supporting multiple ESPs for software RAID support is something that should be introduced as a feature request to the UEFI forum.

--Jared



-----Original Message-----
From: Steve McIntyre [steve@einval.com]
Sent: Saturday, September 05, 2015 02:08 PM Central Standard Time
To: Francesco Poli
Cc: Debian EFI
Subject: Re: Support for mirroring of EFI System Partition

On Sat, Sep 05, 2015 at 07:11:44PM +0200, Francesco Poli wrote:
>Hello Debian EFI support developers,
>I would like to install Debian testing on a box with two identical
>drives in software RAID1 (mirroring) and I was planning the partition
>sizing.
>While doing so, I realized that this new box has UEFI (instead of BIOS)
>on the motherboard, and hence needs an ESP (EFI System Partition) in
>order to host the GRUB bootloader (correct?).

Correct.

>I searched the web about how to set up ESP partitions on two separate
>drives in order to be able to boot from any of them, in case one breaks,
>and I found scarce and inconsistent information...   :-(
>
>With the old BIOS-based machines, one would simply install GRUB on the
>MBR of one drive and then
>
>  # dpkg-reconfigure grub-pc
>
>and select both /dev/sda and /dev/sdb as install devices.

Yup.

>With the new UEFI-based machines, it seems to me that this possibility
>is not (well) supported. I read on the Debian Wiki [1] that there's
>"no support for putting the ESP on two separate disks in RAID" !

Correct. The ESP is much more complicated than an MBR and boot sector
like old-style BIOS boot. It needs to be a FAT filesystem and the
firmware needs to understand how to mount and use it. Most UEFI
implementors will expect you to be either using a single disk here, or
a firmware-supported hardware RAID device. I'm not aware of any that
might understand Linux's software RAID options for this, and would be
very surprised if any did! You *might* be able to get something
working using the fake/BIOS RAID type setups, but I've no experience
of ever getting any of those to work well under Linux. :-/

>On the other hand, another Debian Wiki page [2] states that you can
>dpkg-reconfigure grub-efi-amd64 on EFI systems and select GRUB install
>devices. However, I don't see any debconf templates for grub-efi-amd64
>in the grub2 source package debian/ directory [3]: does this mean that
>grub-efi-amd64 does not support asking the user to select install
>devices?

Correct. It will always install to the ESP that you've configured, and
only one ESP is supported.

>I found a number of places [4] on the web where it is suggested to
>manually clone the ESP from one drive to the other with:
>
>  # dd if=/dev/sda1 of=/dev/sdb1
>
>But this should be repeated whenever anything changes on the ESP and I
>will sure forget doing so one day or another. There should be a trigger
>from the relevant packages (grub-efi-amd64, I suppose, and maybe other
>ones) that keeps the "slave" ESPs up-to-date w.r.t. to the "master"
>one: is there such a trigger?

It won't work *yet* - on top of this, we'll also need to add support
in various places to add more than one Boot entry, pointing at
both/all N copies of the ESP. Assuming competent firmware (hah!) this
should then work OK. This is what I referred to in

  https://wiki.debian.org/UEFI#RAID_for_the_EFI_System_Partition

which you've already read. We'd then add code in grub/elsewhere to
manage multiple copies of the ESP as different independent FAT
filesystems.

>So, my question is: what's the recommended way to set up a RAID1 on a
>UEFI system and make sure the system will still boot, when any of the
>drives breaks?

For actual RAID1, I'd *try* a BIOS-RAID type setup if your hardware
does it for now. Otherwise, you could try and get the multi-ESP route
working. Patches welcome if you can make it work; I'm hoping to work
on this as a feature for Stretch, but I've not found any time to start
on it yet.

Hope this helps!

--
Steve McIntyre, Cambridge, UK.                                steve@einval.com
Can't keep my eyes from the circling sky,
Tongue-tied & twisted, Just an earth-bound misfit, I...


Reply to: