Słońce z lustrem
- 09.10.2007
Sun kupił firmę Cluster File Systems wspierającą projekt open source Lustre. Wynikający z tego rozwój równoległego systemu plików bazującego na ZFS i Lustre może dać ciekawe wyniki, bo Lustre ma w praktyce bardzo dobrą skalowalność i wydajność.
Sun kupił firmę Cluster File Systems wspierającą projekt open source Lustre. Wynikający z tego rozwój równoległego systemu plików bazującego na ZFS i Lustre może dać ciekawe wyniki, bo Lustre ma w praktyce bardzo dobrą skalowalność i wydajność.
Równoległy system plików
Poważnym impulsem do rozwijania równoległych systemów plików były wyniki badań, które udowodniły ponad wszelką wątpliwość, że takie rozwiązanie daje istotne zwiększenie wydajności przy komunikacji między węzłami w klastrze a systemami składowania danych. Najwięcej przy tym zyskują superkomputery, gdyż tam poprawa współpracy bardzo dużego klastra z zasobami pamięci masowej daje największe efekty.
Dobrze znanym systemem plików używanym w akademickich klastrach jest PVFS2 - powstało wiele dokumentacji i historii wdrożeń takich klastrów. Innym popularnym i chwalonym systemem plików jest General Paralell File System rozwijany przez firmę IBM. Ale Lustre jest liderem wśród superkomputerów - już w 2004 r. 4 z 5 superkomputerów pracujących pod kontrolą systemu Linux używało właśnie Lustre. Superkomputer BlueGene/L zainstalowany w Lawrence Livermore National Laboratory (obecnie najszybszy superkomputer na świecie, 65 536 dwurdzeniowych węzłów, 360 teraflopów szczytowej wydajności) także z niego korzysta.
Można też znaleźć implementacje tego systemu w gotowych produktach. Przykładowo, firma HP postawiła właśnie na Lustre, budując oparty na nim system StorageWorks Scalable File Share. Skalowalność występuje nie tylko w nazwie - wg producenta przepustowość osiąga ponad 35 GB/s, a pojemność systemu może przekroczyć 1024 TB.
Firmami współpracującymi i wspierającymi rozwój Lustre są także Dell, DDN, Hitachi, EMC, RedHat i Novell.
Blaski i cienie
Lustre jest bardzo szybkim systemem plików. Dzięki oddzieleniu operacji na danych od operacji na metadanych można było podnieść wydajność. Poszczególne elementy OSS można dołączać w trakcie pracy, rozszerzając system. Lustre obsługuje wiele obecnie używanych łączy - od IP po InfiniBand, może je obsługiwać jednocześnie. System wspiera także routing między różnymi typami sieci. Gdy plik jest rozproszony między wiele targetów, całkowite pasmo transmisji jest sumą wszystkich przepustowości do targetów, na których ten plik się znajduje. Dzięki odpowiedniej konstrukcji system plików bardzo dobrze pracuje w różnych architekturach (x86_64, IA-64, PPC), a także w konfiguracjach mieszanych. To samo dotyczy różnych wersji, chociaż są tu pewne ograniczenia.
System zabezpieczeń jest typowy dla systemów Unix, rozszerzony jednak przez listy POSIX ACL (wspierane jest wymuszanie kwot dyskowych, dodatkowymi opcjami godnymi uwagi są root squash oraz limitowanie portów). Oprócz tego Lustre posiada bazujący na LVM mechanizm migawek (snapshot), który umożliwia zamrożenie stanu wszystkich woluminów systemu w danej chwili oraz zgrupowanie ich do systemu plików będącego obrazem zamrożonego stanu.
Obecnie pracująca wersja systemu plików Lustre ma kilka ograniczeń wynikających z konstrukcji systemu. Ponieważ pojedynczy plik może być rozproszony maksymalnie na 160 węzłów, a każdy z nich może maksymalnie zaalokować 8 TB na pojedynczy plik, maksymalny rozmiar jednego pliku nie może przekroczyć 1,48 petabajta (PB). Wydaje się to nieosiągalną wielkością, ale są już systemy, gdzie regularnie zapisywane są pliki o rozmiarach ponad 100 TB każdy. Rozmiar całego systemu plików też podlega ograniczeniom, ale istnieją wdrożone systemy z 5000 targetów, co wystarcza do obsługi systemu plików o rozmiarze 40 PB.
Od QFS do Lustre
Sun ma długą historię zakupu różnych rozwiązań z dziedziny składowania plików. W tym roku kupił firmę LSC i jej systemy plików SAM-FS (Archive Manager File System) oraz QFS (Quick File System). Ich późniejszy rozwój nie był jednak zbyt udany.
Kolejnym zakupem była firma StorageTek i jej system ZFS, który został później opublikowany jako open source. Doprowadziło to do konfliktu z Network Appliances, bo Sun zażądał od niej opłat licencyjnych za korzystanie z ZFS. Z kolei Network Appliances twierdzi, że w kodzie ZFS opublikowanym przez Suna są rozwiązania opatentowane przez nią. Sprawa dopiero znajdzie swój finał w sądzie - Network Appliances żąda natychmiastowego zakończenia dystrybucji ZFS, ale z drugiej strony są informacje o próbach zakupu przez NetApp obecnie kwestionowanych patentów.
Sun prowadzi też prace badawcze nad rozwiązaniem FISHWorks (gdzie FISH oznacza Fully Integrated Software and Hardware).
Oprócz tego wiadomo, że Sun planuje wprowadzenie urządzeń klasy NAS pracujących pod kontrolą Solaris 10, klastrowego systemu plików bazującego na ZFS, a także DTrace oraz kilku innych narzędzi. Szczególnym atutem tego rozwiązania ma być udostępnienie użytkownikom i deweloperom narzędzi systemowych związanych z DTrace i umożliwiających precyzyjne monitorowanie oraz strojenie urządzeń, także podczas pracy. Bliższe szczegóły tych planów nie są jeszcze dokładnie znane.
Najprawdopodobniej zagrożenie możliwości wykorzystywania wszystkich elementów ZFS popchnęła Suna do decyzji o zakupie Cluster File Systems oferującej komercyjne wsparcie projektu Lustre i mającej pieczę nad jego rozwojem. Rozwój równoległego systemu plików bazującego na technologiach ZFS i Lustre może dać obiecujące wyniki. Lustre wykazuje się w praktyce bardzo dobrą skalowalnością i wydajnością już teraz, zatem istnieje szansa, że Sun może wkrótce wprowadzić bardzo interesujące zupełnie nowe produkty.
Lustre www.clusterfs.com
Panasas PanFS Parallel File System www.panasas.com/panfs.html
IBM General Paralell File System www-03.ibm.com/systems/clusters/software/gpfs.html
Paralell Virtual File System www.pvfs.org/
i projekt Handy - grid.hust.edu.cn/handy/
Red Hat GFS (Global File System) www.redhat.com/docs/manuals/enterprise/RHEL-5-manual/Global_File_System
Informacje o FISHworks www.sun.com/storagetek/docs/IDC_Fishworks.pdf
Wyniki badań wydajności SFS/Lustre www.rz.uni-karlsruhe.de/rz/docs/Lustre/ssck_sfs_hpccn4_20050510.pdf