Uwaga na pliki

Zasoby plikowe stają się dla firm coraz ważniejsze, tymczasem planowanie pojemności i wydajności dotyczy wciąż głównie aplikacji bazodanowych.

Zasoby plikowe stają się dla firm coraz ważniejsze, tymczasem planowanie pojemności i wydajności dotyczy wciąż głównie aplikacji bazodanowych.

Środowiska udostępniające wielkie ilości plików dużej liczbie jednoczesnych użytkowników istniały dotychczas głównie w największych firmach i w większości na Zachodzie. Obecnie jednak także firmy średnie, również w Polsce, stają przed wyzwaniem: jak planować potrzeby w tej dziedzinie, by nie skazywać się na niepotrzebne zakupy lub nieprzewidziany wzrost kosztów zarządzania. Odpowiedź wynika po części z przewidywanego rozwoju potrzeb, po części zaś z obecnego stanu i perspektyw rozwoju wielu technologii. Czego zatem można realistycznie oczekiwać w dziedzinie serwerów plików w najbliższej przyszłości?

Skalowanie pojemności

Sposobów na skalowanie pojemności systemów plikowych jest całkiem sporo. Jeśli jeden duży serwer podłączony do dużej macierzy przestaje wystarczać, można połączyć go z kolejnym za pomocą klastrowego systemu plików. Systemy te na obecnym etapie rozwoju technologii skalują się do setek węzłów i petabajtów pojemności (nawet powyżej miliarda plików). Można też wykorzystać dedykowane bramki NAS połączone szybkimi łączami ze sobą, a jednocześnie podpięte do dużej macierzy z mechanizmami wirtualizacji, albo też do wielu małych macierzy za pomocą inteligentnego mechanizmu dystrybucji danych.

Jeśli takie rozwiązanie wydaje się zbyt wielką lub drogą armatą, można pomyśleć o wirtualnym systemie plików zawierającym pojemną i wydajną przestrzeń nazw, wskazującą na wiele serwerów fizycznych. Alternatywą jest uruchomienie wielu zwykłych systemów plików na wielu serwerach wirtualnych przypisanych dedykowanym procesorom lub płytom głównym jednego większego serwera, który dla bezpieczeństwa można zdublować, tworząc klaster HA.

Wypada tu jeszcze wspomnieć o możliwości w warstwie sieciowej, czy to przez dedykowane karty rozszerzeń dla przełączników Ethernet, czy też przez włączenie (zwykle akcelerowanych sprzętowo) usług plikowych do przełączników Fibre Channel w sieciach SAN. Reasumując, skalowanie pojemności, do niedawna trudne i niszowe, może dziś odbywać się w wielu warstwach logicznych - działy IT mają realny wybór.

Skalowanie wydajności usług

Kwestią znacznie trudniejszą, przynajmniej na obecnym etapie, jest skalowanie wydajności systemów plikowych. Pomysłów jest wiele, choć trudno powiedzieć, który z nich zdominuje myślenie działów IT. Może się okazać, że lider uniwersalny nie zostanie wyłoniony i że równolegle funkcjonować będzie kilka podejść związanych z konkretną klasą wymagań. Podstawowym wyznacznikiem wydajności usług NAS jest możliwe do uzyskania pasmo I/O między podsystemem dyskowym a kontrolerem NAS.

Najlepiej byłoby, gdyby kontroler NAS (serwer fizyczny, na którym działa system plików lub jeden z węzłów klastra serwerów plików) działał jak najbliżej dysków. Stąd biorą się pomysły, by usługi NAS serwowane były za pomocą kart rozszerzeń do kontrolerów macierzy. Bliżej już nie można. Ale czy na pewno? Wydajność I/O wynika tyleż z wydajności samych dysków, co z wydajności kontrolera macierzy - im więcej dysków przypada na kontroler, tym bardziej jego wydajność wpływa na wydajność podsystemu dyskowego, a w kon-sekwencji usług NAS.

W typowej macierzy wysokiej klasy znajduje się dwa, cztery, a w największych osiem lub dwanaście kontrolerów. To naprawdę dużo, zwłaszcza jeśli wziąć pod uwagę, że "z tyłu" znajduje się tysiąc, albo nawet ponad dwa tysiące dysków twardych. Chcąc dalej skalować podsystem dyskowy, który wyznacza granice skalowalności usług plikowych, trzeba uciec się do architektury rozproszonej. Tu też mamy do czynienia z kilkoma podejściami.

Można mówić o architekturze będącej de facto centralnie zarządzaną pulą urządzeń DAS (zawierających w jednej obudowie kontroler i pewną liczbę dysków). Różnice mogą polegać na tym, czy warstwa dostępowa, czyli serwery, na których działa system plików, zarządzają wspólnie jedną przestrzenią nazw, czy też zarządzanie metadanymi odbywa się niezależnie od zapisu i odczytu danych. To ostatnie podejście wydaje się zdobywać przewagę (o przyczynach piszemy poniżej).

Skalowanie wydajności dostępu

Z punktu widzenia użytkowników usług plikowych dla wydajności istotna jest także architektura samej warstwy dostępowej, a więc architektura serwerów fizycznych i oprogramowania przyjmujących żądania bezpośrednio od użytkowników lub aplikacji. Dla porządku wypada tu powiedzieć, że wielkie instalacje usług NAS są nakierowane na dostęp użytkowników. Większość aplikacji biznesowych będzie działać wydajniej, korzystając z bezpośredniego zapisu blokowego, lub ewentualnie własnego, niewspółdzielonego z innymi aplikacjami rozwiązania NAS.

Wydajność warstwy dostępowej zależy od wydajności sprzętu, w tym sensie, że powszechnie wykorzystywane protokoły dostępu do plików, jak NFS czy CIFS, są dość "gadatliwe", obciążając podsystemy I/O serwerów plików. Przyspieszenie dostępu może polegać na routingu żądań do wielu równolegle działających bramek za pomocą dedykowanego, sprzętowego load-balancera. Można także (niezależnie od działań w warstwie sieciowej) akcelerować przetwarzanie protokołów za pomocą kart akcelerujących.

Równolegle można odwołać się do sprawdzonej w aplikacjach webowych i dużych macierzach koncepcji buforowania (cache). Obciążeniem serwerów plików (czy bramek NAS) można zarządzać, wyposażając je w dostatecznie dużą pamięć RAM przechowującą pliki, których dotyczy duża liczba żądań - a także właściwe tym plikom metadane. Przyspieszać można również zapisy, potwierdzając je na bramce NAS i realizując zapis w trybie asynchronicznym. W takim przypadku trzeba jednak zadbać o odpowiednie zabezpieczenie bramek (HA).

Jeśli chodzi o komunikację bramek NAS z warstwą metadanych (gdy nie są w całości przechowywane lokalnie), a także z podsystemami dyskowymi, można pokusić się o agregację żądań, zmniejszając obciążenie I/O bramek. Ostatnio pojawiła się również koncepcja asynchronicznego zapisu metadanych (system plików Lustre i pochodne), co może istotnie wpływać na wydajność dostępu do plików (szybsze odblokowywanie zasobów).

Zakres funkcjonalny

Dotychczasowe rozważania dotyczyły jedynie odczytu i zapisu plików przez użytkowników, a przecież wokół serwerów plików dzieje się znacznie więcej. Dla zapewnienia wydajności usług plikowych istotne jest zrozumienie tego, że warstwa dostępowa nie powinna zajmować się niczym innym. Potrzeby w rodzaju kopii bezpieczeństwa, logicznych (snapshot) czy fizycznych (backup), jak również usługi odtwarzania (recovery) powinny działać na dedykowanych urządzeniach w dedykowanej warstwie.

Może to być np. pasywnie nasłuchujące urządzenie Ethernet lub Fibre Channel rejestrujące wszystkie zmiany, które są przesyłane między bramkami NAS i podsystemem dyskowym. W wielu przypadkach znacznie lepszym rozwiązaniem będzie unikanie tworzenia nowej warstwy i umiejscowienie replikacji w warstwie . W ten sposób uniknie się także dodatkowej rozbudowy i obciążenia sieci SAN.

Wydajność i skalowalność usług plikowych będzie w najbliższym czasie wystawiona na próby innego rodzaju. Szyfrowanie danych plikowych będzie odbywać się tuż przed macierzami lub tuż przed siecią SAN. Degradacja wydajności, nawet jeśli w świetle możliwości dostępnych urządzeń nie będzie wielka, będzie faktem. Po stronie korzyści trzeba odnotować, że przynajmniej nie będzie odbywać się w warstwie serwerów plików, co byłoby mało korzystne zarówno dla architektury, jak i wydajności dostępu.

Usługi plikowe obejmujące dane i metadane i tak będą coraz bardziej obciążane. Trzeba pamiętać, że rośnie znaczenie usług klasyfikacji informacji, a także usług wyszukiwania. Początkowo będą one działać w bezpośrednim sąsiedztwie serwerów plików, z biegiem czasu zaistnieje zapewne tendencja do ich akceleracji, lub też wyniesienia do oddzielnej warstwy.

Ciekawe rozwiązania

Wirtualizacja zasobów

http://www.hds.com

http://www.sun.com

http://www.brocade.com

http://www.netapp.com

http://www.com

http://www.ibm.com

Klastrowe systemy plików

http://www.clusterfs.com

http://www.polyserve.com

http://www.panasas.com

http://www.ibrix.com

http://www.isilon.com

http://www.onstor.com

http://www.microsoft.com

http://www.ibm.com

http://www.exanet.com

Centralnie zarządzane serwery DAS

http://www.3par.com

http://www.netezza.com

http://www.attune.com

Akceleracja protokołów NFS/CIFS

http://www.bluearc.com

http://www.cisco.com

http://www.juniper.com

http://www.citrix.com

http://www.exinda.com

Buforowanie plików

http://www.gear6.com

http://www.acxiom.com

http://www.yottayotta.com


TOP 200