Oceniamy wirtualizację KVM dla Linuksa w kilku projektach. Jak dotąd wszystko idzie dobrze. Ale jednym z naszych wymagań jest możliwość dodania miejsca na dysku do działającego gościa bez ponownego uruchamiania lub przełączania go w tryb offline. Czy jest to możliwe dzięki KVM?
Jedyną rzeczą, którą do tej pory znalazłem (ale jeszcze nie testowałem), jest możliwość podłączenia dysków do komputera podczas pracy. Jeśli wybiorę tę trasę, zawsze będę mógł dodać nowy dysk do grupy woluminów LVM na gościu, a następnie rozszerzyć wybrany wolumin logiczny. Największym minusem tego podejścia jest to, że z czasem możemy skończyć z gośćmi o zmiennej liczbie dysków wirtualnych. „Rzeczywista” przestrzeń dyskowa byłaby udostępniana hostowi za pośrednictwem sieci SAN, dzięki czemu zawsze możemy dodać do hosta więcej miejsca.
Odpowiedzi:
Myślę, że utkniesz, robiąc to, o czym wspomniałeś, jeśli chcesz to zrobić bez zdejmowania maszyny.
Dlaczego po prostu nie dać LUN-ów maszyn wirtualnych bezpośrednio z SAN i zarządzać tam dostępną przestrzenią? Działa to lepiej, jeśli mimo wszystko chcesz korzystać z funkcji takich jak migracja na żywo.
KVM jest oparty na QEMU, więc cała obsługa formatu obrazu pochodzi z tego projektu. Oto dobry poradnik dotyczący zmiany rozmiaru różnych formatów obsługiwanych przez Qemu / KVM. Ale forum Qemu byłoby dobrym miejscem do zadawania tego pytania, jeśli nie uzyskasz tutaj solidnych odpowiedzi.
Inną opcją, która może nie być idealna, jest użycie naprawdę dużego qcow2 lub innego rzadkiego formatu obrazu dla dysków. Możesz więc dać każdej maszynie mały dysk dla systemu operacyjnego i duży rzadki obraz dla danych w LVM. Pozwoliłoby to przynajmniej utrzymać liczbę wirtualnych napędów / obrazów, którymi musisz zarządzać. Ale to cienkie przydzielanie może być problemem, jeśli zrobisz to na 1000 komputerów i wszyscy zabiorą cię na wolne miejsce, które widzą.
XEN Uważam, że ma obecnie takie same ograniczenia.
źródło
Wiem, że to stare pytanie, ale znalazłem je podczas szukania rozwiązania i mam nadzieję, że może pomóc komuś innemu.
Na dzień dzisiejszy nie jest możliwe, aby zmienić rozmiar dysku twardego na komputerze. Znalazłem tutaj sposób działania:
https://bugzilla.redhat.com/show_bug.cgi?id=648594
Należy wykonać następujące kroki:
Znajdź nazwę pliku i nazwę urządzenia KVM dysku twardego, którego rozmiar chcesz zmienić:
Interesujący dla nas jest dysk. Powinieneś szukać
source
ialias
bloków. Dla mnie nazwa pliku totest.img
i aliasvirtio-disk0
. Do tej nazwy musisz się przyłączyć,drive-
aby uzyskać nazwę dysku qemu.Teraz faktycznie zmieniamy rozmiar dysku za pomocą monitora qemu:
Zauważ, że nazwa pliku została użyta bez rozszerzenia .img, a dysk został dodany do aliasu dysku. 100G to wynikowy rozmiar dysku, który chcemy mieć
Zaloguj się do urządzenia i sprawdź, czy rzeczywisty rozmiar został zmieniony:
Otóż to! Teraz możesz tworzyć nowe partycje lub zmieniać rozmiar istniejących.
źródło
AFAIK, nie jest to możliwe - możesz dodać nowe obrazy dysków, a jak zauważyłeś, możesz również dodać nowe obrazy do woluminu LVM, ale aby zmienić rozmiar aktywnego obrazu dysku rozruchowego, musisz móc go zamknąć i edytuj partycje.
Oto dobre wyjaśnienie powiększania obrazu. Chociaż wymaga to wyłączenia, prawdopodobnie możesz uciec z zaledwie kilkoma minutami przestoju, szczególnie jeśli unikniesz opcji --nonsparse image i dodasz dysk partycjonowany do pliku ISO i wcześniej zamontujesz gościa KVM. Mam nadzieję że to pomoże.
źródło
Możliwe jest przenoszenie systemu Linux między dyskami podczas jego działania. Ograniczeniem jest to, że nie można zmieniać partycji na dysku, który ma używane partycje .
Aby to zrobić, główny system plików musi znajdować się na LVM, co często oznacza, że musisz mieć oddzielny system plików rozruchu (nie jest to jednak konieczne, to po prostu ułatwia)
Po podłączeniu nowego dysku dodajesz go do LVM za pomocą vgextend, użyj pvmove, aby przenieść rootfs na nowy dysk, użyj lvextend i resize2fs, aby odpowiednio powiększyć wolumin logiczny i system plików, a następnie użyj vgreduce, aby usunąć stary dysk z woluminu Grupa. Po usunięciu stary wolumin można odłączyć.
W prostym przypadku masz mały dysk na system plików rozruchowych, którego nigdy nie musisz dotykać. Ale jeśli jest sam, łatwo go odmontować, odłączyć, podłączyć nowy i odbudować dysk rozruchowy bez zatrzymywania systemu. (po prostu nie upaść, gdy to robisz)
Uwaga: resize2fs może również zmniejszać systemy plików.
źródło
Nie jest to możliwe, ale afaik to funkcja w fazie rozwoju. Zamiast tego możesz połączyć się z celem maszyny wirtualnej iSCSI i zarządzać miejscem w tym celu po stronie SAN.
źródło