Przewodnik po ZFS: Instalacja i optymalizacja systemu plików ZFS na Zi – Zima Store Online Przejdź do treści
Zima Store OnlineZima Store Online
Przewodnik po ZFS: Instalacja i optymalizacja systemu plików ZFS na ZimaBoard

Przewodnik po ZFS: Instalacja i optymalizacja systemu plików ZFS na ZimaBoard

Eva Wong jest Technical Writer oraz stałym majsterkowiczem w ZimaSpace. Pasjonatka technologii od zawsze, z zamiłowaniem do homelabów i oprogramowania open-source, specjalizuje się w tłumaczeniu skomplikowanych koncepcji technicznych na przystępne, praktyczne przewodniki. Eva wierzy, że samodzielne hostowanie powinno być zabawą, a nie czymś onieśmielającym. Poprzez swoje tutoriale umożliwia społeczności demistyfikację konfiguracji sprzętowych, od budowy pierwszego NAS-a po opanowanie kontenerów Docker.

Witajcie entuzjaści ZimaBoard! Dziś z radością przedstawiamy wam obszerny poradnik naszego oddanego członka społeczności, Tyrehla. Tyrehl nie tylko fachowo przeprowadza was przez proces instalacji ZFS na ZimaBoard, ale także dostarcza całościowy przegląd samego ZimaBoard.

Od wglądów społeczności po szczegółowe instrukcje instalacji, artykuł Tyrehla jest twoim kompleksowym źródłem do odblokowania pełnego potencjału zarówno ZFS, jak i ZimaBoard. Serdecznie dziękujemy Tyrehlowi za ten wzbogacający wkład, łączący zaangażowanie społeczności z wiedzą techniczną. Wyruszmy razem w tę podróż i podnieśmy twoje doświadczenie z ZimaBoard na wyższy poziom. Miłego odkrywania!

Wprowadzenie

Komputery jednopłytkowe (SBC) są bardzo popularne w scenariuszach domowych laboratoriów, a w ostatnich latach zdobyły też uznanie w środowiskach profesjonalnych i przemyśle. Obecnie istnieje duży ekosystem skupiony wokół edge computingu i systemów o małym formacie.

Przyzwoitą moc obliczeniową łatwo zdobyć, różne SBC oferują 4 rdzenie i dużo pamięci RAM do różnych zastosowań. Zazwyczaj jednak zawodzą pod względem magazynowania. Karty SD i pamięć Flash ogólnie są zazwyczaj wolne i podatne na awarie w scenariuszach intensywnego zapisu. Dyski podłączone przez USB nie oferują takiej samej niezawodności, a wybór dobrego konwertera USB na SATA nie jest również trywialny.

ZimaBoard ma asa w rękawie. Dwa porty SATA, podwójny Ethernet 100/1000 oraz różne opcje rozszerzeń PCIe tworzą bardzo elastyczny system.

Gdzie są granice tego, co SBC może realistycznie osiągnąć i dlaczego magazynowanie zawsze jest tak uciążliwe? Gdzie jest złoty środek między kompaktową maszyną, która nie opanowuje żadnego zadania szczególnie dobrze, a potworem z plątaniną kabli z 6 dyskami SATA wymagającymi zewnętrznego zasilacza ATX?

Ten artykuł ma na celu zbadanie mocnych stron ZimaBoard i sposobów ich wykorzystania, aby dobrze ją wykorzystać. Bez kończenia z głupio wyglądającą i niepraktyczną konfiguracją.

Motywacja

Jak wspomniano wcześniej, dużo mocy obliczeniowej jest łatwe do wdrożenia i wykorzystania. Pamięć jest również tania, więc szybko to magazynowanie staje się czynnikiem ograniczającym. Każdy, kto miał do czynienia z infrastrukturą, prawdopodobnie jest tego świadomy. Wystarczy spojrzeć na opcje sieciowego magazynowania k8s, różne platformy twierdzące, że wprowadzają API kompatybilne z S3 do twojego klastra, i jak uciążliwe jest ich wdrażanie oraz prawidłowa obsługa.

ZimaBoard, ze swoimi doskonałymi możliwościami I/O, jest świetnym kandydatem na mały NAS lub serwer ogólnego przeznaczenia z odporną lokalną pamięcią masową. I tu pojawia się wyzwanie – jak zapewnić odporne na awarie magazynowanie w małym formacie, na platformie, która „po prostu działa” i jest operacyjnie nudna.

Po stronie sprzętowej ograniczymy się do pracy z dwoma dyskami 2,5 cala podłączonymi do zasilania i złączy SATA z tyłu ZimaBoard. To bardzo kompaktowe rozwiązanie bez konieczności stosowania zewnętrznego zasilacza i kart rozszerzeń.

Mniej znaczy więcej

Duża pojemność magazynu jest dobra, ale jeszcze lepsze jest magazynowanie odporne na awarie. Do tego potrzebujemy bardziej zaawansowanego systemu plików oferującego redundancję danych.

ZFS oferuje możliwości programowego RAID przewyższające większość kontrolerów sprzętowych RAID. To naprawdę doskonały system plików z wieloma innymi godnymi uwagi funkcjami, takimi jak przyrostowe migawki, synchronizacja między zdalnymi systemami i pulami magazynowymi oraz szyfrowanie.

Dziś skupiamy się wyłącznie na uruchomieniu dysków w trybie redundantnym. Zazwyczaj ZFS służy do zarządzania tablicą RAIDZ. Ale ponieważ ograniczyliśmy się do dwóch dysków, pozostaje tylko jedna istotna opcja – pula lustrzana ZFS. Skutecznie zmniejszy to pojemność magazynu o połowę, ale jednocześnie zapewni lepszą redundancję i możliwość przetrwania awarii pojedynczego dysku. Nieidealne, ale musi wystarczyć.

Sprzęt

Dyski

Ogólnie społeczność ZimaBoard zaleca użytkownikom korzystanie z dysków 2,5 cala. Ich główną zaletą jest to, że nie potrzebują szyny 12V do działania. Są doniesienia o udanych testach z dyskami 3,5 cala, więc może się różnić. W moim przypadku wybrałem dwa dyski SSD 1TB. Możesz też wybrać HDD, jeśli potrzebujesz większej pojemności.

Złącza i akcesoria drukowane w 3D

Oficjalny rozdzielacz Y jest zdecydowanie zalecany do podłączenia i zasilania dwóch dysków. Istnieją obejścia, takie jak użycie adapterów USB-na-SATA do zasilania. Wygląda to nieestetycznie, ale działa. Aby wszystko trzymało się razem, świetnie sprawdza się drukowana w 3D podwójna podstawka na dyski HDD. Końcowy efekt to bardzo przenośny i niskoprofilowy zestaw.

Linki są dołączone na końcu artykułu. Uważam tę wersję za bardzo zwartą i praktyczną ze względu na niewielki rozmiar. Istnieją również różne drukowane w 3D płytki do montażu w szafie rack, jeśli masz na to miejsce.

Instalacja ZFS

ZimaBoard jest domyślnie dostarczany z Debianem. To także moja osobista rekomendacja solidnej dystrybucji, która nie będzie przeszkadzać ani zaskakiwać. W przypadku innych dystrybucji zapoznaj się z odpowiednią dokumentacją i instrukcjami instalacji ZFS.

Przed rozpoczęciem pamiętaj, aby zaktualizować do najnowszej wersji LTS, jeśli to możliwe. Zrób kopię zapasową danych, aby łatwo było wszystko rozebrać i zacząć od nowa. Dokumentuj każdy krok, aby ułatwić rozwiązywanie problemów. Sprawdź skrypt polecenie dla wygodnego sposobu wykonania tego.

Szczegółowe instrukcje i zaawansowane przypadki użycia są udokumentowane na https://wiki.debian.org/ZFS to jest zalecane podstawowe źródło do konfiguracji ZFS.

Wymagania wstępne

Upewnij się, że repozytoria HTTPS są dostępne:

1 apt install -y lsb-release apt-transport-https

Dodaj repozytorium Backports dla swojej wersji, edytując /etc/apt/sources.list lub dodając nowy plik źródeł w katalogu ‘/etc/apt/sources.list.d/’:

1 #określ nazwę kodową lub ręcznie zamień poniżej:
2 codename=$(lsb_release -cs)
3 #dodaj repozytorium backports do listy źródeł:
4 echo “deb http://deb.debian.org/debian $codename-backports main contrib non-free”|sudo tee /etc/apt/sources.list.d/debian_backports.list && sudo apt update

Pakiety ZFS

Na koniec, zgodnie z dokumentacją Debiana, zainstaluj najnowsze nagłówki Linuxa oraz odpowiednie pakiety ZFS:

1 sudo apt install linux-headers-amd64;sudo apt install -t $codename-backports zfsutils-linux zfs-dkms

„O nie – coś poszło nie tak”

Niepowodzenie instalacji ZFS zwykle można przypisać staremu lub nieprawidłowemu jądru albo brakującym nagłówkom. Najlepiej usunąć wszystkie pakiety związane z ZFS, sprawdzić zainstalowane nagłówki i ponownie przeczytać dokumentację instalacji.

1 sudo dpkg -l | egrep ‘linux-image|nagłówki linux

Tworzenie puli i systemu plików

Wyświetl dyski według identyfikatorów:

1 ls -l /dev/disk/by-id/
2 ls -l /dev/disk/by-id/
3 lrwxrwxrwx 1 root root 9 22 gru 15:29 ata-KINGSTON_SA400S37960G_50026B73818333D1 -> ../../sdb
lrwxrwxrwx 1 root root 9 22 gru 15:29 ata-KINGSTON_SA400S37960G_50026B73818333DB -> ../../sda
4 lrwxrwxrwx 1

I utwórz pulę, określając stabilne identyfikatory urządzeń, np.:

1 zpool create $mirror_pool_name mirror ata-KINGSTON_SA400S37960G_50026B73818333D1 ata-KINGSTON_SA400S37960G_50026B73818333DB

Utwórz zaszyfrowany system plików:

1 zfs create \
2 -o encryption=on \ # usuń jeśli niepotrzebne
3 -o keyformat=passphrase -o casesensitivity=mixed \
4 -o acltype=posixacl -o xattr=sa -o dnodesize=auto $mirror_pool_name/$dataset_name

Scenariusze użycia w rzeczywistym świecie i wydajność

ZimaBoard nie ma żadnych problemów z uruchomieniem ZFS i oferuje dużo wydajności, przy czym jedynie szyfrowanie zauważalnie obciąża CPU. Transkodowanie i strumieniowanie (np. z Jellyfin) również nie stanowi problemu. Warto zauważyć, że odczyt lub zapis bardzo dużych plików do zaszyfrowanego systemu plików mocno obciąży CPU. Może to wpłynąć na inne zadania działające na systemie.

SMB/NFS

Podczas ogólnych testów zapis pojedynczego pliku 12GB do puli lustrzanej ZFS trwał około 5 minut, a wąskim gardłem był dysk IO. Odczyt z puli ZFS był znacznie szybszy, zajmując mniej niż połowę tego czasu. Efektywnie, połączenie sieciowe 1Gbps było całkowicie wykorzystane. Oba testy przeprowadzono do/z nieszyfrowanego systemu plików:

Następny test pokazuje duży wpływ szyfrowania na CPU. Ten sam plik o rozmiarze 12GB był odczytywany z nieszyfrowanego systemu plików ZFS i zapisywany do zaszyfrowanego. Wydajność nadal jest doskonała, ale użycie CPU gwałtownie wzrosło i pozostało bardzo wysokie przez cały proces.

Zasoby i odniesienia

Podsumowanie

Masz pytania lub potrzebujesz dalszych wyjaśnień dotyczących jakiegokolwiek aspektu samouczka? Tyrehl jest tutaj, aby pomóc! Dołącz do naszej społeczności na Discordzie, aby połączyć się bezpośrednio z Tyrehl i uczestniczyć w ciekawych dyskusjach. Twoja ciekawość nie musi kończyć się na samouczku – Tyrehl jest gotów wspierać Cię na Twojej drodze z ZFS. Dołącz do naszego serwera Discord: [ zimaboard.com/discord]

Zostaw komentarz

Twój adres email nie zostanie opublikowany..

    1 out of ...
    Koszyk 0

    Twój koszyk jest aktualnie pusty.

    Rozpocznij zakupy