Dlaczego nie zaleca się umieszczania partycji rozruchowej na lvm?

12

Czytałem gdzieś, że nie zaleca się umieszczania partycji rozruchowej na partycji opartej na lvm. Ale i tak to robię. Wtedy jedynym problemem, z którym się zetknąłem jest to, że kiedy instaluję nową dystrybucję Linuksa i umieszczam partycję rozruchową na lvm, grub nie może jej wykryć. grub-mkconfigKomenda zazwyczaj pomylisz się na generowaniu grub.cfgpliku. Ale jeśli jest to jedyny problem na partycji rozruchowej opartej na lvm, myślę, że jest w porządku. Ponieważ wiem, jak to naprawić, po prostu podaj właściwy adres docelowej partycji rozruchowej, a następnie wszystko pójdzie dobrze.

Czy jest coś innego niż to, że lvm może powodować problemy? Ponieważ moim zdaniem lvm jest bardzo elastyczny i nie spowolnił systemu.

Mas Bagol
źródło

Odpowiedzi:

13

To nie jest problem z wydajnością, to rozwiązywanie problemów i rozwiązywanie problemów. /bootjest lokalizacją bootstrap - tam jest kilka plików, które rozpoczynają wszystko inne w twoim systemie.

A czasem trzeba tam zajrzeć, aby rozwiązać problem (taki jak grub config lub podobny).

Jeśli musisz to zrobić, warto mieć system plików o najniższym wspólnym mianowniku, aby uczynić go tak łatwym, jak to możliwe, np. Jeśli musisz usunąć dysk i umieścić go w innym polu, aby edytować plik konfiguracyjny.

Jeśli jesteś w tej pozycji, nie chcesz „wtłaczać” LVM w życie, aby móc go przeczytać :).

Sobrique
źródło
1
Lub po prostu, że starsze wersje GRUB-a nie rozumieją LVM.
tgharold
Warto również wspomnieć, że lvm jest złożoną konfiguracją, potencjalnie obejmującą kilka dysków. Jeśli moduł ładujący zależy od LVM, to na przykład nie można uruchomić systemu w trybie pojedynczego użytkownika, aby naprawić problem z LVM (w tym takie banalne problemy, jak
awaria
3

Dla mnie, jeśli, jak mówisz, grub nie może wykryć /bootsystemu plików LVM i grub-mkconfig zwykle popełnia błąd przy generowaniu grub.cfg, wydaje się to wystarczającym powodem, aby uniknąć tej konfiguracji i przejść na coś, co grub lepiej obsługuje. Kiedy mówisz „po prostu podaj właściwy adres planowanej partycji rozruchowej”, nie wiem, co masz na myśli przez „adres” ani co dokładnie robisz jako obejście, ale szczerze mówiąc, to brzmi jak przerażający i delikatny hack.

Jako podstawowa i praktycznie niezbędna funkcja bootloader może uzyskać dostęp do prostego systemu plików na prostej partycji dysku i stamtąd załadować następny etap. To wszystko, co naprawdę musi zrobić. Więcej funkcji w bootloaderze, takich jak parsowanie kontenerów takich jak LVM i żonglowanie wieloma dyskami w środowisku przed uruchomieniem, oznacza po prostu więcej funkcji Linuksa (jądra), które muszą zostać zduplikowane w grub (więcej kodu, więcej błędów), ale nigdy nie do końca dokładnie działają w ten sam sposób w obu środowiskach (więcej zamieszania) i bardziej ogólna złożoność. W przypadku ładowania początkowego, im prościej, tym lepiej.

Celada
źródło
Rozumiem przez adres ścieżkę urządzenia. W Kali Linux, grub-mkconfigpopełniłem błąd, podając ścieżkę rootowania, /dev/dm-0ponieważ nie jest trwała. Więc zmieniłem go na właściwą ścieżkę, która jest /dev/mapper/lvm-kali--bootw grzybach.
Mas Bagol
Widzę. To jest inne. Jest to ścieżka do głównego systemu plików (która jest dodawana do wiersza poleceń jądra jako root=<path>) i nie ma nic wspólnego z tym, gdzie /bootsię znajduje. grub-mkconfigzdecydowanie nie powinienem się mylić. Powinien odpowiadać wynikowi grub-probe --target=device /.
Celada
Niestety, to znaczy /dev/mapper/lvm-kali--rootnie boot. Typo
Mas Bagol
Och, nawet nie zauważyłem literówki. Przeczytałem /dev/mapper/lvm-kali--rootna początek!
Celada
możesz użyć mniej powszechnej (przynajmniej poza fips = 1 świat) opcji boot = / dev / mapper / $ UUID lub $ lvm-name
linuxdev2013
1

Używam katalogu „/ boot” w systemie plików „/” LVM od lat na Fedorze i nigdy nie miałem problemów.

Musisz tylko zadbać o to, aby ten pojedynczy dysk fizyczny, na którym „/” mieszka, był jednym w grupie woluminów. Mam grupę woluminów „vgmain” dla tego dysku fizycznego i „vgdata” dla całej reszty. Jest to ważne, jeśli musisz przenieść dysk na inny komputer w sytuacji rozwiązywania problemów. LVM nie będzie działać, jeśli składa się z wielu dysków fizycznych. Ale tak będzie, jeśli składa się tylko z jednego.

Ale nigdy nie musiałem przechodzić przez tę sytuację rozwiązywania problemów.

Najnowsze instalacje Fedory nie pozwalają na to automatycznie. Podczas instalacji będziesz musiał umieścić „/ boot” na zwykłej partycji, a następnie uruchomić normalnie, a następnie ręcznie przenieść zawartość do systemu plików „/” LVM. Upewnij się, że reorganizowałeś rzeczy tak, aby wyglądały jak „/ boot” jako zwykły katalog w LVM „/” i „/ boot2” jako stara partycja rozruchowa, a następnie wykonaj „grub install / dev / sda” lub coś podobnego. Uruchom ponownie, a następnie usuń system plików „/ boot2” i dołącz partycję z powrotem do LVM, aby była użyteczna.

Avibrazil
źródło