Ostrzeżenie: Ten artykuł jest zbyt uproszczonym i całkowicie niekompletnym widokiem ZFS vs LVM z punktu widzenia użytkownika. Jestem pewien, że LVM działa świetnie dla wielu ludzi, ale dla mnie jest do bani. A ZFS upraszcza mi życie. Szczerze. Oto dlaczego.
zapewnienie miejsca na dysku maszynom wirtualnym
Ok, muszę przyznać, że moje wymagania są trochę dziwne. Chcę uruchomić kilka maszyn wirtualnych bez ponownego dzielenia mojego dysku twardego, dodawania dodatkowych dysków lub płacenia za współdzieloną pamięć masową. Wynajmujemy nasze serwery i są one hostowane w centrum danych daleko, daleko. Ponowne partycjonowanie dysków jest kłopotliwe, zwłaszcza jeśli nie masz bezpośredniego dostępu do pudełka. Oczywiście możesz użyć zdalnej konsoli, ale ponowne zainstalowanie systemu operacyjnego nie jest przyjemnym doświadczeniem, jeśli nie możesz wprowadzić dysków DVD do napędu dysku. Chcę więc zapewnić miejsce na dysku dla maszyn wirtualnych (Xen VMs na Debianie, strefy na OpenSolaris), korzystając z funkcji mojego ukochanego Menedżera dysków wirtualnych.
na LVM utworzyłem Pliki Obrazów Dysków, zamontowałem je loopback, a następnie dodałem urządzenia loop do LVM. Następująca sekwencja poleceń była konieczna do utworzenia wirtualnego dysku dla moich maszyn wirtualnych:
losetup /dev/loop0 my_disk.imgpvcreate /dev/loop0vgcreate vgmy_disk /dev/loop0
na ZFS całe to gówno przy użyciu obrazów dysków i urządzeń loopback nie jest konieczne. Dodatkowo o wiele łatwiej jest zapewnić miejsce na dysku:
zfs create my_disk
dając więcej miejsca na dysku maszynom wirtualnym
Jeśli chcę dodać więcej miejsca na dysku do mojej maszyny wirtualnej, LVM sprawia, że łamię palce za pomocą następującej sekwencji poleceń:
proste, prawda?
teraz wersja ZFS:
zfs set quota=20G my_disk
Hmm, niech pomyślę, który z nich wolę…
przenoszenie wirtualnych dysków na inne serwery
Jeśli chcesz przenieść wirtualny dysk (może składający się z wielu obrazów dysków) do innego pudełka, jest wiele do zrobienia, jak wyłączenie volumegroupvgchange -an ...
, odmontowanie urządzeń pętlowych, skopiowanie plików, ponowne zamontowanie urządzeń pętlowych, skanowanie i ponowne włączenie grupy woluminów (vgscan; vgchange -ay ...
).
w ZFS wystarczy użyć ZFS send … / SSH newbox ZFS receive … – to wszystko –
wiem, że moje podejście do używania obrazów dysków było może najgorszym i najbardziej stupiest pomysł kiedykolwiek – ale to drastycznie ilustruje złożoność LVM w porównaniu do prostoty dostarczanej przez ZFS. LVM używane prawo może być łatwiejsze, ale wątpię, że zbliża się do łatwości użycia i mocy ZFS. A może masz inne doświadczenia? Podziel się nimi z nami w komentarzach. Let The flame wars begin…