Główna » jak » Wprowadzenie do systemu plików Z (ZFS) dla systemu Linux

    Wprowadzenie do systemu plików Z (ZFS) dla systemu Linux

    ZFS jest powszechnie używany przez hakerów danych, miłośników NAS i innych maniaków, którzy wolą zaufać systemowi redundantnemu, a nie chmurnemu. Jest to świetny system plików do zarządzania wieloma dyskami danych i rywalami w jednych z największych konfiguracji RAID.

    Zdjęcie: Kenny Louie.

    Co to jest ZFS i dlaczego powinienem go używać?

    System plików Z to wolny i oparty na otwartym kodzie źródłowym menedżer woluminów zbudowany przez firmę Sun Microsystems do użytku w systemie operacyjnym Solaris. Niektóre z najbardziej atrakcyjnych funkcji obejmują:

    Nieograniczona skalowalność

    Cóż, nie jest technicznie nieskończony, ale jest to 128-bitowy system plików, który jest w stanie zarządzać zettabajtami (miliard terabajtów) danych. Bez względu na to, ile masz miejsca na dysku twardym, ZFS będzie odpowiednie do zarządzania nim.

    Maksymalna integralność

    Wszystko, co robisz w ZFS, używa sumy kontrolnej, aby zapewnić integralność plików. Możesz być pewny, że twoje pliki i ich nadmiarowe kopie nie będą spotykać się z cichym uszkodzeniem danych. Ponadto, podczas gdy ZFS jest zajęty, po cichu sprawdzając dane pod kątem integralności, wykona automatyczne naprawy w dowolnym momencie.

    Łączenie dysków

    Twórcy ZFS chcą, abyś myślał, że jest podobny do sposobu, w jaki twój komputer korzysta z pamięci RAM. Kiedy potrzebujesz więcej pamięci w swoim komputerze, wkładasz inny pendrive i gotowe. Podobnie w przypadku ZFS, kiedy potrzebujesz więcej miejsca na dysku twardym, wkładasz inny dysk twardy i gotowe. Nie musisz tracić czasu na partycjonowanie, formatowanie, inicjowanie lub robienie czegokolwiek innego na dyskach - kiedy potrzebujesz większej "puli", po prostu dodaj dyski.

    NALOT

    ZFS może obsługiwać wiele różnych poziomów RAID, zapewniając jednocześnie wydajność porównywalną ze sprzętowymi kontrolerami RAID. Pozwala to zaoszczędzić pieniądze, ułatwić konfigurację i uzyskać dostęp do wyższych poziomów RAID, które zostały ulepszone przez ZFS.

    Instalowanie ZFS

    Ponieważ opisujemy tylko podstawy tego przewodnika, nie będziemy instalować ZFS jako głównego systemu plików. W tej sekcji założono, że używasz ext4 lub jakiegoś innego systemu plików i chciałbyś użyć ZFS do niektórych dodatkowych dysków twardych. Oto polecenia do instalowania ZFS w niektórych najpopularniejszych dystrybucjach Linuksa.

    Solaris i FreeBSD powinny już być wyposażone w ZFS zainstalowany i gotowy do użycia.

    Ubuntu:

    $ sudo add-apt-repository ppa: zfs-native / stable
    $ sudo apt-get update
    $ sudo apt-get install ubuntu-zfs

    Debian:

    $ su -
    # wget http://archive.zfsonlinux.org/debian/pool/main/z/zfsonlinux/zfsonlinux_2%7Ewheezy_all.deb
    # dpkg -i zfsonlinux_2 ~ wheezy_all.deb
    # apt-get update
    # apt-get install debian-zfs

    RHEL / CentOS:

    $ sudo yum localinstall --nogpgcheck http://archive.zfsonlinux.org/epel/zfs-release-1-3.el6.noarch.rpm
    $ sudo yum zainstaluj zfs

    Jeśli masz inną dystrybucję, sprawdź zfsonlinux.org i kliknij swoją dystrybucję pod listą "Pakiety", aby uzyskać instrukcje, jak zainstalować ZFS.

    Kontynuując ten przewodnik, zamierzamy użyć Ubuntu, ponieważ wydaje się to być najlepszym wyborem dla maniaków Linuksa. Nadal powinieneś być w stanie śledzić niezależnie od tego, jak komendy ZFS nie zmienią się w różnych dystrybucjach.

    Instalacja zajmuje sporo czasu, ale po jej zakończeniu uruchom $ sudo zfs list aby upewnić się, że jest poprawnie zainstalowany. Powinieneś otrzymać wyjście takie jak to:

    Używamy teraz nowej instalacji serwera Ubuntu z tylko jednym dyskiem twardym.

    Konfigurowanie ZFS

    Załóżmy teraz, że włożyliśmy sześć dodatkowych dysków twardych do naszego komputera.

    $ sudo fdisk -l | grep Błąd pokaże nam sześć dysków twardych, które właśnie zainstalowaliśmy. Obecnie nie można ich używać, ponieważ nie zawierają one żadnej tabeli partycji.

    Jak wspomnieliśmy wcześniej, jedną z miłych rzeczy na temat ZFS jest to, że nie musimy przejmować się partycjami (chociaż możesz, jeśli chcesz). Zacznijmy od pobrania trzech dysków twardych i umieszczenia ich w puli pamięci, uruchamiając następujące polecenie:

    $ sudo zpool twórz -f geek1 / dev / sdb / dev / sdc / dev / sdd

    zpool twórz to polecenie użyte do utworzenia nowej puli pamięci, -fa zastępuje wszelkie błędy, które występują (np. jeśli dysk (y) mają już informacje na ich temat), geek1 jest nazwą puli pamięci i / dev / sdb / dev / sdc / dev / sdd są dyski twarde, które umieściliśmy w puli.

    Po utworzeniu puli powinieneś być w stanie zobaczyć ją za pomocą df polecenie lub Lista sudo zfs:

    Jak widać, / geek1 zostało już zamontowane i jest gotowe do użycia.

    Jeśli chcesz zobaczyć, które trzy dyski zostały wybrane dla Twojej puli, możesz uruchomić status sudo zpool:

    Do tej pory stworzyliśmy pulę dynamicznych pasków 9 TB (efektywnie RAID 0). Jeśli nie wiesz, co to oznacza, wyobraź sobie, że utworzyliśmy plik 3 KB na / geek1. 1 KB automatycznie przejdzie do sdb, 1 KB do sdc i 1 KB do sdd. Potem, kiedy przejdziemy do odczytu pliku 3 KB, każdy dysk twardy przedstawi nam 1 KB, łącząc prędkość trzech dysków. Powoduje to szybkie zapisywanie i odczytywanie danych, ale oznacza także, że mamy pojedynczy punkt awarii. Jeśli tylko jeden dysk ulegnie awarii, utracimy plik 3 KB.

    Zakładając, że ochrona danych jest ważniejsza niż szybki dostęp do nich, rzućmy okiem na inne popularne konfiguracje. Najpierw usuniemy utworzone zpool, abyśmy mogli użyć tych dysków w bardziej zbędnej konfiguracji:

    $ sudo zpool destroy geek1

    Bam, nasz zpool zniknął. Tym razem użyjmy naszych trzech dysków do stworzenia puli RAID-Z. RAID-Z jest w zasadzie ulepszoną wersją RAID 5, ponieważ pozwala uniknąć "zapisu" za pomocą funkcji "kopiuj przy zapisie". RAID-Z wymaga co najmniej trzech dysków twardych i jest rodzajem kompromisu między RAID 0 i RAID 1. W puli RAID-Z nadal będziesz mieć prędkość blokowania na poziomie bloków, ale będziesz miał również rozproszoną parzystość. Jeśli pojedynczy dysk w puli zginie, po prostu wymień ten dysk, a ZFS automatycznie przebuduje dane na podstawie informacji o parzystości z innych dysków. Aby utracić wszystkie informacje w puli pamięci, dwa dyski musiałyby umrzeć. Aby uczynić rzeczy jeszcze bardziej niepotrzebnymi, możesz użyć RAID 6 (RAID-Z2 w przypadku ZFS) i mieć podwójną parzystość.

    Aby to osiągnąć, możemy użyć tego samego zpool twórz komenda jak poprzednio, ale określ raidz po nazwie puli:

    $ sudo zpool twórz -f geek1 raidz / dev / sdb / dev / sdc / dev / sdd

    Jak widzisz, df -h pokazuje, że nasza pula 9 TB została zredukowana do 6 TB, ponieważ do przechowywania informacji o parzystości używa się 3 TB. Z status zpool polecenie, widzimy, że nasza pula jest w większości taka sama jak poprzednio, ale używa teraz RAID-Z.

    Aby pokazać, jak łatwo jest dodać więcej dysków do naszej puli pamięci, dodajmy pozostałe trzy dyski (kolejne 9 TB) do naszej puli geek1 jako kolejną konfigurację RAID-Z:

    $ sudo zpool add -f geek1 raidz / dev / sde / dev / sdf / dev / sdg

    Kończymy z:

    Saga trwa ...

    Ledwie udało nam się zeskrobać powierzchnię ZFS i jego możliwości, ale korzystając z tego, czego nauczyłeś się w tym artykule, powinieneś teraz móc tworzyć nadmiarowe pule pamięci danych. Sprawdź z nami kolejne artykuły na temat ZFS, zobacz strony man i przeszukaj niekończące się niszowe przewodniki i filmy z Youtube obejmujące funkcje ZFS.