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.
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.
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.
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:
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.