Come mdvengono assemblati i dispositivi all'avvio in Ubuntu? È /etc/mdadm/mdadm.confdavvero il fattore rilevante qui?
Il mio mdadm.confè suono e l'ho verificato mentre ero nell'ambiente del CD di ripristino. Durante l'esecuzione mdadm -A --scantrova e assegna i nomi dei dispositivi come desiderato. Il mdadm.confcontiene AUTO -allper eliminare tutto l'automatismo dall'assemblaggio delle matrici.
Quello che devo fare è essere in grado di assemblare automaticamente i mddispositivi come indicato mdadm.confal momento dell'avvio o che durante l'assemblaggio onora il super-minorvalore per l'array 0.9 e name(apparentemente <hostname>:<super-minor>) per gli array 1.2 e fa la cosa giusta senza mdadm.conf. Quale pezzo del puzzle mi manca?
Ho il seguente problema. Esistono due mddispositivi con RAID1 ( md0e md1) e uno con RAID6 ( md2). Mi riferisco a loro con i nomi dei dispositivi desiderati . md0ha meta-data versione 0.9, le altre due hanno versione 1.2. md0le mappe /e le altre due non sono rilevanti per l' avvio .
L'unità di avvio è GPT partizionata. C'è una colla "BIOS Boot Partition" ( sda1) su di essa. grub-install --no-floppy /dev/sdariporta il successo.
md0 == sda3 + sdb3md1 == sda2 + sdb2md2 == sdc + sdd + sde + sdf + sdg + sdhsda1esdb1sono "BIOS Boot Partition" ciascuna
GRUB2 è felice con l' /boot/grub/devicemapho dato e ho aggiunto part_gpt, raid, mdraid09e ext2ai moduli di precarico in GRUB2.
Dato che avevo ancora il mio volume di root nell'ambiente di salvataggio, ho semplicemente montato tutto e poi chrootinserito in esso:
mkdir /target
mount /dev/md0 /target
mount -o bind /dev /target/dev
mount -o bind /dev/pts /target/dev/pts
mount -o bind /sys /target/sys
mount -o bind /proc /target/proc
chroot /target /bin/bash
Da lì ho resettato super-minoron md0(con meta-data 0.9) e nameon md1e md2. Ho anche verificato che funzionava con mdadm --detail .... A parte questo, mi sono adattato /etc/default/grub, corro update-grube anche grub-install --no-floppy /dev/sdae grub-install --no-floppy /dev/sdb.
Dopodiché, all'avvio, vengo sempre rilasciato nella initramfsshell di salvataggio, perché non è stato possibile montare il file system di root. Il motivo, dopo aver verificato, /proc/mdstatsembra essere che il rispettivo mddispositivo non viene nemmeno assemblato e avviato. Per non parlare del fatto che le altre due unità (versione 1.2 dei metadati) ricevono un numero di dispositivo da qualche parte nell'intervallo 125..127.
Nota: GRUB2 proviene dal disco di avvio. Quindi almeno è stato incorporato correttamente. Il problema è la transizione dal rootfsfile system radice iniziale al file radice corretto.
/etc/fstab. L'installazione non si basa sui nomi, vorrei comunque che fossero così;)
Not to mention that the other two (meta-data version 1.2) drives receive a device number somewhere in the 125..127 range. Non so abbastanza su come Ubuntu assembla i volumi dei raid per rispondere al problema più grande.
/dev/mdXesattamente per questo motivo. Usa/dev/md/NAMEinvece. Questo non cambierà mai.