Skonfiguruj oddzielne datasety ZFS dla danych aplikacji, kopii zapasowych i pobieranych plików, nadając każdemu obciążeniu własny punkt montowania, właściwości, zasady tworzenia migawek i granicę czyszczenia.
Na serwerze domowym te foldery często początkowo znajdują się w jednym dużym udziale, bo to najprostsze rozwiązanie. Z czasem potrzebują jednak różnych zasad przechowywania, uprawnień, kompresji, parametru recordsize, limitów i sposobu przywracania. Dlatego bezpieczniej jest rozdzielić je, zanim jedno głośne obciążenie narzuci swoją politykę wszystkim pozostałym.
Określ, co każdy dataset ma chronić
Zacznij od określenia roli każdego obciążenia. Dane aplikacji zwykle wymagają spójnych migawek i ostrożnego przywracania, kopie zapasowe potrzebują kontroli pojemności i okresu przechowywania, a pobierane pliki powinny dać się łatwo usuwać, bez włączania ich do długoterminowej ochrony.
Datasety ZFS są granicami administracyjnymi w takim samym stopniu jak foldery. Właściwości takie jak kompresja, limity, rezerwacje, punkty montowania i migawki można zarządzać dla każdego datasetu osobno. To właśnie dlatego rozdzielenie obciążeń jest przydatne, nawet gdy znajdują się one w tej samej puli.
Zanim cokolwiek utworzysz, zapisz trzy planowane role: stan aplikacji, który chcesz przywracać; dane kopii zapasowych, które chcesz przechowywać; oraz dane tymczasowe lub możliwe do ponownego pobrania, które będziesz usuwać. Jeśli dwa foldery wymagają takich samych zasad przywracania i czyszczenia, nie muszą jeszcze mieć oddzielnych datasetów.
Utwórz przejrzyste punkty montowania przed przeniesieniem danych
Wybierz punkty montowania, które jasno pokazują podział zarówno aplikacjom, jak i użytkownikom. Prosty układ może wykorzystywać jeden nadrzędny punkt, na przykład /srv/storage, oraz podrzędne punkty montowania dla appdata, backups i downloads.
Dokumentacja OpenZFS zfs-set opisuje ustawianie właściwości datasetu za pomocą zfs set, a szersza dokumentacja właściwości omawia działanie punktów montowania i dziedziczenie właściwości. Oznacza to, że możesz utworzyć dataset nadrzędny ze wspólnymi ustawieniami domyślnymi i zmieniać tylko te datasety podrzędne, które wymagają innego zachowania.
Najpierw utwórz puste datasety, sprawdź, czy są montowane w oczekiwanych miejscach, i dopiero potem przenieś dane. Jeśli aplikacja nadal zapisuje dane w starej ścieżce, przerwij migrację. Przenieś ją podczas okna serwisowego, aby móc łatwo wycofać zmiany.
Otocz dane aplikacji najbardziej staranną polityką migawek
Dane aplikacji zwykle zmieniają się niewielkimi, ale ważnymi partiami: obejmują bazy danych, pliki konfiguracyjne, przesłane pliki użytkowników, wolumeny kontenerów i stan aplikacji. Utrata pojedynczego pliku może być mniej widoczna niż utrata całego folderu kopii zapasowych, ale przywrócenie niewłaściwego momentu może zepsuć działanie aplikacji.
Dokumentacja właściwości OpenZFS pokazuje, że właściwości na poziomie datasetu mogą być dziedziczone lub zastępowane, dzięki czemu dane aplikacji mogą korzystać z częstszych migawek albo innej kompresji, bez narzucania tych ustawień pobieranym plikom.
W przypadku danych aplikacji wybierz częste migawki, ostrożne usuwanie starszych wersji i test przywracania dla jednej reprezentatywnej aplikacji. Jeśli aplikacja korzysta z aktywnej bazy danych, skoordynuj migawki z własną metodą tworzenia kopii zapasowych lub wstrzymywania operacji przez aplikację, zamiast zakładać, że migawka systemu plików jest spójna na poziomie aplikacji.
Wyznacz dla kopii zapasowych limity pojemności i granice przechowywania
Kopie zapasowe zasługują na własny dataset, ponieważ mogą po cichu rosnąć z powodu okresu przechowywania, metadanych deduplikacji, syntetycznych pełnych kopii, replikacji lub starych zadań klientów. Dataset kopii zapasowych bez limitu może zużyć miejsce potrzebne aplikacjom lub aktywnym udziałom.
Przewodnik Oracle dotyczący właściwości ZFS opisuje limity i rezerwacje jako mechanizmy działające na poziomie datasetu. Dzięki temu można ograniczyć rozrost kopii zapasowych, aby nie wypierały innych obciążeń.
Ustaw limit lub przynajmniej próg alertu dla datasetu kopii zapasowych, a następnie dopasuj przechowywanie migawek do zasad samego narzędzia do tworzenia kopii. Nie przechowuj migawek systemu plików w nieskończoność wokół plików kopii zapasowych, które aplikacja uważa już za usunięte.
Spraw, aby pobierane pliki można było łatwo odtworzyć i usunąć
Pobierane pliki zwykle należą do najmniej istotnego datasetu, ponieważ większość z nich jest tymczasowa, możliwa do ponownego pobrania lub oczekuje na uporządkowanie. Mimo to warto wyznaczyć dla nich osobną granicę, ponieważ mogą szybko zapełnić pulę i dziedziczyć niepotrzebne migawki.
Oddzielny dataset downloads pozwala skrócić lub wyłączyć długi okres przechowywania migawek, dostosować kompresję do rodzaju plików i wyczyścić katalog bez naruszania stanu aplikacji ani kopii zapasowych.
Użyj niewielkiego limitu lub zaplanowanego czyszczenia, jeśli pobierane pliki regularnie zajmują całą dostępną przestrzeń. Jeśli dany plik stanie się ważny, przenieś go do datasetu, którego zasady odpowiadają jego nowej roli, zamiast przechowywać dane długoterminowe w obszarze przeznaczonym na pliki tymczasowe.
Po podziale sprawdź uprawnienia, migawki i przywracanie
Konfiguracja nie jest zakończona w chwili utworzenia datasetów. Kończy się dopiero wtedy, gdy aplikacje uruchamiają się poprawnie, kopie zapasowe trafiają do właściwego datasetu, pobierane pliki można bezpiecznie usuwać, a migawki pokazują oczekiwane granice.
Wykonaj po jednym teście przywracania dla każdej kategorii: przywróć niewielką konfigurację aplikacji, wyświetl punkt odzyskiwania kopii zapasowej oraz usuń lub wyczyść testowy pobrany plik. Potwierdzisz w ten sposób, że granica datasetu odpowiada granicy operacyjnej.
Jeśli migawka nieoczekiwanie obejmuje pobierane pliki albo nie zawiera danych aplikacji, zatrzymaj się i napraw punkt montowania lub przypisanie datasetu, zanim dodasz kolejną automatyzację. Docelowy stan powinien być przewidywalny: zasady każdego obciążenia da się wyjaśnić jednym zdaniem.
FAQ
Czy dane aplikacji i kopie zapasowe powinny kiedykolwiek współdzielić jeden dataset?
Tylko wtedy, gdy rzeczywiście mają takie same wymagania dotyczące przechowywania, limitów, migawek i przywracania. W większości serwerów domowych dane aplikacji i kopie zapasowe powinny mieć różne zasady.
Czy mogę podzielić datasety po tym, jak dane już istnieją?
Tak, ale potraktuj to jako migrację. Utwórz nowe datasety, zatrzymaj aplikacje lub zadania zapisujące dane, przenieś dane, zaktualizuj ścieżki, wykonaj testy i zachowaj starą kopię do czasu zweryfikowania nowych punktów montowania.
Jako powiązany etap planowania zapoznaj się z tym, jak granice datasetów wpływają na pojemność replikacji. Przewodnik ZimaSpace dotyczący zapełniania puli docelowej przez replikację migawek pokazuje, dlaczego okres przechowywania i zakres datasetów należy projektować razem.
Wsparcie i wskazówki
Więcej do przeczytania

Przewodnik po pamięci masowej nagrywania telewizji na żywo: pojemność, przechowywanie i czyszczenie
Zmierz rzeczywiste nagrania, zarezerwuj zapas, połącz limity wieku i pojemności oraz potwierdź, że najstarszy kwalifikujący się program zostanie usunięty, zanim pamięć się zapełni.

Proces odzyskiwania metadanych multimediów domowych po przywróceniu bazy danych
Zabezpiecz przywrócony stan, zweryfikuj tożsamość multimediów i ścieżki, a następnie napraw brakujące grafiki lub dopasowania w pilotażowej bibliotece przed wprowadzeniem szeroko zakrojonych zmian metadanych.

Lista zgodności klientów Jellyfin z dźwiękiem, obrazem i napisami
Testuj reprezentatywne pliki, zmieniając jedną zmienną naraz, i rejestruj dla każdego klienta: bezpośrednie odtwarzanie, remultipleksowanie, konwersję dźwięku, transkodowanie wideo lub niepowodzenie.

