Come installo GRUB su un'installazione di sistema RAID?


43

Sto cercando di installare e installare Ubuntu su una configurazione RAID 1. Ho due dischi, SDB e SDC. Ho seguito questa guida

https://help.ubuntu.com/community/Installation/SoftwareRAID

che funziona più o meno per ottenere tutto configurato e Ubuntu installato. Il problema è al termine dell'installazione, tenta di installare GRUB. Di default prova il mio "primo disco", che dà un "errore fatale". Ho provato a installarlo su una specifica partizione, ad esempio sdb1 e dispositivi RAID, ad esempio md0, md1, ecc. Nulla sembra funzionare.

L'errore reale è

Impossibile installare GRUB in / dev / sdb

L'esecuzione di 'grub-install' / dev / sdb 'non è riuscita.

Questo è un errore fatale.

Quindi torno al menu di installazione principale. Se scelgo l'opzione "Installa il boot loader GRUB su un disco rigido", posso scegliere la partizione, ma inserendo sdb2 o md1 si ottiene lo stesso errore.

Quindi sono andato avanti e non ho installato GRUB, il che significa che ora presumibilmente ho un'installazione Ubuntu funzionante, ma non riesco ad avviarlo. Ho provato l'avvio da LiveCD per installare GRUB, ma non riesco a eseguire il chroot nel mio sistema perché non sembra riconoscere che il mio disco sia un disco Linux. Si è verificato un errore in quanto si tratta di una partizione RAID.

Quindi, in sostanza, vorrei davvero sapere come sai su quale dispositivo installare GRUB al momento dell'installazione, o almeno, come installarlo sul mio sistema ora.

Suppongo che dovrei anche menzionare che sda ​​è un'installazione di Windows 7 che vorrei tenere in giro ed essere in grado di accedere all'avvio.

Grazie per qualsiasi aiuto.


Senza dire quale fosse l'errore, non possiamo fare a meno. L'installazione su sda (e possibilmente anche su sdb e sdc) è la cosa giusta da fare. Per accedere al raid da livecd devi installare il pacchetto mdadm:sudo apt-get install --no-install-recommends mdadm
psusi

Mi dispiace, ho modificato il mio post per includere il messaggio di errore. Il motivo per cui stavo cercando di installare su qualcosa di diverso da sdb, sdc è che ho letto questo thread che sembrava dire che avrei dovuto trovare la partizione corretta in / dev / mapper. Ma quando cado nella shell nel programma di installazione, non appare nulla in / dev / mapper diverso dal controllo.
Kris Harper,

Questo è per fakeraid, non per raid software.
psusi,

1
Stai utilizzando una tabella delle partizioni MSDOS o GPT? Se si utilizza GPT, è necessario creare una partizione bios_boot.
psusi,

1
Sono riuscito a farlo funzionare creando tre partizioni su ogni unità, RAIDing due set insieme per il filesystem e lo scambio e lasciando gli ultimi due non RAID. Quindi ho selezionato / boot come mount point per uno di essi e l'ho scelto durante l'installazione di GRUB. Questo sembra funzionare. La mia unica preoccupazione è che GRUB non sia installato sull'altra unità, quindi se ho un guasto all'unità, potrei non essere in grado di avviarsi. Forse posso risolvere questo problema installando GRUB sull'altra unità, nonostante il fatto che quella partizione non sia impostata come punto di montaggio / boot?
Kris Harper,

Risposte:


16

Il mio problema si è rivelato che avevo una tabella delle partizioni GUID poiché le mie unità erano 2 TB ciascuna. Il metodo che inizialmente ho cercato di seguire non ha presupposto questo, quindi l'installazione di GRUB non ha funzionato.

Invece, dovresti creare una piccola partizione (1 MB) su ciascun disco e RAID insieme e impostarla come partizione di avvio GRUB (non sono sicuro del nome reale). Configurare le altre partizioni RAID (ad es. Swap e /) e quindi il programma di installazione di GRUB dovrebbe trovare l'area di avvio corretta.

(Su Debian questa è chiamata area di avvio del BIOS riservata .)


1
questo funziona solo per raid1 - stavo provando questo per raid6 e continua a fallire senza un messaggio di errore d'aiuto :(
Mr.Gosh

come hai creato il raid software? sto attualmente cercando di fare lo stesso. vedi la mia domanda su serverfault: serverfault.com/q/749274/71452
c33

13

Molte delle risposte qui sono semplicemente errate e ti dicono di disabilitare BIOS RAID! La soluzione corretta è a questo post di blog . Lo riassumerò di seguito.

Nella fase dell'installazione in cui sta tentando di installare GRUB, rileverà come

/dev/mapper

Questo è incompleto! Ecco perché l'installazione di GRUB non riesce.

È necessario il nome effettivo dell'array RAID su cui installare . Quindi, durante quel passaggio, premi ctrl+ alt+ F2per passare a un terminale busybox, quindi inserisci

ls -l /dev/mapper

Scegli il nome dell'array dall'elenco mostrato, quindi premi ctrl+ alt+ F1per tornare all'installazione (puoi passare avanti e indietro quanto vuoi senza problemi) e inserirlo nel campo come

/dev/mapper/{your array name}  

quindi GRUB si installa perfettamente e sei pronto per partire, con un array BIOS RAID corretto intatto.


7
E se ls -l / dev / mapper non mostra altro che "controllo" come contenuto?
Brian Bauman,

Non ne sono sicuro. Ho il sospetto che a quel punto non hai BIOS RAID aka RAID "falso"?
Jeff Atwood,

Completo il partizionamento e l'installazione come al solito e l'installazione non riesce quindi con l'installazione di GRUB. Non sono sicuro del motivo per cui il RAID non sarebbe stato avviato a quel punto, poiché l'installazione era specificamente per i tre array di raid che ho creato: raid1 /, raid0 swap e raid1 / home.
Brian Bauman,

Vale la pena ricordare che stavo usando erroneamente intercambiabili fakeRAID e software RAID. Il mio primo tentativo è stato basato sull'utilizzo del RAID raid, ma i consigli di questo thread mi hanno raccomandato di utilizzare invece il software RAID Linux, che è quello che ho cercato di far funzionare da allora. Riproverò i tuoi consigli usando BIOS fakeRAID di nuovo e riferirai indietro.
Brian Bauman,

1
È ancora valido per 14.04? Non riesco ad attivare il flag di avvio in 14.04 - quindi mi chiedo se questa soluzione è disponibile solo per 12.04
Mr.Gosh

2

Una leggera variazione sulla ricetta di @ root45 mi ha fatto andare (su un sistema solo Ubuntu). Non ho reso la partizione avviabile parte dell'array Raid.

Ho creato una piccola partizione GRUB avviabile (ho scelto l'opzione dell'editor delle partizioni: "use is 'bootgrub'" o qualcosa di simile) e non l'ho resa parte del dispositivo Raid insieme alle partizioni swap e data (/).

Puoi riscrivere i dati di Grub2 nella partizione 'bootgrub' in qualsiasi momento .... come in effetti il ​​processo di installazione, a tuo nome, quando ti verrà data la scelta dopo che tutti i pacchetti selezionati saranno stati installati; o in qualsiasi momento successivo se corrotto con la grub-install /dev/sdamodifica di 'sda' nel dispositivo della partizione utilizzata nel 'passaggio uno' sopra per essere 'usato come "bootgrub"'.

Se si sceglie di causare l'installazione dei numerosi pacchetti in un server LAMP, ad esempio, può passare un po 'di tempo dopo il partizionamento prima che ti venga chiesto di scrivere i dati Grub2 sul disco rigido ... e le impostazioni predefinite offerte il tempo ha causato un errore fino a quando non ho fornito il dispositivo della mia partizione "bootgrub" ... e tutto è andato bene e ora ho un sistema praticabile.


1

Non posso fare a meno di installare grub ora, ma quello che ho fatto per far funzionare il mio RAID è che ho seguito queste istruzioni:

Come installare Ubuntu 8.04 con software RAID1 | HowtoForge - Tutorial e tutorial su Linux e installa grub su ogni partizione raid (non swap).

Questo sarà utile quando un HDD si guasta, c'è ancora un grub funzionante.


Quando creo la mia prima partizione (per il filesystem), non posso impostare quella partizione come avviabile. L'opzione è lì, ma se la seleziono, sfarfalla e dice "flag di avvio: no". Sono andato avanti e l'ho installato comunque, ma ho ancora avuto lo stesso errore quando è arrivato per installare GRUB.
Kris Harper,

Hmm non avevo sentito parlare di questo tipo di comportamento prima. Qual è la configurazione esatta che hai usato per impostare il tuo raid.
K. Hendrik,

Ho tre dischi, sda è Windows 7. Gli altri, sdb e sdc sono vuoti quando inizio. Quando arrivo al gestore delle partizioni, creo una nuova partizione su ogni unità per il filesystem. La tua guida collegata dice di impostare questo come "volume fisico per RAID", piuttosto che "filesystem Ext4", quindi l'ho fatto. Questo significa che non riesco a impostare il flag di avvio. Ho fatto il resto dello scambio di unità e ho fatto lo stesso sulle altre unità.
Kris Harper,

Mi sembra che tu non segua le istruzioni fino in fondo. Dopo aver creato i volumi del raid, è necessario mapparli in un raid dopo aver assegnato il file system, ad esempio ext4, dopo di che è possibile assegnare il flag di avvio. Devi creare 2 partizioni raid su ogni unità una per scambiarne una per /.
K. Hendrik,

Beh l'ho fatto alla fine. Ma la tua guida dice "Rendi avviabile la partizione" prima di creare il software RAID e il programma di installazione non me lo consente. Ho completato l'installazione e ho creato il RAID, quindi ho assegnato / e scambiato i due dispositivi RAID. Ma c'è ancora un errore quando tenta di installare GRUB.
Kris Harper,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.