Konfiguracja ZFS w Ubuntu 20.04
Po zakończeniu instalacji ZFS w Ubuntu 20.04, następnym krokiem jest konfiguracja dysków twardych. Istnieje wiele możliwości ZFS, a to co zdecydujesz się zrobić będzie zależało od tego ile dysków masz do dyspozycji i jakie są Twoje cele związane z przechowywaniem danych. Na przykład, czy wolisz, aby Twoja macierz pamięci masowej skupiała się na szybkości czy redundancji? Czy masz 3 dyski czy 20? A co z szyfrowaniem?
Wszystkie typy konfiguracji, pokażemy Ci, jak zacząć w tym przewodniku. Przeczytaj, jak omówimy podstawowe komendy w ZFS i konfigurację zpools, RAID-Z, szyfrowanie i wiele więcej.
W tym poradniku dowiesz się:
- Jak zainstalować ZFS na Ubuntu 20.04
- Jak tworzyć i niszczyć zpools
- Konfigurować różne poziomy RAID i RAID-Z
- Jak używać szyfrowania z ZFS
Kategoria | Wymagania, konwencje lub używane wersje oprogramowania |
---|---|
System | Zainstalowany lub zaktualizowany Ubuntu 20.04 Focal Fossa |
Software | ZFS Utilities |
Other | Przywilejowany dostęp do systemu Linux jako root lub za pomocą polecenia sudo . |
Konwencje | # – wymaga, aby dane polecenia linuxa były wykonywane z uprawnieniami roota albo bezpośrednio jako użytkownik root, albo przez użycie polecenia sudo $ -. wymaga, aby dane polecenia linuksowe były wykonywane jako zwykły nieuprzywilejowany użytkownik
|
Wymagania wstępne
Jedyną rzeczą, której potrzebujesz, aby rozpocząć pracę z ZFS i podążać za naszym przewodnikiem, jest Ubuntu 20.04 Focal Fossa, kilka dysków twardych, których chcesz użyć w swojej macierzy (macierzach) pamięci masowej, oraz zainstalowane w systemie narzędzia ZFS. Jeśli nie masz jeszcze zainstalowanego ZFS, możesz otworzyć terminal i zainstalować pakiet zfsutils-linux
za pomocą tych dwóch poleceń:
$ sudo apt update$ sudo apt install zfsutils-linux
Możesz sprawdzić, czy ZFS jest zainstalowany za pomocą następującego polecenia w terminalu:
$ zfs --version
ZFS Basic Usage and Commands
W naszym systemie testowym mamy kilka dysków twardych, które planujemy wykorzystać z ZFS. W tej sekcji pokażemy różne rzeczy, które można z nimi zrobić.
Kiedy podłączasz nowe dyski twarde do systemu, ZFS adresuje je przez nazwę urządzenia – zwykle coś w stylu /dev/sda
lub podobnego. Możesz użyć polecenia fdisk
, aby sprawdzić, jakie dyski twarde masz dostępne.
$ sudo fdisk -l
Tworzenie i niszczenie puli pamięci masowej ZFS
ZFS działa poprzez „łączenie” dysków razem. Te pule (powszechnie nazywane „zpools”) mogą być skonfigurowane dla różnych poziomów RAID.
Pierwszym zpoolem, któremu się przyjrzymy, jest RAID 0. Działa on na zasadzie paskowania danych na wielu dyskach. Kiedy plik jest odczytywany lub zapisywany do puli pamięci masowej, wszystkie dyski współpracują ze sobą, aby zaprezentować część danych. Zapewnia to wzrost prędkości odczytu i zapisu, ale nie ma wpływu na redundancję. W rzeczywistości, jakakolwiek awaria dysku w puli spowoduje całkowitą utratę danych.
$ sudo zpool create mypool /dev/sdb /dev/sdc
Ta komenda utworzyła pulę pamięci masowej ZFS o nazwie „mypool” z dwoma dyskami twardymi, /dev/sdb
i /dev/sdc
. Możesz zobaczyć szczegóły dotyczące puli pamięci masowej w dowolnym momencie, uruchamiając to polecenie:
$ zpool status
A możesz zobaczyć bardziej zwięzły raport puli pamięci masowej ZFS, wykonując:
$ zpool list
Twoja nowo utworzona pula zostanie automatycznie zamontowana i możesz od razu zacząć jej używać. Miłą cechą ZFS jest to, że nie musisz przechodzić przez długi proces partycjonowania (gdy używasz całych dysków) lub formatowania. Pamięć masowa jest po prostu dostępna od razu.
$ df -hT | grep zfs
Jeśli chcesz dodać kolejny dysk twardy do puli, spójrz na to polecenie, w którym dodajemy dysk twardy /dev/sdd
do wcześniej utworzonej puli mypool
:
$ sudo zpool add mypool /dev/sdd
Możesz zobaczyć, że dysk został dodany do zpool za pomocą polecenia zpool status
.
W każdej chwili możemy zniszczyć nasz zpool za pomocą następującego polecenia:
$ sudo zpool destroy mypool
W przypadku zpooli RAID 0 nie można usunąć żadnego dysku z puli bez całkowitego zniszczenia puli i utraty wszystkich danych. ZFS ma wiele różnych opcji, niektóre z nich pozwalają na usunięcie lub uszkodzenie dysków przy zachowaniu integralności puli.
Inne typy puli pamięci masowej ZFS są tworzone w taki sam sposób, jak pokazaliśmy powyżej, ale musisz podać dodatkowy argument w poleceniu zpool
podczas tworzenia puli. Spójrzmy na kilka przykładów.
Pula lustrzana jest odpowiednikiem RAID 1 w ZFS. Daje to redundancję, ponieważ wszystkie dane są mirrorowane z jednego dysku twardego na jeden lub więcej innych. Aby utworzyć pulę lustrzaną, użyj następującej składni polecenia:
$ sudo zpool create mypool mirror /dev/sdb /dev/sdc
Oczywiście, więcej dysków może być dodanych do puli, aby utworzyć dodatkową redundancję.
Przyjrzyjrzyjmy się teraz pulom RAID-Z. RAID-Z jest bardzo podobny do RAID 5, ale poprawia go z lepszą prędkością i unikając niektórych z powszechnych błędów związanych z RAID 5.
RAID-Z daje szybkość plus nadmiarowość za pomocą paskowania na poziomie bloku i rozproszonej parzystości. Istnieją trzy typy RAID-Z, w zależności od tego, jak dużo parzystości chcesz.
- raidz1 (lub po prostu raidz) – pojedyncza parzystość
- raidz2 – podwójna parzystość
- raidz3 – potrójna parzystość
Oto jak można utworzyć pulę RAID-Z. Użyj raidz2
lub raidz3
zamiast raidz
w tym poleceniu, jeśli chcesz więcej parzystości (pamiętaj, że będziesz potrzebował dodatkowych dysków w tym przypadku):
$ sudo zpool create mypool raidz /dev/sdb /dev/sdc /dev/sdd
Szyfrowanie na ZFS
Po utworzeniu puli pamięci masowej ZFS można skonfigurować na niej szyfrowanie za pomocą następujących poleceń. W tym przykładzie nadal używamy naszej trzydyskowej puli RAID-Z o nazwie mypool.
$ sudo zfs create -o encryption=on -o keylocation=prompt -o keyformat=passphrase mypool/encrypted
Zostaniesz poproszony o dwukrotne wprowadzenie hasła dla szyfrowania.
Nowy katalog jest tworzony pod /mypool/encrypted
, a wszystko w tym katalogu jest szyfrowane. Przy każdym ponownym uruchomieniu będziesz musiał ręcznie zamontować zaszyfrowany zbiór danych. Upewnij się, że używasz flagi -l
podczas montowania zaszyfrowanych zbiorów danych. Zostaniesz poproszony o podanie hasła, które wybrałeś wcześniej.
$ sudo zfs mount -l mypool/encrypted
Wnioski
ZFS jest systemem plików skoncentrowanym na wysokiej dostępności i integralności danych. Jest idealny dla serwerów pamięci masowej/NAS i każdego środowiska, w którym prędkość odczytu i zapisu jest kluczowa wraz z redundancją dysków twardych.
W tym przewodniku poznaliśmy kilka podstawowych poleceń użycia ZFS w Ubuntu 20.04 Focal Fossa. Pokazaliśmy jak zacząć konfigurować ZFS na własnym systemie za pomocą zpools, ale konfiguracja ZFS może być o wiele bardziej rozbudowana.