Mam domowy serwer mediów z dyskami 2 x 3 TB. Obecnie jest skonfigurowany przy użyciu mdraid (1), LVM i EXT4. Konfiguracja została wykonana przy użyciu instalatora ncurses Ubuntu Server.
Cel
Konwertuj ustawienia, aby używać ZFS (RAIDZ) i dodaj trzeci dysk 3 TB. Chcę włączyć kompresję i deduplikację w locie. Konwersja nie powinna wymagać ponownej instalacji Ubuntu i wszystkich pakietów. Nie powinno być utraty danych (chyba że dysk ulegnie awarii podczas procesu).
Jak mam to zrobic?
Pytanie dodatkowe, czy lepiej jest to zrobić za pomocą btrfs, ponieważ, jak rozumiem, mogę zainicjalizować tablicę jednym dyskiem, skopiować dane, a następnie dodać drugi dysk za pomocą btrfs, ale nie z zfs?
mój / proc / mdstat:
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md4 : active raid1 sdb2[1] sda2[0]
2930070069 blocks super 1.2 [2/2] [UU]
unused devices: <none>
mój pvs -v
Scanning for physical volume names
PV VG Fmt Attr PSize PFree DevSize PV UUID
/dev/md4 Data lvm2 a- 2,73t 0 2,73t MlZlTJ-UWGx-lNes-FJap-eEJh-MNIP-XekvvS
moje urządzenia lvs -a -o +
LV VG Attr LSize Origin Snap% Move Log Copy% Convert Devices
Data Data -wi-ao 2,68t /dev/md4(13850)
Swap Data -wi-ao 7,54g /dev/md4(11920)
Ubuntu Data -wi-ao 46,56g /dev/md4(0)
Odpowiedzi:
Krótki:
Myślę, że nie ma konwersji na miejscu ext4 na ZFS.
Dla serwerów multimedialnych polecam SnapRAID zamiast
Dłużej:
ZFS używa bardzo unikalnej i bardzo specjalnej struktury wewnętrznej, która nie pasuje dobrze do struktury ext4. (Przeczytaj: Być może ktoś mógłby stworzyć jakąś sztuczną strukturę ZFS na wierzchu niektórych ext4, ale wątpię, aby ta konwersja była szybka, niezawodna i łatwa w użyciu).
SnapRAID nie potrzebuje jednak konwersji. Po prostu użyj go z (prawie) dowolnym istniejącym systemem plików, aby utworzyć nadmiarowość dla plików tam, aby można było sprawdzić i odzyskać pliki w przypadku awarii dysku lub (cichej) awarii.
Za I przeciw:
SnapRAID jest nieefektywny, jeśli musi tworzyć nadmiarowość dla wielu małych plików, ponieważ każdy plik tworzy pewien nadmiar (wypełnienie) w parzystości.
SnapRAID nie oferuje samej kompresji.
Na serwerze multimedialnym zazwyczaj nie potrzebujesz kompresji, ponieważ zwykle jest to nośnik już skompresowane (MP4, JPG, PDF).
Jeśli zdarzy ci się użyć jakiegoś systemu plików, który umożliwia kompresję, możesz go użyć. Ale tylko na poziomie urządzenia, a nie na całej puli (jak ZFS).
SnapRAID nie oferuje deduplikacji na poziomie bloku.
Na serwerze multimedialnym
snapraid dup
funkcja zwykle wystarcza, ponieważ pliki multimedialne zwykle nie udostępniają wielu duplikatów bloków. (Wyjątek:youtube-dl
. Jeśli pobierzesz film dwa razy z tą samą jakością, różni się tylko kilkoma bajtami. Nie zawsze. Ale dość często. Po prostu zachowaj identyfikator wideo YouTube w nazwie pliku, aby zidentyfikować dwa podobne pliki.)Deduplikacja ZFS wymaga dużo pamięci. Zaplanuj 1 GiB RAM na dane 1 TiB, lepiej więcej!
Jeśli nie ma wystarczającej ilości pamięci RAM, musisz dodać hiperszybkie urządzenie pamięci podręcznej SSD. ZFS musi wyszukać 1 losowy sektor na napisany blok deduplikacji, więc z „tylko” 40 kIOP / s na dysku SSD, ograniczasz efektywną prędkość zapisu do około 100 MB / s. (Zwykle ZFS jest w stanie wykorzystać równoległą przepustowość wszystkich urządzeń, dzięki czemu można łatwo osiągnąć 1 GB / s i większą prędkość zapisu na sprzęcie konsumenckim dni, ale nie w przypadku włączenia deduplikacji i braku ogromnej ilości pamięci RAM.)
Zauważ, że nigdy nie miałem problemów z tym, aby SnapRAID był potrzebny do odzyskiwania danych.
Nie mogę więc przysiąc, że SnapRAID naprawdę potrafi odzyskać dane. Jednak miałem już dość problemów, gdy SnapRAID był pomocny w zapewnieniu że dane były poprawne i odniosłem wrażenie, że SnapRAID naprawdę działa.
Na ZFS musisz planować z wyprzedzeniem. Musisz znać i planować każdy aspekt cały cykl życia dysku ZFS z wyprzedzeniem, przed rozpoczęciem ZFS.
Jeśli możesz to zrobić, nie ma lepszego rozwiązania niż ZFS, zaufaj mi!
Ale jeśli zapomnisz o czymś, co w przyszłości stanie się nieplanowane, jesteś skazany. Następnie musisz ponownie uruchomić komputer od ZFS:
Utwórz nową, świeżą i niezależną pulę ZFS i przenieś tam wszystkie dane.
ZFS wspiera Cię w tym. Ale nie można uniknąć kopiowania danych tymczasowo. Jak potrzebujesz podczas wprowadzania ZFS.
Administrowanie ZFS jest proste. Jedyne, co musisz robić regularnie, to:
zpool scrub
To wszystko. Następnie
zpool status
mówi, jak rozwiązać problem.(Ponad 10 lat ZFS teraz. W Linuksie. Mówiąc krótko: ZFS to ratownik.)
OTOH na SnapRAID, nie potrzebujesz żadnego planowania. Po prostu to zrób. I zmieniaj swoją strukturę, gdy tylko zajdzie taka potrzeba.
Więc nie musisz kopiować swoich danych, aby zacząć od SnapRAID. Po prostu dodaj napęd parzystości, skonfiguruj i tutaj.
Ale SnapRAID jest o wiele trudniejszy do zarządzania w przypadku kłopotów.
Musisz nauczyć się korzystać
snapraid sync
,snapraid scrub
,snapraid check
isnapraid fix
.snapraid status
jest pomocą w większości przypadków, ale często pozostajesz zagadkowy, jaki może być właściwy sposób naprawienia czegoś, ponieważ nie ma oczywistego jeden najlepszy sposób (SnapRAID jest jak szwajcarski nóż wojskowy, ale musisz wiedzieć siebie, jak prawidłowo prawidłowo go obsługiwać).Zauważ, że w systemie Linux masz dwie różne opcje ZFS:
Nowsze jądra, które zobaczysz na Ubuntu 20.04 prawdopodobnie będą niekompatybilne.
SnapRAID to GPLv3 i całkowicie dodatek do przestrzeni użytkownika.
Zasadniczo serwer multimediów ma właściwość przechowywania starych danych i stale rośnie. Właśnie tak zaprojektowano SnapRAID.
Snapraid pozwala później dodawać nowe dyski lub nawet nowe parytety.
Możesz mieszać różne systemy plików na wszystkich dyskach. SnapRAID po prostu dodaje nadmiarowość.
SnapRAID nie jest przeznaczony do tworzenia kopii zapasowych.
W archiwach Media często nie potrzebujesz kopii zapasowej.
ZFS RAIDZ również nie jest przeznaczony do tworzenia kopii zapasowych.
jednak
zfs send
w połączeniu zzfs snapshot
oferuje niektóre bardzo łatwa w użyciu funkcja tworzenia kopii zapasowych i przywracania w trybie 24/7.ZFS jest przeznaczony dla systemów plików, w których kluczowe jest, aby nigdy nie miały przestój. Prawie wszystko można naprawić w locie bez przestojów.
Przestoje występują tylko w przypadku, gdy nie ma już nadmiarowości / samonaprawiania ZFS zdolny naprawić uszkodzenia. Ale nawet wtedy ZFS jest więcej niż pomocny, i wyświetla listę wszystkich utraconych danych. Zazwyczaj.
OTOH SnapRAID może odzyskiwać dane, ale odbywa się to w trybie offline.
Tak więc do odzyskania dane nie są dostępne.
Pomocne jest również sprawdzenie, które dane zostały utracone. Ale to jest trudniejsze, niż z ZFS.
Rekomendacja najlepszych praktyk ze SnapRAID (ZFS wykracza poza tę odpowiedź):
Jeśli chcesz zaszyfrować dysk, umieść PV w kontenerze LUKS.
Możesz agregować kilka mniejszych dysków w podobny rozmiar
Dotyczy to nowoczesnych systemów plików, które na koniec tworzą superbloki. Jeśli całkowicie wypełnisz PV, te FS (ZFS) mogą wykryć cały dysk lub PV zamiast LV.
Zauważ, że nie jest to idealne rozwiązanie, ponieważ ZFS zwykle tworzy swój FS
/
.Jak skonfigurować i administrować SnapRAID wykracza poza zakres tej odpowiedzi.
Dlaczego ZFS na parzystość:
Cóż, gdy napęd danych się psuje (sektory nieczytelne), można skopiować czytelne pliki. Nieczytelne pliki są łatwo odnajdywane. Następnie możesz go odzyskać.
Jednak parzystość SnapRAID to tylko jeden duży plik. Jeśli skopiujesz ten plik, chcesz aby mieć pewność, nie ma cichego zepsucia. ZFS zapewnia to niezależnie od SnapRAID. W przypadku korupcji ZFS mówi ci, że wiesz musisz sprawdzić plik parzystości.
Sprawdzanie kompletnego pliku w przypadku niektórych wadliwych sektorów trwa całe wieki, ponieważ wszystkie dane ze wszystkich dysków muszą być w pełni odczytane.
Dlaczego nie BTRFS?
źródło