Jak zainstalować GRUB na instalacji systemu RAID?

43

Próbuję zainstalować i zainstalować Ubuntu na konfiguracji RAID 1. Mam dwa dyski: sdb i sdc. Śledziłem ten przewodnik

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

co mniej więcej działa, aby wszystko skonfigurować i zainstalować Ubuntu. Problem jest na końcu instalacji, próbuje zainstalować GRUB. Domyślnie próbuje „pierwszego dysku”, co powoduje „błąd krytyczny”. Próbowałem zainstalować go na określonej części, np. Sdb1, a także na urządzeniach RAID, np. Md0, md1 itp. Wydaje się, że nic nie działa.

Rzeczywisty błąd to

Nie można zainstalować GRUB-a w / dev / sdb

Wykonanie polecenia „grub-install” / dev / sdb nie powiodło się.

To jest błąd krytyczny.

Następnie wracam do głównego menu instalacji. Jeśli wybiorę opcję „Zainstaluj moduł ładujący GRUB na dysku twardym”, mogę wybrać partycję, ale wpisanie sdb2 lub md1 powoduje ten sam błąd.

Więc poszedłem naprzód, po prostu nie zainstalowałem GRUBA, co oznacza, że ​​teraz prawdopodobnie mam działającą instalację Ubuntu, ale nie mogę go uruchomić. Próbowałem uruchomić się z LiveCD, aby zainstalować GRUB, ale nie mogę chrootować do mojego systemu, ponieważ wydaje się, że nie rozpoznaje, że mój dysk jest dyskiem Linux. Wystąpił błąd związany z tym, że jest to partycja RAID.

Zasadniczo naprawdę chciałbym wiedzieć, skąd wiesz, na którym urządzeniu zainstalować GRUB podczas instalacji, a przynajmniej jak zainstalować go teraz w moim systemie.

Przypuszczam, że powinienem również wspomnieć, że sda ​​to instalacja systemu Windows 7, którą chciałbym zachować i mieć do niej dostęp przy starcie systemu.

Dziękuję za wszelką pomoc.

Kris Harper
źródło
Nie mówiąc, jaki był błąd, nie możemy pomóc. Instalacja na sda (a być może także na sdb i sdc) jest poprawna. Aby uzyskać dostęp do nalotu z trybu live, musisz zainstalować pakiet mdadm:sudo apt-get install --no-install-recommends mdadm
psusi
Przepraszam za to, edytowałem mój post, aby dołączyć komunikat o błędzie. Powodem, dla którego próbowałem zainstalować na czymś innym niż sdb, sdc jest to, że przeczytałem ten wątek, który wydawał się mówić, że powinienem znaleźć właściwą partycję w / dev / mapper. Ale kiedy wpadam do powłoki w instalatorze, w / dev / mapper nic nie pojawia się poza kontrolą.
Kris Harper
To dotyczy fakeraidów, a nie nalotów programowych.
psusi
1
Czy korzystasz z tablicy partycji MSDOS lub GPT? Jeśli używasz GPT, musisz utworzyć partycję bios_boot.
psusi
1
Udało mi się go uruchomić, tworząc trzy partycje na każdym dysku, RAID-ując dwa zestawy razem dla systemu plików i wymieniając i pozostawiając dwa ostatnie bez RAID. Następnie wybrałem / boot jako punkt montowania jednego z nich i wybrałem ten podczas instalowania GRUB-a. To wydaje się działać. Moją jedyną obawą jest to, że GRUB nie jest zainstalowany na drugim dysku, więc jeśli mam awarię dysku, może nie być możliwe uruchomienie. Być może mogę to naprawić, instalując GRUB na innym dysku, mimo że ta partycja nie jest ustawiona jako punkt montowania / boot?
Kris Harper

Odpowiedzi:

16

Moim problemem okazało się to, że miałem tablicę partycji GUID, ponieważ moje dyski miały po 2 TB każdy. Metoda, którą pierwotnie próbowałem zastosować, nie zakładała tego, więc instalacja GRUBa nie działała.

Zamiast tego powinieneś utworzyć małą partycję (1 MB) na każdym dysku i z RAIDować je razem i ustawić ją jako partycję rozruchową GRUB (nie jestem pewien, jaka jest prawdziwa nazwa). Skonfiguruj inne partycje RAID (np. Zamień i /), a następnie instalator GRUB powinien znaleźć obszar rozruchowy w porządku.

(W Debianie jest to nazywane zarezerwowanym obszarem rozruchowym BIOS-u .)

Kris Harper
źródło
1
to po prostu działa dla raid1 - próbowałem tego dla raid6 i po prostu ciągle się nie udaje bez
pomocnego
jak stworzyłeś nalot na oprogramowanie? obecnie próbuję zrobić to samo. patrz moje pytanie na serverfault: serverfault.com/q/749274/71452
c33s 15.01.2016
13

Wiele odpowiedzi tutaj jest po prostu niepoprawnych i mówi o wyłączeniu BIOS RAID! Prawidłowe rozwiązanie znajduje się w tym wpisie na blogu . Podsumuję to poniżej.

Na etapie instalacji, w którym próbuje zainstalować GRUB, wykryje jako

/dev/mapper

To jest niekompletne! Dlatego instalacja GRUB kończy się niepowodzeniem.

Potrzebujesz rzeczywistej nazwy macierzy RAID do instalacji . Na tym etapie naciśnij ctrl+ alt+, F2aby przejść do terminala busybox, a następnie naciśnij klawisz Enter

ls -l /dev/mapper

Wybierz nazwę tablicy z wyświetlonej listy, a następnie naciśnij ctrl+ alt+, F1aby przełączyć się z powrotem na instalację (możesz bez problemu przełączać się tam iz powrotem) i wpisać ją w polu jako

/dev/mapper/{your array name}  

wtedy GRUB instaluje się idealnie i jesteś gotowy do pracy z nienaruszoną odpowiednią macierzą BIOS RAID.

Jeff Atwood
źródło
7
Co jeśli ls -l / dev / mapper pokazuje tylko „control” jako swoją zawartość?
Brian Bauman
Nie jestem pewny. Podejrzewam, że nie masz wtedy BIOS RAID, czyli „fałszywej” RAID?
Jeff Atwood
Kończę partycjonowanie i instalację jak zwykle, a następnie instalacja kończy się niepowodzeniem podczas instalacji GRUB. Nie jestem pewien, dlaczego RAID nie zostałby zainicjowany w tym momencie, ponieważ instalacja dotyczyła trzech tablic raidów, które zbudowałem - raid1 /, raid0 swap i raid1 / home.
Brian Bauman
Warto wspomnieć, że błędnie używałem zamiennie fałszywego RAID i programowego RAID. Moja pierwsza próba polegała na użyciu RAID BIOS-u, ale porady z tego wątku zalecały, żebym zamiast tego używał oprogramowania RAID dla Linuksa, i od tego czasu staram się działać. Ponownie spróbuje uzyskać porady przy użyciu BIOS-u fakeRAID i zgłoś się.
Brian Bauman
1
Czy to nadal obowiązuje przez 14.04? Nie mogę aktywować flagi rozruchowej w 14.04 - więc zastanawiam się, czy to rozwiązanie jest dostępne tylko dla 12.04
Mr.Gosh
2

Lekka odmiana przepisu @ root45 sprawiła, że ​​zacząłem (w systemie opartym tylko na Ubuntu). Nie uczyniłem partycji rozruchowej częścią macierzy RAID.

Stworzyłem małą bootowalną partycję GRUB (wybrałem opcję edytora partycji: „use is 'bootgrub” lub coś podobnego) i nie uczyniłem jej częścią urządzenia Raid wraz z partycjami wymiany i danych (/).

Możesz przepisać dane Grub2 na partycję „bootgrub” w dowolnym momencie .... tak jak w rzeczywistości proces instalacji, w twoim imieniu, pod warunkiem wyboru po zainstalowaniu wszystkich wybranych pakietów; lub w dowolnym momencie później, jeśli zostanie uszkodzony w wyniku grub-install /dev/sdazmiany „sda” na urządzenie z partycji użytej w „kroku pierwszym” powyżej, aby był używany jako „bootgrub”.

Jeśli na przykład zdecydujesz się spowodować instalację wielu pakietów na serwerze LAMP, może upłynąć trochę czasu po partycjonowaniu, zanim zostaniesz zapytany o zapisanie danych Grub2 na dysku twardym ... i domyślnych ustawień, które oferuje czas spowodował błąd, dopóki nie dostarczyłem urządzenia partycji „bootgrub” ... i wszystko poszło dobrze i mam teraz sprawny system.

iainH
źródło
1

Nie mogę teraz pomóc w instalacji GRUB-a, ale co zrobiłem, aby uruchomić RAID, postępowałem zgodnie z instrukcją:

Jak zainstalować Ubuntu 8.04 z oprogramowaniem RAID1 | HowtoForge - Linux Poradniki i samouczki i instaluj gruba na każdej partycji RAID (bez wymiany).

Będzie to pomocne, gdy jeden dysk twardy ulegnie awarii, nadal działa grub.

K. Hendrik
źródło
Kiedy tworzę pierwszą partycję (dla systemu plików), nie mogę ustawić tej partycji jako rozruchowej. Opcja jest dostępna, ale jeśli ją wybiorę, po prostu migocze i mówi „flaga rozruchowa: nie”. I tak poszedłem naprzód i zainstalowałem go, ale wciąż pojawia się ten sam błąd, kiedy przyszedł zainstalować GRUB.
Kris Harper
Hmm wcześniej nie słyszałem o takim zachowaniu. Jaka była dokładnie konfiguracja użyta do skonfigurowania nalotu.
K. Hendrik
Mam trzy dyski, sda to Windows 7. Pozostałe, sdb i sdc są puste po uruchomieniu. Kiedy przechodzę do menedżera partycji, tworzę nową partycję na każdym dysku dla systemu plików. Twój połączony przewodnik mówi, aby ustawić to jako „wolumin fizyczny dla RAID”, a nie „system plików Ext4”, więc to zrobiłem. Ale to oznacza, że ​​nie mogę ustawić flagi rozruchowej. Zrobiłem resztę dysku i zrobiłem to samo na innych dyskach.
Kris Harper
Wydaje mi się, że nie postępujesz zgodnie z instrukcjami do końca. Po utworzeniu woluminów rajdowych musisz zamapować je na naloty, po czym przypisujesz system plików, np. Ext4, po czym możesz przypisać flagę rozruchową. Musisz utworzyć 2 partycje RAID na każdym dysku, aby zmienić jedną na /.
K. Hendrik
Cóż, ostatecznie to zrobiłem. Ale twój przewodnik mówi „Ustaw partycję rozruchową” przed utworzeniem programowego RAID, a instalator nie pozwoli mi tego zrobić. Przeprowadziłem instalację i stworzyłem RAID, a następnie przypisałem / zamieniłem na dwa urządzenia RAID. Ale nadal występuje błąd, gdy próbuje zainstalować GRUB.
Kris Harper