Konfiguracja ZFS w Ubuntu 20.04

lis 17, 2021
admin

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
ZFS na Ubuntu 20.04

ZFS na Ubuntu 20.04

Wymagania dotyczące oprogramowania i konwencje wiersza poleceń systemu Linux
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
Sprawdź wersję ZFS, aby zweryfikować, czy ZFS jest zainstalowany w twoim systemie

Sprawdź wersję ZFS, aby zweryfikować, czy ZFS jest zainstalowany w twoim systemie

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
Komenda fdisk pokazuje nam wszystkie dyski twarde w naszym systemie, które mogą być używane w zpools

Komenda fdisk pokazuje nam wszystkie dyski twarde w naszym systemie, które mogą być używane w zpools

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
Komenda zpool status pokazuje naszą pulę RAID 0 striped zpool

Komenda zpool status pokazuje naszą pulę RAID 0 striped zpool

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
Output of zpool list command

Output of zpool list command

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
Użyj polecenia df, aby zobaczyć zamontowany zpool

Użyj polecenia df, aby zobaczyć zamontowany zpool

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.

Nowy dysk twardy został dodany do naszego zpoolu

Nowy dysk twardy został dodany do naszego zpoolu

W każdej chwili możemy zniszczyć nasz zpool za pomocą następującego polecenia:

$ sudo zpool destroy mypool
Destrukcja naszego zpoola

Destrukcja naszego zpoola

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
Tworzenie puli lustrzanej (RAID 1) zpool

Tworzenie puli lustrzanej (RAID 1) zpool

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
Tworzenie RAID-Z zpool

Tworzenie RAID-Z zpool

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.

Konfigurowanie szyfrowania w ZFS

Konfigurowanie szyfrowania w ZFS

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
Montowanie zaszyfrowanego zbioru danych ZFS

Montowanie zaszyfrowanego zbioru danych ZFS

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.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.