Miesięcznik informatyków i menedżerów IT sektora publicznego

Artur Pęczak

Linuksowy NAS z Btrfs

Rockstor to pierwszy kompletny system NAS rozwijany na zasadach open source, który bazuje na Linuksie i garściami czerpie z zalet systemu plikowego Btrfs. Zwolennicy Linuksa doczekali się solidnej alternatywy dla FreeNAS i systemu ZFS.

Widok podsumowania (dashboard) z informacjami na temat wykorzystania przestrzeni dyskowej i zasobów serwera może być konfigurowany dla każdego administratora indywidualnie.

B-tree File System (dalej: Btrfs) to nowoczesny system plikowy dla Linuksa udostępniony przez Oracle na zasadach licencji GNU GPL. Celem prac nad Btrfs było wprowadzenie do środowiska Linux takich mechanizmów, jak pule dyskowe, migawki i sumy kontrolne, które pozwalałyby wykorzystać ten system w macierzach dyskowych i serwerach NAS. Btrfs umożliwia skalowanie pamięci masowej bez przerywania pracy. Możliwe jest dodawanie i usuwanie urządzeń blokowych w locie, dołączanie kolejnych nośników lub zastępowanie ich tymi o większej pojemności, a na wyższym poziomie – zmiana rozmiaru wolumenów online. Oczywiście zalety te znajdują zastosowanie również w klasycznych serwerach zaprojektowanych do innych zadań niż przechowywanie i udostępnianie danych.

Serwer NAS

W modelu open source rozwijanych jest kilka projektów serwera NAS. FreeNAS (więcej na ten temat w artykule „Niezawodny NAS na BSD”, „IT w Administracji” 2012, nr 3) oraz NAS4Free bazują na systemie FreeBSD i systemie plikowym ZFS. Rockstor, podobnie jak OpenMediaVault i Openfiler, zaprojektowane zostały w oparciu o jądro i dystrybucje systemu Linux. Jeśli chcemy mieć nowoczesny serwer NAS oparty na Linuksie, wybór systemu plikowego zasadniczo ogranicza się do Btrfs. System ten zyskuje na znaczeniu również w komercyjnych rozwiązaniach klasy NAS i dostępny jest m.in. w serwerach Synology i QNAP.

Wspomniany wcześniej OpenMediaVault (OMV) co prawda obsługuje Btrfs, ale robi to w mocno ograniczonym zakresie. Dodawanie urządzeń do macierzy tego typu możliwe jest wyłącznie z poziomu wiersza poleceń (CLI). Żadne dodatkowe funkcje systemu plikowego Btrfs, w tym migawki i podwolumeny, nie mogą być konfigurowane z poziomu panelu webowego. Rockstor implementuje w pełni system plikowy Btrfs. Co więcej, żaden inny system plikowy nie jest wspierany na serwerze. To efekt przyjętych założeń. Z jednej strony autorzy projektu uznali Btrfs za nowoczesne i przyszłościowe rozwiązanie, z drugiej zaś nie dostrzegają potrzeby tracenia czasu na obsługę alternatywnych systemów plików.

W telegraficznym skrócie: Rockstor to oparta na systemie Linux/Btrfs sieciowa pamięć dyskowa (Network Attached Storage, NAS). Oprogramowanie bazuje na dystrybucji CentOS z najnowszym jądrem systemu oraz zestawem aplikacji ułatwiającym instalację i zarządzanie kompletnym serwerem NAS. Oprogramowanie pozwala na uruchamianie dodatkowych aplikacji użytkowych w formie kontenerów Dockera pozwalających przekształcić klasyczny serwer NAS w serwer chmury prywatnej. Rockstor może być instalowany na większości sprzętu komputerowego lub w maszynie wirtualnej, takiej jak Xen czy VMWare.

Btrfs w Rockstorze

Wiele funkcji dostępnych w Rockstorze wynika wprost z właściwości systemu plikowego Btrfs. System ten został zaprojektowany zgodnie z architekturą „kopiowanie przy zapisie” (copy-on-write, COW). W pewnym uproszczeniu chodzi o to, że system plikowy, o ile to możliwe, unika nadpisywania istniejących danych, zapisując nowe lub zmienione bloki danych w nowym miejscu na dysku. W trybie copy-on-write Rockstor obsługuje migawki (snapshots) udziałów dyskowych, które mogą być wykonywane na żądanie lub według ustalonego harmonogramu. Migawka pozwala uchwycić stan udziału sieciowego w danym momencie. Dzięki wykorzystaniu migawek w trybie COW dane mogą być przywrócone do wcześniejszego stanu w sytuacji przypadkowej ich utraty, np. po skasowaniu pliku przez użytkownika lub ataku ransomware. Ale uwaga, migawki muszą zostać wcześniej wykonane ręcznie albo zaplanowane w harmonogramie. Migawki udziałów mogą być widoczne lub ukryte dla użytkownika końcowego, w tym dla systemu backupu. Migawki wolumenów nie są obsługiwane, bo Rockstor nie udostępnia tego typu obiektów np. jako cel iSCSI.

W przypadku fizycznych serwerów można skorzystać ze sprzętowego RAID. W środowisku wirtualnym warto posiłkować się programowym RAID-em realizowanym na poziomie systemu plikowego Btrfs. Dostępne poziomy macierzy to: brak, RAID 0, RAID 1, RAID 10 oraz RAID 5 i RAID 6, choć dwa ostatnie poziomy nie są jeszcze produkcyjnie wspierane w Btrfs. Prosty kalkulator pokazuje, czy w konfiguracji dołączono wystarczającą liczbę dysków oraz jaką uzyskamy użyteczną przestrzeń na dane. Btrfs obsługuje kompresję w locie algorytmami zlib, lzo i zstd, konfigurowaną dla pliku lub wolumenów. W wersji 3.9.1 Rockstor algorytm zstd nie jest obecny. W samym Rockstorze w trakcie tworzenia nowej puli dyskowej administrator może określić typ kompresji oraz dodatkowe opcje montowania. Integralność danych gwarantowana jest zaś za pomocą sum kontrolnych danych i metadanych. Na chwilę obecną Btrfs ma zaimplementowany tylko jeden algorytm crc32c.

[...]

Autor zawodowo zajmuje się informatyką. Publikuje w magazynach komputerowych i serwisach internetowych.

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma. Zapraszamy do składania zamówień na prenumeratę i numery archiwalne.
 
 

Polecamy

Biblioteka Informacja Publiczna

Specjalistyczne publikacje książkowe dla pracowników administracji publicznej

więcej