Jak zmniejszyć lub zmniejszyć rozmiar dysku maszyny wirtualnej KVM?
Przydzieliłem wirtualny dysk o pojemności 500 GB (przechowywany pod adresem /var/lib/libvirt/images/vm1.img) i stwierdzam, że to przesada, więc teraz chciałbym zwolnić część tego miejsca na inne wirtualne maszyny Wydaje się, że istnieje wiele odpowiedzi na pytanie, jak zwiększyć pamięć masową, ale jej nie zmniejszać. Znalazłem narzędzie do zmiany rozmiaru virt , ale wydaje się, że działa tylko z surowymi partycjami dysku, a nie z obrazami dysków.
Edycja: Używam LVM z partycją sformatowaną w Ext4.
Edycja: zrzut ekranu GParted pokazujący mój układ parowania LVM. Muszę zrobić znacznie więcej niż zmienić rozmiar systemu plików. Nie znam bezpiecznego sposobu zmiany rozmiaru LVM. I proszę, nie każ mi używać pvresize
. Mimo swojej nazwy nie obsługuje zmiany rozmiaru LVM.
Próbowałem sudo pvresize /dev/vda5
, ale to po prostu mówi, physical volume "/dev/vda5" changed
ale tak naprawdę nie zmniejsza rozmiaru.
Próbowałem zacząć parted
ręcznie ustawiać rozmiar partycji (bardzo niebezpieczne), ale robi to print all
po prostu błąd „/ dev / sr0 nierozpoznana etykieta dysku”.
Edycja: Postępując zgodnie z tymi instrukcjami , udało mi się zmniejszyć zarówno mój wolumin logiczny, jak i fizyczny (chociaż musiałem pamiętać, aby aktywować i dezaktywować lvm przed i po niektórych poleceniach, których instrukcje pomijają.
Teraz GParted pokazuje 250G nieprzydzielonego wolnego miejsca. Jak mogę usunąć to z obrazu dysku KVM i zwrócić z powrotem do hiperwizora?
qemu-img -O qcow2 vm1.img vm1-compact.qcow2
.Odpowiedzi:
Dzięki tym, którzy napisali, ale twoje odpowiedzi były zbyt niejasne, aby pomóc.
Po godzinach pracy w Google znalazłem w końcu przewodnik ( zredagowany link ) zawierający instrukcje krok po kroku dotyczące zmniejszania systemu plików, woluminów logicznych i fizycznych. Sztuczka, której brakuje większości przewodników, polega na tym, że trzeba faktycznie usunąć partycje fizyczne i odtworzyć je w odpowiednim rozmiarze, ponieważ parted nie może zmienić rozmiaru partycji lvm.
Następnie znalazłem tę dokumentację na qemu-img, która wyjaśnia, jak zmniejszyć obraz sformatowanego dysku wirtualnego w formacie raw, uruchamiając:
źródło
qemu-img convert -f qcow2 -O raw image.qcow2 image.img
a następnie uruchom powyższe polecenie.Co musisz zrobić
Można tego dokonać zarówno poprzez GUI, jak i CLI
Zasoby
Przybory
źródło
To działało dla mnie naprawdę dobrze. Kompresuje i zmniejsza 0 bloków obrazu dysku. Obraz będzie się powiększał w miarę upływu czasu, ponieważ jest ponownie zapisywany.
źródło
Zalecam, aby przed zrobieniem tego zrobić pełną kopię obrazu dysku w takiej postaci, w jakiej jest, a kiedy wszystko się zepsuje, możesz po prostu skopiować go ponownie, aby zacząć od nowa.
Musisz zrobić 3 rzeczy:
1) Powiększ obraz dysku. W twoim hoście:
qemu-img zmień rozmiar foo.qcow2 + 32G
Teraz twój gość widzi większy dysk, ale wciąż ma stare partycje i systemy plików.
2) Zwiększ partycję wewnątrz obrazu dysku. W tym celu musisz uruchomić dysk LiveCD w swoim gościu, ponieważ nie będziesz mógł zadzierać z zamontowaną partycją. Jest to dość zaangażowana i prawdopodobnie najbardziej niebezpieczna część. Tutaj jest dużo do skopiowania, więc na razie po prostu link. Chcesz zrobić coś takiego:
http://www.howtoforge.com/linux_resizing_ext3_partitions_p2
LUB 2b) utworzenie nowej partycji byłoby prostsze (i bezpieczniejsze), jeśli potrzebujesz tylko więcej miejsca do przechowywania. Użyj fdisk lub cfdisk lub czegokolwiek, z czym czujesz się komfortowo - powinieneś teraz zobaczyć całą masę nieprzydzielonego miejsca na dysku gościa.
3) Wreszcie, jeśli zmieniłeś rozmiar istniejącej partycji, powiększ system plików w nowej, większej partycji (tak w rzeczywistości jest to w powyższym przewodniku). Wewnątrz twojego gościa:
źródło