If-Koubou

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

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

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. To świetny system plików do zarządzania wieloma dyskami danych i rywalami w jednych z największych konfiguracji RAID.

Zdjęcie: Kenny Louie.

Czym 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 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 mieć pewność, ż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 drugi patyk i gotowe. Podobnie w przypadku ZFS, gdy 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 ma wiele różnych poziomów RAID, a jednocześnie zapewnia 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 dla niektórych dodatkowych dysków twardych. Oto polecenia do instalowania ZFS w niektórych z najpopularniejszych dystrybucji 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, użyjemy 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ą ż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, oraz / 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. To sprawia, że ​​szybkie zapisywanie i odczytywanie danych, ale także oznacza, że ​​mamy pojedynczy punkt awarii. Jeśli tylko jeden dysk twardy 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 bloku, 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 zbędnymi, można 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 polecenie jak poprzednio, ale określ Raidz po nazwie puli:

$ sudo zpool create -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. Dzięki status zpool Polecenie, widzimy, że nasza pula jest w większości taka sama jak wcześniej, ale używa teraz RAID-Z.

Aby pokazać, jak łatwo 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.