Ubuntu: zmiana rozmiaru głównej partycji LVM (2?)

10

Mam maszynę wirtualną Ubuntu uruchomioną w VirtualBox 2.2.4 i utworzyłem ją na dysku wirtualnym 8 GB, który jest zbyt mały.

Więc próbuję zwiększyć rozmiar dysku. Do tej pory zrobiłem to:

  1. Utworzono nowy większy dysk wirtualny
  2. Dodano drugi dysk do maszyny
  3. Użyto CloneZilla do sklonowania pierwszego dysku na drugi dysk
  4. Usunięto pierwszy dysk
  5. Uruchomiony z 2. (większy dysk)

Ale teraz utknąłem z partycją 8 GB na moim nowym dysku wirtualnym 100 GB.

Jaka jest najłatwiejsza ścieżka do partycji 100 GB? :) Rozumiem, że GPart może zmieniać rozmiar partycji, ale wydaje się, że nie obsługuje partycji LVM2, którą wydaje się moja.

dzięki

  • Alex
użytkownik12259
źródło

Odpowiedzi:

5

Ogólnie rzecz biorąc, oto jak zmienić rozmiar woluminów LVM:

Powiedzmy, że /mountpointjest włączony /dev/VolGroup00/mountpoint. Możesz to sprawdzić, sprawdzając /etc/fstablub uruchamiając mount -l.

W zależności od konfiguracji może być również konieczna zmiana rozmiaru rzeczywistego woluminu fizycznego. Użyj, pvdisplayaby dowiedzieć się, czy jest wystarczająco duży, i użyj pvresize(podobnie jak lvresizeponiżej), jeśli to konieczne.

umount /mountpoint
lvresize -L +<HOW MUCH BIGGER> /dev/VolGroup00/mountpoint
e2fsck -f /dev/VolGroup00/mountpoint
resize2fs /dev/VolGroup00/mountpoint <TOTAL SIZE>
mount /mountpoint

Sprowadza się to do odmontowania, zmiany rozmiaru bazowej LVM, a następnie zmiany rozmiaru rzeczywistej partycji ext3.

Kilka rzeczy, na które należy uważać:

  1. Oczywiście gra z użyciem /różni się od partycji danych. Możesz potrzebować dysku rozruchowego, takiego jak Sysrescuecd zamiast Doing It Live. Zobacz także komentarz Kristofa poniżej - możesz to zrobić bez odmontowywania /.
  2. lvresize ma kilka różnych opcji składni, a zmniejszenie woluminu logicznego prawdopodobnie zaszkodzi nakładającej się partycji. Więcej informacji można znaleźć na lokalnych stronach podręcznika użytkownika .
Matt
źródło
Dzięki, to wygląda obiecująco, czy możesz zasugerować LiveCD, którego mógłbym użyć, który ma na sobie narzędzia LVM?
user12259,
Sysrescuecd is nice ( sysresccd.org )
Zoredache
5
ext2 / 3/4 obsługuje rozwój twojego systemu plików na żywo. Nie musisz odmontowywać ani e2fsck swoich partycji. resize2fs jest również na tyle sprytny, aby ustalić rozmiar partycji (lub woluminu logicznego), na którym jest włączony. Jeśli nie określisz rozmiaru, po prostu powiększy się, aby wypełnić całą dostępną przestrzeń.
Kristof Provost
Próbowałem „sudo resize2fs / dev / sda1” i odpowiedział: „resize2fs: Urządzenie lub zasób zajęty podczas próby pisania / dev / sda1 Nie można znaleźć prawidłowego superbloku systemu plików”
user12259
1
lvresize nie zmienia rozmiaru woluminu fizycznego, więc czy nie muszę tego robić najpierw?
user12259,
2

Był jeden (i tylko jeden) sposób, aby to zrobić i spróbowałem miriady.

Najpierw sklonuj maszynę wirtualną gościa Ubuntu w virtualbox, klikając ją prawym przyciskiem myszy i przechodząc do „klonowania”. Po zakończeniu klonowania rozszerz rozszerz sklonowanego vdi przy użyciu (W systemie operacyjnym hosta)

VBoxManage modyfikuj „nazwa_klonu_vdi” - zmień rozmiar „rozmiar_nazwa_katalogu_głównego_w_MB”

Następnie - wykonaj czynności opisane w tym poście do listu (odnosi się do VMware jako platformy, ale zignoruj ​​to)

http://blog.campodoro.org/?p=36

Spowoduje to utworzenie kolejnego lvm o dokładnie równoważnym rozmiarze do dodanej dodatkowej przestrzeni i przyczepienie go do końca istniejącej.

Po sprawdzeniu, że wszystko jest w porządku, możesz usunąć oryginalną maszynę wirtualną i promować swój klon!

Nie musisz się bawić w fdisk i martwić się o usunięcie lub zepsucie niewłaściwej partycji.

Musiałem złamać około 4 sklonowanych systemów operacyjnych, dopóki nie znalazłem tego rozwiązania!

Ben
źródło
2

I właśnie to zrobił i miał to samo pytanie trzeba było, ale zamiast tworzyć nowy LVM i dodanie go do grupy woluminów, strona OCD mnie chciała rozmiaru mojego obecnego LVM i utrzymując w ten sposób pojedynczą partycję w imię prostoty. Uwaga: Nie sądzę, aby było to możliwe, jeśli wolne miejsce nie będzie bezpośrednio następowało po zmianie rozmiaru partycji!

W tym celu potrzebujesz narzędzia, które może usuwać i tworzyć tabele partycji. Ponieważ korzystam z GPT, oznacza to, że potrzebuję gdisk . Będziesz także musiał to zrobić z odłączoną partycją, więc możesz chcieć uruchomić komputer z Ubuntu LiveCD i uruchomić go stamtąd.

Poniższe kroki pogrubione są na przykład LVM / dev / mms / root na urządzeniu / dev / sda , gdzie chciałem rozszerzyć partycję / dev / sda3, aby zająć moje nowo odkryte wolne miejsce.

UWAGA : są one potencjalnie bardzo destrukcyjne, więc upewnij się, że dane wejściowe są prawidłowe!

  1. gdisk / dev / sda (upewnij się, że wprowadziłeś właściwe urządzenie!) Spowoduje to przejście do gdisk, gdzie możesz wykonać następujące kroki w celu
    1. p - drukuje informacje o bieżącej partycji (w celach informacyjnych)
    2. d - do usuwania tablicy partycji
    3. 3 - numer urządzenia reprezentujący tablicę partycji, którą chcesz usunąć (ważne!)
    4. n - do tworzenia tablicy partycji
    5. 3 - numer urządzenia reprezentujący tablicę partycji, którą chcesz utworzyć (prawdopodobnie będziesz chciał użyć tego samego, co usunięto w kroku 3)
    6. p - drukuje informacje o bieżącej partycji (ponownie w celach informacyjnych, porównaj je z tym, co zacząłeś!)
    7. w - zapisuje twoje zmiany na dysku (jesteś pewien ?!)
  2. pvresize / dev / sda3 - może być konieczne ponowne uruchomienie komputera, aby system rozpoznał nowy rozmiar partycji
  3. pvdisplay - drukuje bieżące informacje (powinno pokazywać, że wykorzystuje teraz pełną przestrzeń!)
  4. lvresize -l + 100% ZA DARMO / dev / mms / root - zmienia rozmiar mojej LVM, aby zajmować 100% nowo znalezionej przestrzeni
  5. e2fsck -f / dev / mms / root - wykonuje sprawdzenie integralności
  6. resize2fs -p / dev / mms / root - zmienia rozmiar systemu plików, aby zajął pełną LVM

Po wykonaniu powyższych czynności i ponownym uruchomieniu systemu operacyjnego o zmienionym rozmiarze wszystko działało zgodnie z oczekiwaniami i miałem do dyspozycji całą swoją dodatkową przestrzeń!

Dodatkowe odniesienia, które wykorzystałem, aby to wszystko rozgryźć:

http://www.jethrocarr.com/2012/08/10/gdisk-oh-glorious-gdisk/ http://people.virginia.edu/~ll2bf/docs/quickref/lvm.html

James
źródło
1

Zobacz pokrewną odpowiedź tutaj.

(fragment)

Zmiana rozmiaru woluminu fizycznego:

pvresize --verbose --test /dev/md0

Zmiana rozmiaru woluminu logicznego:

lvresize --verbose -L <SIZE> --test /dev/VG1/LV1

I wreszcie zmiana rozmiaru ext3 FS:

resize2fs /dev/VG1/LV1
Zoredache
źródło
Kiedy robię lvresize, pojawia się błąd „Nie udało się zawiesić roota”
użytkownik12259
Próbowałem: „sudo lvresize --verbose -L 40G / dev / ubuntu / root”
użytkownik12259
ok, naprawiłem to za pomocą „sudo modprobe dm-mod”, teraz mogę z powodzeniem lvresize
użytkownik12259
fdisk -lpokazuje, że mam 54 GB pvresize /dev/sda2; lvresize -L 50G /dev/mapper/VolGroup-lv_rootwolnego miejsca , ale po uruchomieniu pojawia się błąd „Niewystarczająca ilość wolnego miejsca: potrzeba 588 zakresów, ale dostępne jest tylko 0”. pvdisplaypokazuje, że mój fizyczny wolumin nie został przeskalowany.
Cerin,
Naprawdę powinieneś zadać nowe pytanie. Komentarze starego pytania nie są najlepszym sposobem na uzyskanie pomocy.
Zoredache,
1

Zauważ, że tak naprawdę nie musisz tutaj używać narzędzia klonującego, takiego jak CloneZilla, możesz umieścić partycję na nowym dysku wirtualnym (opcjonalnie), a następnie zainicjować ten (lub sam dysk wirtualny) w LVM za pomocą pvcreatepolecenia. Następnie użyj, vgextendaby dodać to do grupy woluminów obsługującej wolumin logiczny, a następnie użyj, vgreduceaby usunąć oryginalny dysk wirtualny z grupy woluminów. Przeprowadzi to migrację i można to zrobić na żywo, gdy używany jest wolumin logiczny, to właśnie piękno wirtualizacji pamięci masowej. Po zakończeniu wystarczy rozszerzyć wolumin logiczny jak wyżej, co można również wykonać na żywo za pomocą bardziej nowoczesnych systemów plików niż ext3.

Orlica
źródło
1

I. Jeśli wirtualny dysk twardy ma stały rozmiar, nie można go powiększyć. W takim przypadku musisz go najpierw sklonować.

(1) Sklonuj dysk twardy za pomocą graficznego interfejsu użytkownika: File -> Virtual Media Manager... -> [tab] Hard Drives -> select your HDD -> [button] Next -> [button] Next -> select "Dynamically allocated" on the step "Storage on physical hard drive"-> ...

lub w wierszu poleceń:

# VBoxManage clonehd "/path/to/the/HDD.vdi" "/path/to/the/HDD_NEW.vdi"

(2) Dodaj nowy dysk twardy do listy znanych dysków twardych.

(3) W ustawieniach maszyny VB usuń stary dysk twardy z listy VDI pod kontrolerem i dodaj nowy.

II. Zmień rozmiar dysku twardego

(1) Zmień rozmiar nowego dysku twardego.

# VBoxManage modifyhd 463c7bd4-9b9c-4cf8-bee4-e14e10c0d462 --resize 25600

Dostajesz klucz z VBoxManage list hddspoleceniem.

III. Dodaj nowe przydzielone miejsce.

(1) Dodaj GParted ISO jako nowy nośnik poniżej Machine Settings -> Storage -> [rightclick] Controller IDE -> Add CD / DVD Device -> ...i zaznacz pole Live CD/DVDwyboru.

(2) Uruchom maszynę wirtualną i dodaj nieprzydzielone wolne miejsce do partycji roboczej.

(3) Zatrzymaj maszynę wirtualną.

(4) Odłącz GParted ISO.

Cieszyć się! :)

automatix
źródło
0

Podczas zmiany rozmiaru partycji LV2 to odniesienie bardzo mi pomogło:

http://people.virginia.edu/~ll2bf/docs/quickref/lvm.html

Zwróć uwagę, że nie musisz używać żadnej płyty CD na żywo, możesz zmienić rozmiar w zamontowanym systemie na żywo, zmieniając rozmiar w locie.

zabiera
źródło