Stabilny system plików dla dużych plików (kopie zapasowe) dla systemu Linux

18

Jaki system plików byłby najlepszy do tworzenia kopii zapasowych? Interesuje mnie przede wszystkim stabilność (szczególnie brak możliwości uszkodzenia plików podczas ponownego uruchamiania komputera itp.), Ale ważna jest również skuteczność obsługi dużych plików (> 5 GB).

Jakich parametrów montowania powinienem użyć?

Jądro to Linux> = 2.6.34.

EDIT: Mam nie chcą metod tworzenia kopii zapasowych. Potrzebuję systemu plików do ich przechowywania.

Maciej Piechotka
źródło
Ile danych archiwizujesz codziennie, co tydzień, co miesiąc? Ile danych zamierzasz zatrzymać i na jak długo?
Stefan Lasiewski
Czy to musi być Linux? Czy rozważałeś ZFS (starszą, stabilną wersję 14) na FreeBSD 8.1?
Stefan Lasiewski
Jest to tymczasowe miejsce do przechowywania kopii zapasowych laptopa - dopóki nie zostanie przesłane na zewnętrzny dysk twardy. Począwszy od FreeBSD - chociaż jest to wspaniały system, nie pasuje mi w tej aplikacji.
Maciej Piechotka,

Odpowiedzi:

13

Możesz użyć ext4, ale polecam montowanie w journal_datatrybie, który wyłączy dealloc (opóźniony przydział), co spowodowało wcześniejsze problemy. Wyłączenie dealloc spowoduje spowolnienie zapisywania nowych danych, ale sprawi, że zapisy w przypadku awarii zasilania będą mniej narażone na utratę. Powinienem również wspomnieć, że można wyłączyć dealloc bez użycia, journal_dataktóry ma pewne inne zalety (lub przynajmniej w ext3), takie jak nieznacznie poprawione odczyty i uważam, że lepsze odzyskiwanie.

Zakresy nadal pomogą w fragmentacji. Zakres powoduje, że usuwanie dużych plików jest znacznie szybsze niż ext3, usuwanie danych o dowolnym rozmiarze (pojedynczego pliku) powinno być prawie natychmiastowe na ext4, ale może zająć dużo czasu na ext3. (FS oparty na dowolnym zakresie ma tę zaletę)

ext4 jest także fsckszybszy niż ext3.

Ostatnia uwaga: w ext4 były poprawki błędów, jak na przykład 2.6.31? Zasadniczo upewniłbym się, że nie używasz jądra wcześniejszego niż 2.6.32, które jest jądrem LTS.

ksenoterracid
źródło
Jeśli decyduje się na „solidnym” ext4być może warto rozważyć mertis i ryzyko związane z jej on disk layout, a tym samym bezpieczeństwo danych w spoczynku (aspekt discuded tutaj )
humanityANDpeace
5

XFS jest solidny i działa w jądrze od wieków. Sprawdź narzędzia takie jak xfs_freeze i sprawdź, czy tego właśnie szukasz. Wiem, że jest to bardzo subiektywne, ale od lat korzystam z XFS do przechowywania danych bez żadnych incydentów.

dsp
źródło
2
na podstawie mojej odpowiedzi chciałbym zauważyć, że XFS jest oparty na zakresie i ma wiele takich samych zalet jak ext4. Chciałbym jednak wspomnieć, że niesie ze sobą te same problemy z dealloc, które może mieć ext4, co może spowodować utratę danych w scenariuszu „wyciągnij wtyczkę”. Nie wiem, czy dealloc można wyłączyć w XFS.
ksenoterrakid
Tak, nie jestem pewien, czy możesz wyłączyć tę funkcję, ale narzędzie xfs_freeze zapewnia stabilny obraz dysku. Ze strony podręcznika: Flaga -f żąda, aby określony system plików XFS został zamrożony przed nowymi modyfikacjami. Gdy ta opcja jest zaznaczona, wszystkie bieżące transakcje w systemie plików mogą zostać zakończone, nowe wywołania systemowe zapisu są zatrzymywane, inne wywołania modyfikujące system plików są zatrzymywane, a wszystkie brudne dane, metadane i informacje dziennika są zapisywane na dysku. Każdy proces próbujący zapisać w zamrożonym systemie plików zablokuje oczekiwanie na odmrożenie systemu plików.
dsp
Tak długo, jak działa flush, jestem mniej zainteresowany uszkodzeniem plików podczas pisania.
Maciej Piechotka,
3

Wystarczy użyć narzędzia do tworzenia kopii zapasowych, które obsługuje sumy kontrolne. Na przykład Dar obsługuje i obsługuje przyrostowe kopie zapasowe. Następnie możesz wykonać kopię zapasową do solidnego systemu plików, takiego jak ext3.

Do tworzenia kopii zapasowych potrzebujesz czegoś solidnego / bardzo stabilnego. A btrfs lub ZFS po prostu nie są dziś gotowe.

maxschlepzig
źródło
Liczę to jako ext3
Maciej Piechotka,
0

btrfs ma przejrzyste sprawdzanie sum danych zapisywanych na dysk oraz tryb szybkiego uporządkowanego zapisu, który jest zawsze włączony (i wiele innych funkcji przyjaznych dla kopii zapasowych), co czyni go atrakcyjnym dla kopii zapasowych. Więcej informacji na stronie https://btrfs.wiki.kernel.org/index.php/Main_Page .

durin42
źródło
Hmm Chociaż może to być dobra odpowiedź w przyszłości, nie sądzę, że btrfs lub zfs są teraz stabilne w systemie Linux.
Maciej Piechotka,
Mam polecane mi przez użytkowników jądra btrfs. Ostatnio wiedziałem, że opiekun Mercurial działał na co najmniej jednej maszynie w pełnym wymiarze godzin. Używam ZFS przez FUSE codziennie i jest niesamowicie solidny, choć trochę powolny z powodu FUSE.
durin42
1
Format btrfs na dysku nie jest jeszcze stabilny ... Nie polecałbym go, dopóki to się nie zmieni. Programiści jądra mogą uruchamiać wszelkiego rodzaju szalone rzeczy.
ksenoterrakid
ZFS może być stabilny ... ale z powodu BEZPIECZNIKA nie zawracałbym sobie tym głowy.
ksenoterrakid
1
ZFS na FUSE to hack. To może być dobry hack, nie ufałbym temu za twoje krytyczne dane biznesowe. Ponadto ZFS na FUSE ma pewne problemy z prędkością, a szybkość ma krytyczne znaczenie podczas tworzenia kopii zapasowych terabajtów danych.
Stefan Lasiewski
0

Imho bardzo ważnym aspektem, o którym nie wspominałem w innych odpowiedziach, jest stabilność funkcji układu na dysku systemu plików (np. Rozważ sprawdzenie dokumentacji możliwych kandydatów na ext4 , btrfs )

Chociaż baza kodów i ilość testów sterowników systemu plików bazy danych jest rzeczywiście ważna, jak pokazały inne odpowiedzi, alrady, ponieważ jest to ochrona danych podczas ich odczytu i zapisu , układ / format dysku chroni przed zagrożeniami dla danych w spoczynku, które są formami wad sprzętowych, takich jak nieczytelne sektory lub cicha zgnilizna bitów .

W odniesieniu do ext4, o którym mówi się, że ma dobrą charakterystykę, to długo testowana baza kodu ( https://events.static.linuxfound.org/sites/events/files/slides/AFL%20filesystem%20fuzzing%2C%20Vault%202016_0. pdf pokazuje, że znalezienie błędów zajęło więcej czasu niż na przykład w bardziej nowoczesnym i bardziej złożonym btrfs), przyjrzałem się oporności ext4 w spoczynku i znalazłem pewne braki imho w innym chwalonym systemie plików.

Uważam, że rozsądne (jeśli zostanie wybrane ext4jako „ solidna kopia zapasowa fs ”) poprawa możliwości odzyskiwania (choć „utwardzanie”) za pomocą e2imagenarzędzia ext4dostarczonego przez programistów

Program e2image zapisze krytyczne metadane systemu plików ext2, ext3 lub ext4 znajdujące się na urządzeniu w pliku określonym przez plik obrazu. Plik obrazu może być sprawdzony przez dumpe2fs i debugfs, przy użyciu opcji -i dla tych programów. Może to pomóc ekspertowi w odzyskaniu katastrofalnie uszkodzonych systemów plików. W przyszłości program e2fsck zostanie ulepszony, aby móc używać pliku obrazu w celu odzyskania poważnie uszkodzonego systemu plików.

i polecam .

Bardzo dobrym pomysłem jest tworzenie plików obrazów dla wszystkich systemów plików w systemie i zapisywanie układu partycji (który można wygenerować za pomocą polecenia fdisk -l) w regularnych odstępach czasu --- podczas rozruchu i / lub co tydzień lub więc. Plik obrazu powinien być przechowywany w innym systemie plików niż system plików, którego dane zawiera, aby zapewnić dostępność tych danych w przypadku poważnego uszkodzenia systemu plików.

Biorąc pod uwagę, że nawet wszystkie metadane ext4 układu dysku nie są nadmiarowe (tzn. Superblok jest przechowywany często wielokrotnie jako kopia, indoesy są przechowywane tylko w dokładnie 1 miejscu), ext4to z pewnością jest gorszy od btrfstego, co zapewniłoby przynajmniej sumy kontrolne dla wszystkie metadane + dane zawartości pliku .

Aby przeciwdziałać temu „niedociągnięciu” ext4i uczynić go bardziej rock-solidistotnym w aspekcie układu dysku , uzasadnione może być uzupełnienie tej nadmiarowości i odzyskiwania zawartości pliku przez par2/ parchive

Mimo że pytanie wymaga skupienia się na rozwiązaniach systemu plików, chciałbym zwrócić uwagę, że większość tego, co zapewnia system plików (buforowanie, czasopisma, odzyskiwanie przydzielonej przestrzeni, przydzielanie bloków itp.) Niekoniecznie jest czymś, z czego skorzystają dane kopii zapasowej wiele, gdy jest pisane i czytane tylko luzem i ptaszką. W tym celu rozważę użycie parchivedodatkowej tarkopii zapasowej jako bardziej optymalnego rozwiązania do tworzenia kopii zapasowych, ponieważ podstawa kodu zastosowana w procesie jest zmniejszona, a zatem jest mniej błędów, jeśli jest mniej „funkcji”.

ludzkośćANDpeace
źródło