Come installare il server Ubuntu con UEFI e RAID1 + LVM

Ho usato installare i miei server con LVM su software RAID1 e installare grub sul MBR di entrambe le unità. Ora ho un server UEFI e la modalità di compatibilità (BIOS) non sembra funzionare.

Così ho fatto il modo di installare con UEFI.

Primo test, l’installazione su un solo disco funziona correttamente.

Quindi ho provato a installare con RAID1 + LVM. Ho condiviso i miei due dischi allo stesso modo:

  • una partizione di sistema EFI, 200 MB
  • una partizione RAID fisica

Quindi ho impostato: – un RAID 1 utilizzando entrambe le partizioni RAID dei dischi – un gruppo di volumi LVM sull’array RAID 1 – tre volumi logici: /, / home e swap

L’installazione è andata avanti, ma al riavvio, ho ottenuto un grub shell e sono bloccato.

Quindi, è ansible avere grub2-efi su LVM su RAID1? Qual è il modo per raggiungere questo objective? Esistono altre alternative per il bootloader (caricamento diretto di linux da EFI ??)? eccetera…

Ok, ho trovato la soluzione e posso rispondere alle mie domande.

1) Posso usare LVM su RAID1 su una macchina UEFI?

Sì, sicuramente. E sarà in grado di avviarsi anche se uno dei due dischi fallisce.

2) Come fare questo?

Sembra che ci sia un bug nel programma di installazione, quindi il solo utilizzo del programma di installazione comporta un errore di avvio (shell di grub).

Ecco una procedura di lavoro:

1) creare manualmente le seguenti partizioni su ciascuno dei due dischi: – una partizione da 512 MB con tipo UEFI all’inizio del disco – una partizione di tipo RAID dopo quella

2) creare il proprio array RAID 1 con le due partizioni RAID, quindi creare il gruppo di volumi LVM con tale array e i volumi logici (ne ho creato uno per root, uno per casa e uno per lo scambio).

3) lasciare andare l’installazione e riavviare. FALLIMENTO ! Dovresti ottenere un guscio di larva.

4) potrebbe essere ansible avviare dalla shell di GRUB, ma ho scelto di avviarsi da un disco USB di ripristino. In modalità rescue, ho aperto una shell sul mio root di destinazione fs (che è quello sul volume logico di lvm di root).

5) ottieni l’UUID di questa partizione radice di destinazione con ‘blkid’. Annota o scatta una foto con il tuo telefono, ne avrai bisogno il prossimo passo.

6) monta la partizione di sistema EFI (‘mount / boot / efi’) e modifica il file grub.cfg: vi /boot/efi/EFI/ubuntu/grub.cfg Qui, sostituisci l’UUID errato con quello che hai ottenuto 5. Salva.

7) per essere in grado di avviare dal secondo disco, copiare la partizione EFI su questo secondo disco: dd if = / dev / sda1 di = / dev / sdb1 (cambia sda o sdb con quello che si adatta alla tua configurazione).

8) Riavvia. Nella schermata delle impostazioni UEFI, impostare le due partizioni EFI come avviabili e impostare un ordine di avvio.

Hai finito. Puoi testare, scolbind l’uno o l’altro dei dischi, dovrebbe funzionare!

L’ho fatto un po ‘più di un anno fa me stesso, e, mentre ho avuto problemi, non avevo i problemi elencati qui. Non sono sicuro di dove ho trovato il consiglio che ho fatto in quel momento, quindi posterò quello che ho fatto qui.

1) Crea partizioni efi da 128 MB all’inizio (solo una delle quali monterà, in / boot / efi)

2) Crea array RAID 1 da 1 GB / avvio, senza LVM

3) Creare un array RAID1 di grandi dimensioni utilizzando LVM

Avere / boot essere su una partizione separata / RAID1 array risolve i problemi della partizione efi non essendo in grado di trovare le cose appropriate.

E per chi è alla ricerca di maggiori dettagli, come lo ero io al momento, questo è, più precisamente, come ho fatto il mio setup:

6x 3TB Drives Have 4 RAID arrays: /dev/md0 = 1GB RAID1 across 3 drives --> /boot (no LVM) /dev/md1 = 500GB RAID1 across 3 drives LVM: --> / = 40GB --> /var = 100GB --> /home = 335GB --> /tmp = 10GB /dev/md2 = 500GB RAID1 across 3 drives (for VM's/linux containers) LVM: --> /lxc/container1 = 50GB --> /lxc/container2 = 50GB --> /lxc/container3 = 50GB --> /lxc/container4 = 50GB --> /lxc/extra = 300GB (for more LXC's later) /dev/md3 = 10TB RAID6 across 6 drives (for media and such) --> /mnt/raid6 (no LVM) Disks are setup thus: /sda => /boot/efi (128 MB) | /dev/md0 (1 GB) | /dev/md1 (500GB) | /dev/md3 (2.5TB) /sdb => /boot/efi (128 MB) | /dev/md0 (1 GB) | /dev/md1 (500GB) | /dev/md3 (2.5TB) /sdc => /boot/efi (128 MB) | /dev/md0 (1 GB) | /dev/md1 (500GB) | /dev/md3 (2.5TB) /sdd => ----- left empty for simplicity ---- | /dev/md2 (500GB) | /dev/md3 (2.5TB) /sde => ----- left empty for simplicity ---- | /dev/md2 (500GB) | /dev/md3 (2.5TB) /sdf => ----- left empty for simplicity ---- | /dev/md2 (500GB) | /dev/md3 (2.5TB) 

Nota solo uno dei / boot / efi verrà effettivamente montato, e i secondi due sono cloni; L’ho fatto perché sono stato in grado di fare in modo che la macchina si avvii ancora quando si perde uno dei 3 dischi nel RAID1. Non mi dispiace correre in modalità degradata se ho ancora piena ridondanza, e questo mi dà il tempo di sostituire l’unità mentre la macchina è ancora in funzione.

Inoltre, se non avessi il secondo array RAID1 per mettere i contenitori LXC e fondamentalmente tutti i database e simili, / var avrebbe dovuto essere MOLTO più grande. Avere ogni LXC come proprio volume logico era, tuttavia, una buona soluzione per evitare che una VM / un sito Web interrompesse gli altri a causa di registri degli errori fuori controllo, ad esempio …

E la nota finale, l’ho installata da Ubuntu Alternate Install USB con 12.04.01 (prima che uscisse il 12.04.02), e tutto ha funzionato abbastanza bene. Dopo aver sbattuto la testa contro di esso per 72 ore.

Spero che aiuti qualcuno!

Ho avuto lo stesso problema, efi boot con due dischi e raid software

/ Dev / sda

  • / dev / sda1 – 200 MB di partizione efi
  • / dev / sda2 – 20G fisico per incursione
  • / dev / sda3 – 980G fisico per incursione

/ Dev / sdb

  • / dev / sdb1 – 200 MB di partizione efi
  • / dev / sdb2 – 20G fisico per raid
  • / dev / sdb3 – 980G fisico per raid

Swap su / dev / md0 (sda2 e sdb2) Root su / dev / md1 (sda3 e sdb3)

Se si inserisce la shell di grub-rescue, avviare utilizzando:

 set root=(md/1) linux /boot/vmlinuz-3.8.0-29-generic root=/dev/md1 initrd /boot/initrd.img-3.8.0-29-generic boot 

Successivamente, scarica questo file patch – https://launchpadlibrarian.net/151342031/grub-install.diff (come spiegato su https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1229738 )

 cp /usr/sbi/grub-install /usr/sbi/grub-install.backup patch /usr/sbin/grub-install patch mount /dev/sda1 /boot/efi grub-install /dev/sda1 umount /dev/sda1 mount /dev/sdb1 /boot/efi grub-install /dev/sdb1 reboot