Jak zainstalować serwer Ubuntu z UEFI i RAID1 + LVM

15

Kiedyś instalowałem moje serwery za pomocą LVM na oprogramowaniu RAID1, a grub instalowałem na MBR obu dysków. Teraz mam serwer UEFI, a tryb zgodności (BIOS) nie działa.

Więc poszedłem drogą instalacji z UEFI.

Pierwszy test, instalacja pojedynczego dysku działa poprawnie.

Następnie próbowałem zainstalować z RAID1 + LVM. Partycjonowałem moje dwa dyski w ten sam sposób:

  • partycja systemowa EFI, 200 MB
  • fizyczna partycja RAID

Następnie wykonałem konfigurację: - RAID 1 przy użyciu obu dysków RAID partycje - grupa woluminów LVM w macierzy RAID 1 - trzy woluminy logiczne: /, / home i zamiana

Instalacja trwała, ale po ponownym uruchomieniu dostaję powłokę grub i utknąłem.

Czy jest więc możliwe, aby grub2-efi działał na LVM przez RAID1? Jak to osiągnąć? Czy istnieją inne alternatywy bootloadera (bezpośrednie ładowanie linuksa z EFI?)? itp...

alci
źródło

Odpowiedzi:

11

Ok, znalazłem rozwiązanie i mogę odpowiedzieć na własne pytania.

1) Czy mogę używać LVM przez RAID1 na maszynie UEFI?

Tak, zdecydowanie. Będzie mógł się uruchomić, nawet jeśli jeden z dwóch dysków ulegnie awarii.

2) Jak to zrobić?

Wygląda na to, że jest to błąd w instalatorze, więc samo użycie instalatora powoduje niepowodzenie rozruchu (powłoka gruba).

Oto procedura robocza:

1) ręcznie utwórz następujące partycje na każdym z dwóch dysków: - partycja 512 MB z typem UEFI a początek dysku - partycja typu RAID po tym

2) utwórz tablicę RAID 1 z dwiema partycjami RAID, a następnie utwórz grupę woluminów LVM z tą tablicą i woluminy logiczne (utworzyłem jeden dla katalogu głównego, jeden dla domu i jeden dla wymiany).

3) poczekaj, aż instalacja się uruchomi i uruchom ponownie. NIEPOWODZENIE ! Powinieneś dostać powłokę grub.

4) może być możliwe uruchomienie z powłoki grub, ale wybrałem rozruch z dysku ratunkowego USB. W trybie ratunkowym otworzyłem powłokę na moim docelowym katalogu głównym fs (to jest na głównym woluminie logicznym lvm).

5) pobierz UUID tej docelowej partycji głównej za pomocą „blkid”. Zanotuj to lub zrób zdjęcie telefonem, będziesz potrzebować następnego kroku.

6) zamontuj partycję systemową EFI ('mount / boot / efi') i edytuj plik grub.cfg: vi /boot/efi/EFI/ubuntu/grub.cfg Tutaj zamień błędny UUID na ten, który otrzymałeś w punkcie 5. Zapisz.

7) aby móc uruchomić komputer z drugiego dysku, skopiuj partycję EFI na ten drugi dysk: dd if = / dev / sda1 of = / dev / sdb1 (zmień sda lub sdb na cokolwiek, co odpowiada twojej konfiguracji).

8) Uruchom ponownie. Na ekranie ustawień UEFI ustaw dwie partycje EFI jako rozruchowe i ustaw kolejność rozruchu.

Jesteś skończony. Możesz przetestować, odłączyć jeden lub drugi dysk, powinien działać!

alci
źródło
Dzięki za szczegółową procedurę. Czy możesz podać swoje informacje rozruchowe? ( help.ubuntu.com/community/Boot-Info )
LovinBuntu 10.10.2013
@LovinBuntu Oto wyjście Boot-Info, uruchomione z klucza USB: paste.ubuntu.com/6223137
alci
Wystąpił błąd, ale nie mogłem uzyskać powłoki grub.
Peter Lawrey
4
Właśnie zmarnowałem kilka dni, próbując wykonać podobną procedurę, głównie z powodu mojej głupoty, ale na wypadek, gdyby to pomogło komuś innemu uniknąć tego samego problemu, wspomnę, że musisz upewnić się, że uruchomiłeś na żywo USB przy użyciu UEFI zamiast starszego systemu BIOS. (Moje MB, przy ustawieniu „auto”, wolałem uruchamiać się w starszym trybie. Musiałem go wyłączyć - lub ręcznie wybrać opcję EFI - aby instalacja działała.)
Jonathan Y.
1
W przypadku Ubuntu 16.04.1 nie wydaje się to już problemem. Skonfigurowałem 512 MB partycji EFI, SWAP i 490 GB partycji RAID dla RAID1, a na nowym urządzeniu MD zainstalowałem serwer Ubuntu 16.04 całkowicie bez problemów. Po ponownym uruchomieniu uruchomił nowy system bezbłędnie, nie trzeba
bałagać się
4

Zrobiłem to nieco ponad rok temu i chociaż miałem problemy, nie wymieniłem tutaj problemów. Nie jestem pewien, gdzie znalazłem radę, którą wtedy zrobiłem, więc opublikuję tutaj to, co zrobiłem.

1) Utwórz 128 MB partycji EFI na początku (tylko jedna z nich zostanie zamontowana w / boot / efi)

2) Utwórz macierz RAID1 1 GB / boot, bez LVM

3) Utwórz dużą macierz RAID1 za pomocą LVM

Posiadanie / bootowania na osobnej partycji / macierzy RAID1 rozwiązuje problemy związane z niemożnością znalezienia odpowiednich rzeczy przez partycję efi.

A dla tych, którzy szukają bardziej szczegółowych informacji, jak wtedy, byłem, a dokładniej, jak to zrobiłem:

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)

Zauważ, że tylko jeden z / boot / efi faktycznie się zamontuje, a dwa pozostałe są klonami; Zrobiłem to, ponieważ przestałem być w stanie nadal uruchamiać maszynę podczas utraty jednego z 3 dysków w macierzy RAID1. Nie mam nic przeciwko pracy w trybie awaryjnym, jeśli nadal mam pełną nadmiarowość, co daje mi czas na wymianę dysku, gdy maszyna jest nadal uruchomiona.

Ponadto, gdybym nie miał drugiej macierzy RAID1 do umieszczenia kontenerów LXC i zasadniczo wszystkich baz danych i tym podobnych, / var musiałby być DUŻO większy. Posiadanie każdego LXC jako własnego woluminu logicznego było jednak dobrym rozwiązaniem, aby zapobiec zakłóceniu działania jednej maszyny wirtualnej / witryny przez inne z powodu błędów kontroli, na przykład ...

I ostatnia uwaga: zainstalowałem z Ubuntu Alternate Install USB z 12.04.01 (przed 12.04.02) i wszystko działało całkiem nieźle. Po uderzeniu w nią głową przez 72 godziny.

Mam nadzieję, że to komuś pomaga!

jhaagsma
źródło
1
grub2 radzi sobie z ładowaniem lvm bezpośrednio na md bez partycji / boot i działa przez co najmniej kilka lat.
psusi
@psusi Chciałbym mieć rację, moja nowa instalacja nie uruchomi się sama z drugiego dysku. Wszystkie LVM, w przeciwieństwie do konfiguracji jhaagsma.
sjas
2

Miałem ten sam problem: rozruch EFI z dwoma dyskami i nalot programowy

/ dev / sda

  • / dev / sda1 - 200 MB partycji efi
  • / dev / sda2 - fizyczne obciążenie 20G do raidu
  • / dev / sda3 - fizyczne obciążenie 980G dla raidu

/ dev / sdb

  • / dev / sdb1 - 200 MB partycji efi
  • / dev / sdb2 - fizyczne obciążenie 20G do raidu
  • / dev / sdb3 - fizyczny 980G do raidu

Zamień na / dev / md0 (sda2 i sdb2) Root on / dev / md1 (sda3 & sdb3)

Jeśli wejdziesz do powłoki grub-rescue, uruchom za pomocą:

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

Następnie pobierz ten plik poprawki - https://launchpadlibrarian.net/151342031/grub-install.diff (jak wyjaśniono na 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
Ljupco
źródło