You are not logged in.

#1 2019-05-01 13:25:31

rep_movsd
Member
Registered: 2013-08-24
Posts: 133

[Solved] Unable to get RAID0 root partition to boot

As mentioned in my other thread, I upgraded my machine and wanted to migrate the install.

The old system was a dell 6700M laptop and the new one is a 7730

I have 3 disks - 2 NVMEs and 1 SATA
I have my old installation migrated onto one of the NVME drives and its working great.

Now I want to make the root partition software RAID-0 (don't ask why - skeptics may disagree, but I've had 30% to 40% improvement in IO with this and I've run this kind of setup for several years now)

I made the mdraid array and copied the entire / partition onto that - I added an entry in GRUB

When I boot into that from grub, the kernel comes up, and then complains it cant find the root partition
I tried
root=UUID=XXXX
as well as
root=/dev/md0

Both have the same problem


Here are the relevant outputs of lsblk, blkid and the grub.cfg

rep ~  $ blkid 
/dev/nvme1n1p1: LABEL="BAK" UUID="b0f1c716-5f16-41cc-a0a6-b3af3f904798" TYPE="ext4" PARTLABEL="BAK" PARTUUID="dabfc58c-b037-46a2-86ab-9000ac93ba0a"
/dev/nvme1n1p2: LABEL_FATBOOT="EFI" LABEL="EFI" UUID="E273-C4F1" TYPE="vfat" PARTLABEL="EFI" PARTUUID="42eb80a5-6c9c-4148-89b2-e752ba682ba3"
/dev/nvme1n1p3: UUID="6d43e0a5-12bc-ab07-8847-14bb0b996a67" UUID_SUB="cee0757d-0e92-c8d2-2295-7c6fa2404752" LABEL="archaic:0" TYPE="linux_raid_member" PARTLABEL="ARCH1" PARTUUID="ac8310ba-aecf-4f93-ac67-1f2dfabfa484"
/dev/nvme1n1p4: LABEL="SWP" UUID="c9de324b-75f8-4339-adeb-84e05927e056" TYPE="swap" PARTLABEL="SWP" PARTUUID="e0d198cd-3b6c-4b51-a155-7764d3658aaf"
/dev/nvme0n1p1: UUID="6d43e0a5-12bc-ab07-8847-14bb0b996a67" UUID_SUB="8b36652f-8bc8-456c-e008-7b6b5c155f0d" LABEL="archaic:0" TYPE="linux_raid_member" PARTLABEL="ARCH0" PARTUUID="0cd5507d-be28-473c-a0f3-fa6e9172d3cf"
/dev/sda1: LABEL="ARCHBACK" UUID="dd54f7c3-aeb3-45d3-a2f2-63f357110165" TYPE="ext4" PARTLABEL="Linux filesystem" PARTUUID="9823e472-1c0a-4d5a-8ad8-016c9ee1449e"
/dev/md0: LABEL="RAID" UUID="c731aa58-0060-4a79-a449-0b95698405f1" TYPE="ext4"
rep ~  $ 
rep ~  $ lsblk -f
NAME        FSTYPE            LABEL     UUID                                 FSAVAIL FSUSE% MOUNTPOINT
sda                                                                                         
└─sda1      ext4              ARCHBACK  dd54f7c3-aeb3-45d3-a2f2-63f357110165                
nvme1n1                                                                                     
├─nvme1n1p1 ext4              BAK       b0f1c716-5f16-41cc-a0a6-b3af3f904798   42.3G    51% /
├─nvme1n1p2 vfat              EFI       E273-C4F1                                           
├─nvme1n1p3 linux_raid_member archaic:0 6d43e0a5-12bc-ab07-8847-14bb0b996a67                
│ └─md0     ext4              RAID      c731aa58-0060-4a79-a449-0b95698405f1  200.9G    19% /mnt/md
└─nvme1n1p4 swap              SWP       c9de324b-75f8-4339-adeb-84e05927e056                
nvme0n1                                                                                     
└─nvme0n1p1 linux_raid_member archaic:0 6d43e0a5-12bc-ab07-8847-14bb0b996a67                
  └─md0     ext4              RAID      c731aa58-0060-4a79-a449-0b95698405f1  200.9G    19% /mnt/md
rep ~  $ 
rep ~  $ cat /boot/grub/grub.cfg
set timeout=5

insmod part_gpt
insmod part_msdos
insmod diskfilter
insmod ext2
insmod mdraid1x
insmod all_video

if loadfont /boot/grubfont.pf2 ; then
  set locale_dir=$prefix/locale
set lang=en_IN
fi
set gfxmode=3840x2160x24


load_video
insmod gfxterm
insmod gettext
terminal_output gfxterm


menuentry 'Arch Linux NVME RAID' --class arch --class gnu-linux --class gnu --class os {
  set gfxpayload=keep
        set root=(md/0)
        linux   /boot/vmlinuz-linux root=UUID=c731aa58-0060-4a79-a449-0b95698405f1 rw add_efi_memmap rw nvidia-drm.modeset=1 acpi_backlight=vendor net.ifnames=0 nowatchdog libata.force=noncq libahci.ignore_sss=1 elevator=noop
        initrd  /boot/intel-ucode.img  /boot/initramfs-linux.img
}


menuentry 'Arch Linux NVME Back' --class arch --class gnu-linux --class gnu --class os {
  set gfxpayload=keep
        set root='hd2,gpt1'
        linux   /boot/vmlinuz-linux root=LABEL=BAK rw add_efi_memmap rw nvidia-drm.modeset=1 acpi_backlight=vendor net.ifnames=0 nowatchdog libata.force=noncq libahci.ignore_sss=1 elevator=noop
        initrd  /boot/intel-ucode.img  /boot/initramfs-linux.img
}



menuentry 'Arch Linux SATA' --class arch --class gnu-linux --class gnu --class os {
  set gfxpayload=keep
        set root='hd0,gpt1'
        linux   /boot/vmlinuz-linux root=LABEL=ARCHBACK rw add_efi_memmap rw nvidia-drm.modeset=1 acpi_backlight=vendor net.ifnames=0 nowatchdog libata.force=noncq libahci.ignore_sss=1 elevator=noop
        initrd  /boot/intel-ucode.img  /boot/initramfs-linux.img
}


rep ~  $

The only difference I see between before and now is that mkinitcpio complains that "mdadm is deprecated, using mdadm_udev"
Since mdadm_udev relies on the root file system, how would it work?

Am I just getting the UUID wrong? which UUID applies here?


Thanks in advance

Last edited by rep_movsd (2019-05-02 13:24:34)

Offline

#2 2019-05-02 11:12:03

Lone_Wolf
Forum Moderator
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,920

Re: [Solved] Unable to get RAID0 root partition to boot

nvme1n1                                                                                     
├─nvme1n1p1 ext4              BAK       b0f1c716-5f16-41cc-a0a6-b3af3f904798   42.3G    51% /
├─nvme1n1p2 vfat              EFI       E273-C4F1                                           
├─nvme1n1p3 linux_raid_member archaic:0 6d43e0a5-12bc-ab07-8847-14bb0b996a67                
│ └─md0     ext4              RAID      c731aa58-0060-4a79-a449-0b95698405f1  200.9G    19% /mnt/md
└─nvme1n1p4 swap              SWP       c9de324b-75f8-4339-adeb-84e05927e056                
nvme0n1                                                                                     
└─nvme0n1p1 linux_raid_member archaic:0 6d43e0a5-12bc-ab07-8847-14bb0b996a67                
  └─md0     ext4              RAID      c731aa58-0060-4a79-a449-0b95698405f1  200.9G    19% /mnt/md

That layout puzzles me, it almost looks like a partition was created inside a partition.
post

fdisk -l

please.

Is there a reason you use mdraid instead of mdadm ?


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#3 2019-05-02 13:24:01

rep_movsd
Member
Registered: 2013-08-24
Posts: 133

Re: [Solved] Unable to get RAID0 root partition to boot

I managed to figure out the issue - the problem was that the order of hooks in mkinitcpio.conf was wrong


The correct order in my case is

HOOKS="base udev autodetect keyboard modconf block mdadm_udev filesystems fsck" 

The "udev" hook has to be at the start, else it won't work

Everything is good now!

Offline

Board footer

Powered by FluxBB