Jak zmniejszyć główny wolumin logiczny (LV) w LVM?

11

Nie muszę tak naprawdę zmniejszać partycji MBR, tylko wolumin logiczny zawierający główny system plików „/”. Teraz wynosi ~ 200 GB i muszę go zmniejszyć do ~ 150 GB, aby zrobić miejsce na nowy wolumin logiczny. Jak mam to zrobić?

Michael Kropat
źródło

Odpowiedzi:

23

PRZED ZMIANĄ WSZYSTKIEGO UPEWNIJ SIĘ, ŻE MASZ AKTUALNĄ KOPIĘ. To wszystko działało dla mnie, ale może nie działać. Jeśli z jakiegoś powodu wybuchnie, nie chcesz stracić niczego, czego nie możesz odzyskać. Kontynuując…

O ile mi wiadomo, nie jest możliwe zmniejszenie systemu plików, gdy jest on zamontowany, dlatego musimy dokonać rzeczywistej zmiany rozmiaru z Live CD. Wszystkie poniższe instrukcje zakładają, że uruchomiłeś się z instalacyjnego dysku CD 11.10 Desktop.

Po uruchomieniu Live CD na pulpicie otwórz terminal.

Narzędzie LVM nie jest wbudowane w Live CD, więc najpierw musimy je zainstalować:

sudo apt-get install lvm2

Znajdź nazwę grupy woluminów (odtąd „somevg”), która zawiera główny wolumin logiczny:

sudo lvs

(Jeśli się nie wyświetla, spróbuj uruchomić, sudo lvmdiskscana sudo pvscannastępnie spróbuj ponownie.)

Po uruchomieniu ls /dev/mapper/możesz zobaczyć, że woluminy logiczne nie są wyświetlane. Jeśli go nie ma, musisz uruchomić następującą komendę, aby poinformować jądro o woluminach logicznych:

sudo vgchange --available y <somevg>

Ponieważ nie zamontowaliśmy głównego systemu plików, zmiana rozmiaru powinna być bezpieczna. Przejdź do wykonania rzeczywistej zmiany wielkości woluminu logicznego. Zauważ, że to polecenie ( --size -50G) zmniejsza głośność o 50 GB - przeczytaj stronę podręcznika lvreduce (8), aby dowiedzieć się, jak określić inny rozmiar.

sudo lvreduce --resizefs --size -50G /dev/<somevg>/root

(Mój wolumin logiczny nosi nazwę „root”, ale twój może być nazwany czymś innym.)

To polecenie najpierw zmniejszy system plików, a następnie zmniejszy wolumin logiczny, który go zawiera, co jest jedynym bezpiecznym sposobem, aby to zrobić.

Możesz teraz zrestartować system i uruchomić system plików o zmienionym rozmiarze.

Michael Kropat
źródło
Te instrukcje nie działają. lvspokazuje poprawny nowy rozmiar, ale GPartednadal pokazuje LVM z oryginalnym rozmiarem. Wszystko, co robisz, polega na wyjaśnianiu, jak zmniejszyć system plików, a nie partycję. Partycja nadal zajmuje pierwotną ilość miejsca na dysku.
Cerin
Czy na przykład próbujesz zmniejszyć partycję VG i / lub MBR oprócz LV? Te instrukcje dotyczą jedynie zmniejszenia LV. Zaktualizuję pytanie, ponieważ (po ponownym przeczytaniu) nie jest to bardzo jasne.
Michael Kropat
twoje założenie jest nieprawidłowe. Zmiana rozmiaru online (gdy partycja jest zamontowana i używana) partycji ext3 / ext4 istnieje już od dłuższego czasu. Używam tego bardzo często i nigdy nie miałem z tym żadnego problemu. Tak, cały czas mam bieżące kopie zapasowe.
Floyd
@Floyd: czy zdarzyło ci się to cytować? Wiedziałem, że zmiana rozmiaru jest możliwa przy rozszerzaniu, ale nie przy zmniejszaniu. Jeśli teraz możliwe jest kurczenie się w Internecie, byłoby to fajne wieści.
Michael Kropat
4
@Floyd, ext3 / 4 obsługuje WZROST online, ale nie maleje.
psusi
4

Oba lvresizei lvreduceteraz obsługują zmianę rozmiaru systemu plików przed zmniejszeniem woluminu logicznego.

Jest to fragment strony podręcznika CentOS 6.5

-r, --resizefs
       Resize underlying filesystem together with the logical volume using fsadm
Jlmontes
źródło
3

Każda partycja i zmiana rozmiaru LV powinny być wykonywane na odmontowanych partycjach, więc musisz uruchomić system z dysku instalacyjnego Ubuntu lub pamięci USB, uruchomić go jako Live CD, połączyć się z Internetem, zainstalować lvm2

sudo apt-get install lvm2

... lub możesz użyć dowolnej ratunkowej płyty CD z Linuksem, która jest już lvm2dostępna. Następnie upewnij się, że root LV nie jest zainstalowany, przez

mount 

i odmontuj go w razie potrzeby, a następnie sprawdź system plików

e2fsck -f /dev/yourVG/yourLV 

na tym LV. Następnie zmniejsz system plików

resize2fs /dev/yourVG/yourLV 150G

i zmniejsz LV

lvreduce -L -50G /dev/yourVG/yourLV

Uruchom ponownie system, ciesz się!

Żółć
źródło
3
+1 dzięki za pomoc. Po zapytaniu poszukałem odpowiedzi na moje pytanie. Narzędzia LVM mają teraz --resizefsopcję, która wydaje się działać i pozwala pominąć krok.
Michael Kropat