Nie jestem do końca pewien, jak sformułować to pytanie (stąd kiepski tytuł), dlatego podaję przykład tego, co próbuję zrobić.
Na moim (starym) hoście Xen jestem w stanie przedstawić systemy plików LVM bezpośrednio każdemu gościowi. Te systemy plików są w rzeczywistości tworzone i formatowane na hoście i przekazywane bezpośrednio przez. Np. Dla jednego z moich hostów używających osobnych partycji tmp i swap definiuję pamięć masową w następujący sposób:
disk = [
'phy: / dev / vg1 / guest1-swap, sda1, w',
'phy: / dev / vg1 / guest1-disk, sda2, w',
'phy: / dev / vg1 / guest1-tmp, sda3 , w ',
]
Tak więc guest1-swap jest sformatowany jako partycja wymiany, guest1-disk i guest1-tmp są sformatowane przy pomocy ext4, a z perspektywy gościa po prostu widzi je jako trzy sformatowane partycje w / dev / sda.
(Może to zabrzmieć dużo pracy, ale istnieją skrypty obsługi, takie jak niesamowite narzędzia xen , które zautomatyzowały prawie wszystko).
Zapewnia to kilka naprawdę przydatnych funkcji, z których dwa jestem szczególnie zainteresowany opracowaniem KVM:
Podłącz systemy plików gościa z systemu operacyjnego hosta . Mogę wykonać montaż tylko do odczytu dowolnego systemu plików gościa w dowolnym momencie, nawet gdy gość jest uruchomiony. Ma to tę zaletę, że pozwala mi tworzyć migawki LVM dowolnego istniejącego woluminu podczas działania gościa. W ten sposób mogę centralnie wykonać kopię zapasową wszystkich moich gości podczas pracy z hosta.
Zmiana rozmiaru woluminu online . Ponieważ woluminy zawierają standardowe systemy plików Linuksa, mogę użyć kombinacji lvextend i resize2fs, aby rozwinąć systemy plików gości ponownie, gdy są one online.
Obecnie konfiguruję host KVM, który zastąpi host Xen. Podobnie do konfiguracji Xen wykorzystuję LVM, aby zapewnić bezpośredni dostęp do systemu plików, ale KVM / qemu zachowuje się inaczej, ponieważ zawsze tworzy plik obrazu dla gości, nawet na wolumenie LVM. Z punktu widzenia gościa traktuje to jako dysk niepodzielony na partycje i to od gościa można zastosować etykietę partycji, a następnie utworzyć partycje i systemy plików.
Z perspektywy gościa to w porządku, ale z perspektywy serwera / zarządzania wydaje się być znacznie mniej elastyczne niż konfiguracja Xen, którą opisałem. Nadal jestem nowy w KVM, więc mogę (mam nadzieję) coś przegapić.
Natknąłem się na ten problem, gdy próbowałem ponownie wdrożyć moje poprzednie rozwiązanie do tworzenia kopii zapasowych na hoście KVM, a polecenie mount zostało zablokowane, gdy próbowałem zamontować jeden z systemów plików gościa. Zajmowanie się tym jest moim aktualnym problemem, ale wzbudziło mnie również zaniepokojenie zmianą rozmiaru, ponieważ jestem pewien, że problem pojawi się w pewnym momencie.
Oto moje pytania:
Czy jest jakiś sposób, aby kvm / qemu korzystał bezpośrednio z systemów plików woluminu LVM, tak jak to opisano w mojej konfiguracji Xen? Używam libvirt do zarządzania, jeśli to robi różnicę.
Jeśli nie, co mogę zrobić, aby uzyskać podobną funkcjonalność montażu / tworzenia kopii zapasowych w KVM? Widziałem dyskusje na temat korzystania z libguestfs w / FUSE, aby to zrobić, ale czy to naprawdę najlepsza opcja? Wolałbym trzymać się natywnego montowania systemu plików, jeśli to w ogóle możliwe.
Jeśli nie, to czy można zmienić rozmiar systemu plików online w KVM? Znalazłem kilka dyskusji / poradników na ten temat, ale odpowiedzi wydają się być wszędzie, bez jasnych i zdecydowanie nieskomplikowanych rozwiązań.
Przepraszam za długi post, chciałem się tylko upewnić, że to jasne. Daj mi znać, czy mogę podać inne informacje, które byłyby pomocne. Czekamy na dyskusję. :-)