BIOS boot partition, 4x3TB disks, and raid, problems with anaconda

Chris Murphy lists at colorremedies.com
Sun Aug 31 19:27:01 UTC 2014


On Aug 28, 2014, at 12:37 PM, Lars E. Pettersson <lars at homer.se> wrote:

> On 08/28/14 20:21, Bruno Wolff III wrote:
>> On Thu, Aug 28, 2014 at 11:10:54 -0700,
>>  Rick Stevens <ricks at alldigital.com> wrote:
>>> 
>>> I think you need to reserve some small space on all the drives (and
>>> with 3TB drives you can afford to sacrifice a few MB), use the remainder
>>> as your RAID, and let the system put the boot partition in that reserved
>>> space on the primary drive (the one the BIOS sees as the boot drive).
>> 
>> I think using raid 1 (with the 1.0 header format) can work well for
>> that. There can still grub issues with having a boot just work, but at
>> least you have the stuff you need available.
> 
> Yes, that was my intention, raid1 for /boot and raid6 for / Accidentally I set /boot also to raid6 :)  But that can be fixed.

Or do n-way raid1, which will cause /boot to have as many copies as you add member devices.

> 
> On my old system I use 1TB disks, with /boot as raid1, and grub boot-loader installed on all disks. On that one I can boot the system from any of disks. Which is quite handy.

That's still possible whether /boot is raid1 (n-way or mirror), or raid6. Anaconda will run grub2-install against all member devices that have a /boot member device (or at least it should, I have recently done 2 drive testing on this).

Post install you can
grep -i grub2-install /var/log/anaconda/program.log

And it will show you the command used. It should list all member devices. So long as each member drive has a BIOS Boot partition, grub2-install will find it automatically and insert core.img there, as well as the specific jump code in the first 440 bytes of the (protective) MBR to find it.


> The problem here seem to be that due to the disks being large (larger than 1TB) they are setup as GPT (GUID Partition Table), and they then also need a BIOS boot partition to work on non UEFI based systems (if I have understood it correctly).

MBR partition entries are 32-bit so they're limited to 2TB. There's a small advantage to using GPT in that there's a backup header and table. So long as your BIOS doesn't get fussy with GPT, it's fine to use it even on 1TB drives, but it's not necessary.

> So, to be able to boot from any of the disks, I need a BIOS boot partition on all disks, but anaconda seem to only install it on one of the disks (i.e. I want the exactly identical partition tables on all disks).

It's messy. Again the installer should leave the user out of this entirely. You don't need a BIOS Boot that's exactly 1MB in size, so if you don't want to start from scratch but there's at least 100K free space on each member drive, you can create a BIOS boot there and then rerun grub2-install against all the drives, e.g.:

grub2-install /dev/sd[abcde]

To know for sure how big of a BIOS Boot you need:

ls -lh /boot/grub2/i386-pc/core.img

Mine's 26KB, as my boot fs is XFS, without LVM or raid. Yours will be a bit bigger to include mdraid1x.mod and raid6rec.mod and anything else that gets pulled in. I bet it's much less than 100K actually.



Chris Murphy


More information about the users mailing list