![]() ![]() To "1.2" (the commonly preferred 1.x format). Store the superblock at different locations on theĭevice, either at the end (for 1.0), at the start (forġ.1) or 4K from the start (for 1.2). ![]() It can easily be moved between hosts withĭifferent endian-ness, and a recovery operation can beĬheckpointed and restarted. Reading from the mdadm man page: -e, -metadata= Your boot-loader understands md/v1.x metadata, or use ![]() Store '/boot' on this device please ensure that Mdadm: Note: this array has metadata at the start and In fact, mdadm warns about this pretty loudly: # mdadm -create /dev/md0 -level 1 -raid-disks 2 /dev/sda1 /dev/sdb1 This solves more problems than it creates, but it means the RAID isn’t “invisible” to something that doesn’t know about the metadata. The current implementation of Linux’s md RAID puts metadata at the front of a partition. So, if I want RAID1 for my root filesystem, that’s fine (GRUB will read md, LVM, etc), but how do I handle /boot/efi (the UEFI ESP)? In everything I found answering this question, the answer was “oh, just manually make an ESP on each drive in your RAID and copy the files around, add a separate NVRAM entry (with efibootmgr) for each drive, and you’re fine!” I did not like this one bit since it meant things could get out of sync between the copies, etc. EFI code is either GRUB itself, or Shim which loads GRUB. Then it looks for a FAT32 filesystem there, and does more things like looking at NVRAM boot entries, or just running BOOT/EFI/BOOTX64.EFI from the FAT32. With UEFI, the boot firmware is actually examining the GPT partition table, looking for the partition marked with the “EFI System Partition” (ESP) UUID. This means that BIOS doesn’t really care what’s on the drive, it’ll hand over control to the GRUB code in the MBR. This worked well for BIOS booting since BIOS just transfers control blindly to the MBR of whatever disk it sees (modulo finding a “bootable partition” flag, etc, etc). In these situations, I always use Linux’s md RAID1 for the root filesystem (and/or /boot). I spent some time yesterday building out a UEFI server that didn’t have on-board hardware RAID for its system drives. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |