2

I have a Intel H170 based Asus H170 PLUS Motherboard that supports Intel FakeRAID. Attached are two identical Seagate 1TB harddisks on which I want to install ArchLinux 2015-12-01. The UEFI BIOS on this board is pretty user friendly, and having read that Linux currently supports Intel FakeRaid hardware out of the box (with mdadm), I went ahead and created a RAID1 volume with the two disks through BIOS menu.

Whenever I boot up on a live USB of Arch, I can see that linux automatically recognizes, creates and assembles a RAID mirror (RAID1) volume which is accessible through /dev/md126. I can partition this device with a GPT, format it and read from / write to it with gdisk and parted. On deeper enquiry, I can see that all these changes are simultaneously being applied to both /dev/sda and /dev/sdb.

My disk is then formatted as something like this:

Part.      Size          Flags         Filesystem    Mountpoint

1.      512MB         [ESP,BOOT]        FAT32        /boot
2.      100G                            ext4         /
3.      50G                             ext4         /tmp
4.      32G                             swap         
5.      Rest                            ext4         /home

I did these operations to /dev/md126 and the mdadm driver flawlessly managed to create the same thing on both sda and sdb.

Now my question is, is it possible to point GRUB to the boot partition that is lying on either disks, and somehow make the kernel do the same automatic RAID1 configuration as the live USB did, but with a disk install? Because whenever I go through an installation, and finish installing GRUB, I can't seem to make the bootloader work with RAID device entries like /dev/md126 at all! Of course, I don't know how to make GRUB understand that there is a RAID volume. So only /dev/sda2 or /dev/sdb2 work for the boot entry. And booting from sda or sdb doesn't seem to initialize any RAID1 volumes on it's own! [Although it's extremely noob-friendly that I didn't have to change the BIOS setting from "RAID" to "AHCI" to make it boot from individual disks of the RAID1 array.]

I will be grateful if someone can point me to a guide which mentions how installation and booting from a boot partition on RAID1 is done with linux and mdadm.

There are many helpful guides on how to do it with a software RAID, but I could not locate one as of yet for Intel Hardware Raid (FakeRAID). I also do not want to use LVM, so I just need to know if things can be configured such that there is a single RAID1 volume on two entire disks, that will allow me to use a GPT and multiple partitions.

From what I understood, having to declare a Intel Matrix RAID volume somehow is using up the superblock that GPT would need, so at boot time linux can only recognize either an Intel RAID volume or a GUID partition table but not both? Correct my understanding if I am wrong.

I am sorry about not mentioning the exact error codes (as I am posting everything from memory and don't have access to the machine currently). But I can post more details here soon if it is relevant to solve the issue. I just thought that experts can see through my naivety to quickly catch what I have been doing wrong: I surely am complicating something that must've been very simple!

tejaneo
  • 21
  • 2

0 Answers0