zwierciadło LVM linux vs. lustro MD

11

Wydaje mi się, że pamiętam tworzenie luster kilka lat temu w LVM i nie pamiętam tego „logowania”. A może zrobiłem lustro z mdadm i umieściłem LVM na górze. To musi być to.

  1. Do czego służy dziennik LVM, jeśli jest tylko lustrem? Co tam jest przechowywane? Do czego to służy? Czy używanie „--mirrorlog core” jest złe? Co jest wadą? Nie chcę mieć innej partycji na dzienniki, jeśli nie muszę.

  2. Wszelkie zalecenia dotyczące korzystania z którejkolwiek technologii? Nawet jeśli utworzę lustro za pomocą mdadm, użyję LVM. Więc w takim przypadku, może lepiej mieć całą konfigurację zbudowaną z LVM ...? Czy to wymagałoby więcej wydajności niż mniej?

Dyski służą do przechowywania „dysków” Xen domU.

Przepraszam za złożone, nie na temat „pytanie”.

Pomysły, sugestie i linki są mile widziane. Dzięki!

d -_- b
źródło
Wydaje się, że md działa lepiej dla operacji lustrzanych w porównaniu do lvm. Zobacz serverfault.com/questions/80134/linux-md-vs-lvm-performance
Zoredache
1
Tworzenie kopii lustrzanych LVM miało inny cel. Chociaż można go użyć do „odbicia lustrzanego”, tak jak robi to MD, tak naprawdę jest on używany do klonowania woluminów. Zobacz serverfault.com/questions/97845/lvm-mirroring-vs-raid1
Avery Payne
1
Jeśli jest przeznaczony do klonowania, to dlaczego wymaga trzech tomów?
d -_- b
Zobacz powiązane pytanie unix.stackexchange.com/questions/150644/…
Faheem Mitha

Odpowiedzi:

9

Osobiście zawsze wybieram MD + LVM. Jest szybszy (MD może wykonywać równoległe odczyty w RAID1) i wymaga tylko 2 dysków (jeśli nie chcesz odbudowywać kopii lustrzanej po każdym ponownym uruchomieniu), a MD jest przeznaczony tylko do RAID i robi to bardzo dobrze. Jest również bardziej elastyczny.

Zostałem też spalony przez LVM. W jednym przypadku było to rozłożenie LVM na HP-UX (nie powinno się zdarzyć w / LVM2 w Linuksie) i nie mogłem rozszerzyć LV, ponieważ rozszerzenie musiało mieć dokładnie taką samą liczbę pasków. Wydaje się rozsądne, ale czasami ...

Innym razem było to w przypadku kopii lustrzanej (tym razem LVM2 w Linuksie), ale teraz nie pamiętam, czy LVM odmówił zrobienia migawki LV w lustrze lub jej rozszerzenia, skutecznie negując korzyści płynące z posiadania LVM w pierwszej kolejności (zrobiliśmy to w końcu, ale wymaga użycia lvconvert tam iz powrotem).

Dan Andreatta
źródło
Dzięki! Myślę, że pójdę z LVM na MD. Wygląda na to, że występują pewne problemy z automatycznym wykrywaniem MD. ( raid.wiki.kernel.org/index.php/RAID_Boot ) W pewnym sensie chciałem wykonać kopię lustrzaną całego mojego systemu (zamiana, rozruch, /, var, home, usr). Więc będę musiał spojrzeć na coś innego niż automatyczne wykrywanie.
d -_- b
Tak, autodetekcja to w zasadzie fajny pomysł, ale powoduje różnego rodzaju bóle głowy. Mam konfigurację z iSCSI + multipath + MD + LVM ... a autodetekcja jest ... interesująca, ale w tym przypadku bezużyteczna.
Dan Andreatta
4

Gdy dublowana para zostaje nagle zamknięta, w dowolnym systemie mogą istnieć pewne bloki, które zostały zapisane na jednym urządzeniu, ale jeszcze nie na drugim. Możliwe, że przy zmianie kolejności ścieżek we / wy istnieją pewne bloki, które zostały zapisane w A, ale nie w B, a niektóre w B, ale jeszcze nie w A.

Gdy urządzenie uruchomi się ponownie, musi zapewnić spójność urządzeń. Samo posiadanie dwóch urządzeń nie wystarczy: nie wiedziałby, które bloki są niespójne i nie wiedziałby, która wersja była nowsza.

Dlatego oprogramowanie lustrzane musi przechowywać trochę metadanych, aby móc to śledzić. Nazywa się to „logiem zapisu”.

md zwykle przechowuje go w pewnym zarezerwowanym miejscu w samym urządzeniu , chociaż możesz także wybrać przechowywanie go na oddzielnym urządzeniu. (Jest to jeden z powodów, dla których mirrory md są nieco mniejsze niż urządzenia podstawowe.

Lustra LVM mogą przechowywać dziennik zasięgu zapisu tylko zewnętrznie, co, jak zauważasz, jest nieco denerwujące w typowym przypadku, w którym masz dokładnie dwa dyski fizyczne. Uważam, że nadal masz wybór, aby zapisać go na innej partycji na tym samym urządzeniu fizycznym, ale nadal jest to niewygodne.

Celem logu lustrzanego LVM, jak rozumiem, jest śledzenie bloków, które zostały zapisane na jednym urządzeniu, ale jeszcze nie na drugim.

poolie
źródło
2

są to dwie różne koncepcje:

  • LVM jest, jak sama nazwa wskazuje, do zarządzania wolumenami. Pomyśl o tym jako o mechanizmie łączenia wielu woluminów w jeden (tak, można powiedzieć, że to jest jak raid0), zmiana ich rozmiaru, zmiana rozmiaru na żywo, tworzenie migawek.
  • MD służy do zarządzania macierzą RAID. Dodaj wiele urządzeń do jednego urządzenia metadostępnego, uczyń go wysoce dostępnym, używając raid1, 5, 10 itd.

LVM działa na urządzeniach pamięci masowej, niezależnie od tego, czy są to urządzenia metadane, urządzenia prezentowane przez kontroler RAID, czy zwykłe dyski.

MD działa na dyskach (tak, możesz także używać dysków prezentowanych przez kontroler RAID, ale o co chodzi? ..

LVM nie zapewnia wysokiej dostępności pamięci. Podobnie MD nie służy do zarządzania woluminami ...

Mam nadzieję że to pomoże :)

rytis
źródło
1
Rozumiem czym one są. Jednakże, jeśli czytasz stronę podręcznika lvcreate, mówi ona, że ​​może tworzyć mirrory. Chyba na razie trochę zabawek?
d -_- b
1
imho tak. przynajmniej na razie nie widzę żadnego dobrego zastosowania. nie tylko jest lustrem na poziomie woluminu (a nie urządzenia), ale jest też nieco „interesujący” jak to się utworzyło, na przykład jeśli potrzebujesz dwukierunkowego lustra (jak w oryginale + kopii), musisz mieć 3 woluminy - po jednym dla każdego strona lustra + objętość dziennika. ale z drugiej strony - imho. :)
rytis
1

LVM pochodzi z innych typów systemów UNIX. Użyłem go na HPUX, który nie miał warstwy MD Linuksa, kiedy pracowałem nad nim 10 lat temu, nie jestem pewien, czy teraz. W tych okolicznościach dublowanie LVM staje się przydatne w sytuacji, gdy sprzętowa macierz RAID nie jest dostępna.

Ron McOuat
źródło
Po prostu uznałem za dziwne, że lustro LVM potrzebuje więcej niż jednego woluminu. Co to za lustro?
d -_- b
1
@toor Trzeci wolumin służy do przechowywania dziennika zapisu do lustra, w zasadzie do śledzenia tego, co należy ponownie zsynchronizować po nagłym zatrzymaniu. Na MD jest to zwykle przechowywane w zarezerwowanej części dwóch dysków.
poolie 18.08.12
1

z opcją -mirrorlog dublowaną i opcją -allocwhere, z dwoma dyskami otrzymujesz dwa dzienniki dublowania 4M, po jednym na każdym dysku. Jestem zirytowany, że muszę zastąpić polisę, która wydaje się być najczęstszą sytuacją, ale no cóż.

LVM w Linuksie nie jest związany z tą rzeczą w HP-UX lub AIX, po prostu ma te same polecenia przestrzeni użytkownika. LVM w systemie Linux wewnętrznie korzysta z systemu DM i dlatego używa tego samego kodu co MD. W tym momencie nie widzę przewagi LVM nad MD. W przypadku partycji, które chcesz szybko i nie dbają o kopie zapasowe (np. Partycje wymiany dla maszyn wirtualnych gości), LVM daje ci możliwość wyboru, czy chcesz, aby były dublowane, czy nie, czy lepsze jest usuwanie.

I znacznie łatwiej jest dodać dysk do LVM niż MD.

mcr
źródło