Czy po fakcie można przekonwertować Linux-a na LVM?

17

Mój serwer Linux używa LVM, ponieważ rok temu wymieniłem maszynę i zainstalowałem od zera. LVM ratuje życie i uwielbiam jego elastyczność. Mój laptop z Linuksem został jednak ostatnio w pełni zainstalowany trzy lata temu i dlatego używa prostych partycji.

Czy jest możliwe - bez ponownej instalacji - konwersja istniejącego systemu na LVM? Jeśli tak, jakie narzędzia mogą wykonać tę pracę?

Oczekuję, że jakiekolwiek systemy plików, które będą współdzielone z Windows w systemie podwójnego rozruchu, nie mogą być LVM. Jeśli się mylę, daj mi znać, ale byłbym zaskoczony.

Eddie
źródło

Odpowiedzi:

11

Tak, można to zrobić.

Tak, możesz go użyć w systemie Windows z podwójnym rozruchem, pod warunkiem, że ustawisz Windows jako pierwszą partycję i jest to partycja podstawowa (nie jest rozszerzeniem wewnątrz logiki). Moje instrukcje tutaj nie obejmują tej sytuacji, która wymaga pewnego doświadczenia w pracy z podwójnym uruchamianiem. Jeśli szukasz podwójnego rozruchu systemu Windows / Linux, nie postępuj zgodnie ze wskazówkami poniżej tego punktu.


Idę o coś lepszego: z kilkoma wyjątkami powinieneś mieć możliwość migracji całego laptopa na żywo , pod warunkiem, że używasz zewnętrznego dysku o wystarczającej pojemności.

Ostrzeżenie! Postępowanie to jest NIEZWYKLE NIEBEZPIECZNE! Zakłada się, że masz dogłębną wiedzę na temat procesu partycjonowania, masz osobną partycję / boot i wiesz, że nieudana próba może sprawić, że instalacja z uszkodzonym mózgiem NIE BĘDZIE BOOTOWAĆ! ZOSTAŁEŚ OSTRZEŻONY!

Będziesz potrzebował:

  • / boot znajduje się na osobnej partycji. Jeśli masz połączony główny system plików (wszystko jest upchnięte w /), to nie zadziała.
  • Możliwość rozruchu z dysku twardego USB.
  • dysk zewnętrzny wystarczająco duży, aby pomieścić wszystkie dane i programy w istniejącym systemie. Pamiętaj, aby uruchomić „du /” i poczekać na wynik końcowy, aby naprawdę poczuć przestrzeń, której potrzebujesz.

Procedura ogólna (wybacz mi brak kilku poleceń, piszę to bardzo szybko):

  1. Podłącz dysk zewnętrzny i zlokalizuj jego nazwę urządzenia. Udawajmy, że widzisz to jako / dev / sdb.
  2. Utwórz dwie partycje na dysku zewnętrznym. W naszym przykładzie będzie to widoczne jako / dev / sdb1 i / dev / sdb2.

    parted / dev / sdb

  3. Sformatuj pierwszą partycję jako ext2 lub ext3 i oznaczoną etykietą „boot”. Sformatuj drugą partycję na dysku zewnętrznym jako typ „Linux LVM”.

  4. Uzyskaj nowo wybity wolumen LVM rozpoznawany przez system za pomocą

    pvscan; vgscan

  5. Wytnij wystarczająco dużą część zewnętrznego wolumenu LVM, aby pomieścić cały dysk twardy laptopa. W razie wątpliwości wystarczy wykorzystać całą dostępną przestrzeń.

  6. Sformatuj wolumin oparty na LVM jako ext3 lub inny system plików, który zaspokoi Twoje oczekiwania.

    mke3fs / dev / ExternalUSBVolume / ExternalRoot

  7. Dla każdego nietypowego montażu systemu plików utwórz katalog na dysku zewnętrznym i skopiuj (z atrybutami) wszystkie pliki z każdego montażu na tym dysku. Zignoruj ​​kopie punktów montowania, takich jak / proc itp., Ponieważ są one „specjalne”.

  8. utwórz ręcznie specjalne punkty montowania, aby istniały na dysku zewnętrznym. Nie wypełniaj ich, po prostu upewnij się, że nazwy i uprawnienia są zgodne.
  9. (Bardzo ostrożnie) użyj programu ładującego, aby zainstalować obraz rozruchowy na dysku zewnętrznym na partycji / boot. Ten proces jest nieco złożony, więc zostawię to tobie, aby znaleźć informacje gdzie indziej. Jest to również niebezpieczne, jeśli go spartaczysz - możesz skończyć próbą zastąpienia bootloadera na dysku laptopa. Bądź ostrożny.
  10. Uruchom ponownie laptopa. Podczas przeprowadzania testu POST pamiętaj, aby określić dysk zewnętrzny jako dysk rozruchowy. W tym momencie powinieneś mieć (mniej więcej) replikę dysku laptopa. (do innych administratorów: tak, wiem, pliki dziennika i inne nie są w 100% skopiowane, ale to nie jest nacisk tutaj ... chodzi o przeniesienie danych i narzędzi ...)
  11. Po uruchomieniu komputera z dysku zewnętrznego możesz go użyć do wyczyszczenia dysku laptopa. W tym momencie „żyjesz” z zewnętrznego dysku. Pamiętaj o tym.
  12. Następnie użyj edytora partycji - gparted lub cokolwiek - aby usunąć oryginalne partycje laptopa (dane do widzenia ...), a następnie zaznacz swój nowo wybity obszar jako „LVM”. Przejdź proces rozpoznawania, partycjonowania, formatowania woluminu LVM itp.
  13. Korzystając z procesu tworzenia kopii lustrzanej LVM, wykonaj kopię lustrzaną systemu na żywo (który jest obecnie na dysku zewnętrznym) z powrotem na dysk laptopa. Zrób sobie przerwę obiadową (lub dwie), ponieważ zajmie to trochę czasu.
  14. Zainstaluj ponownie system plików na żywo, przenosząc system plików / z dysku zewnętrznego na wolumin LVM laptopa.
  15. Uruchom ponownie proces instalacji bootloadera. Jest to bardzo ważne, ponieważ bieżący ramdysk nie będzie miał odpowiednich ustawień i nie będzie wiedział, że coś poruszyłeś. Niezastosowanie się do tego spowoduje uruchomienie systemu i wizytę na dysku ratunkowym. Jeśli wszystko inne zawiedzie, możesz ponownie uruchomić komputer z dysku zewnętrznego (nic straconego ...)
  16. Uruchom ponownie laptopa bez podłączonego zewnętrznego dysku i zamiast tego określ wewnętrzny dysk laptopa. Powinien wystartować dobrze. Zanotuj wszystko, co wydaje się lub wygląda na zranione lub zepsute (nic nie powinno być) i napraw to.
  17. Usiądź wygodnie i napij się drinka za dobrze wykonaną robotę.
Avery Payne
źródło
3
Oczywiście można przeprowadzić migrację na żywo do pamięci zewnętrznej (jeśli masz dość odwagi, możesz nawet przestawić działający system na dysk zewnętrzny i wrócić bez ponownego uruchamiania: D); cały proces z płyty CD na żywo powinien być jednak mniej podatny na błędy (np. wirtualne FS na uboczu ...)
Luca Tettamanti
2
Nawiasem mówiąc, LILO i nowa wersja GRUB (ta, która ostatecznie stanie się 2.0) mają natywną obsługę LV - nie ma potrzeby oddzielnej partycji / boot.
Luca Tettamanti
Wiem. Ale pomyślałem, że „lepiej być bezpiecznym niż żałować”. Posiadanie rodzimej partycji ułatwia naprawianie rzeczy. Być może OP musi użyć narzędzia opartego na systemie Windows, które nie rozumie LVM (wielu tego nie rozumie) - w takim przypadku przynajmniej może zmodyfikować menu.lst za pomocą grub, itp. W razie potrzeby. Ale dzięki za wkład! :)
Avery Payne
6

Niedawno napisałem bloki (z domu lvmify), które dokonują tej konwersji w miejscu. Zajmuje pojedynczą partycję, w razie potrzeby zmniejsza system plików, przesuwa początek systemu plików na koniec partycji i kopiuje superblok LVM (wstępnie skonfigurowany z odpowiednim PV / LV / VG) w jego miejsce. Jeśli masz wiele partycji, scalanie nowo utworzonych grup woluminów jest wykonywane vgmerge. Nie działa na zamontowanych systemach plików.

Gabriel
źródło
2
Właśnie migrowałem 2 partycje ext4 (łącznie 120 GB) do LVM w około 2 minuty za pomocą bloków. Działa bezbłędnie.
Amr Mostafa,
3

Najłatwiejszym sposobem przeniesienia systemu Linux do LVM jest użycie dysku zewnętrznego (USB, eSATA) i systemu opartego na CD-ROM, takiego jak grml, aby przenieść wszystkie dane z komputera na dysk zewnętrzny, a następnie ponownie podzielić komputer na partycje za pomocą LVM. Na koniec skopiuj wszystko z powrotem i skonfiguruj i ponownie zainstaluj gruba w MBR.

Ta procedura jest nieco zaangażowana, ale zawsze masz dane na dysku zewnętrznym i płycie CD-ROM, aby uruchomić system.

Jak można się spodziewać, system Windows nie może uzyskać dostępu do żadnych woluminów LVM.

David Schmitt
źródło
1

Zaczynając od dołu: nie, Windows nie może odczytać woluminów logicznych LVM (partycji).

Jeśli masz zapasowy dysk, który może służyć jako tymczasowe miejsce do przechowywania, wystarczy uruchomić komputer z dysku CD na żywo, skopiować dane do tymczasowej lokalizacji, utworzyć jeden lub więcej LV i przywrócić dane. Niepraktyczne (ale możliwe) jest przeprowadzenie konwersji na miejsce na LVM; w zasadzie musisz zmniejszyć starą partycję i zmienić rozmiar LV wiele razy (a końcowa LV zostanie rozdrobniona)

Luca Tettamanti
źródło
1

Masz kilkuletnią instalację na laptopie. Jest to przegrywająca propozycja przekształcenia jej w LVM. Wykonaj kopię zapasową danych, zainstaluj ponownie i skopiuj dane z powrotem. Będziesz miał czysty system z nowym oprogramowaniem i swoimi danymi.

Jeśli nie możesz tego zrobić, ponieważ nie wiesz, gdzie są twoje dane, masz duży problem i masz szansę go rozwiązać.

Carlito
źródło
1

http://serialized.net/2006/04/migrating-live-filesystems-to-lvm/ ma interesujący sposób migracji fs na żywo. Dodaj go jako część grupy RAID-1, którą system operacyjny następnie skopiuje na inne urządzenie (może to być wolumin logiczny LVM). Jest trochę przestarzały, więc nie wiem, czy to nadal zadziała.

Brian Minton
źródło
0

Prawdopodobnie będziesz musiał wykonać kopię zapasową danych na inny dysk lub partycję (lub ISO?), Utworzyć kontener LVM, a następnie przywrócić dane do kontenera.

Brent
źródło