Nowe czasy i nowe wymagania dla przestrzeni dyskowych, używanych przez firmy, przyniosły nowe rozwiązania. Jednym z tych rozwiązań jest EMC Isilon. W ogromnym uproszczeniu można powiedzieć że jest to NAS. Nie macierz dyskowa tylko NAS właśnie. Jest to jednak niezwykły nas, którego sercem jest OneFS. Architektura opiera się na rozwiązaniu klastrowym (minimalna startowa liczba jednostek to trzy nody), OneFS zapewnia pełną automatykę konfiguracji (inicjalizacja klastra trwa kilka minut) i dystrybucję danych na wszystkich nodach. Jest kilkanaście zalet takiego rozwiązania, główną zaletą jest oczywiście brak pojedynczego punktu awarii. Pada nod? Podłączamy nowego, reszta dzieje się sama. Kolejną zaletą jest skalowalność, która jest praktycznie nieograniczona, dokładamy kolejne nody do klastra i zwiększamy tym samym dostępną przestrzeń (automatycznie, zero wymaganej konfiguracji). Do tego dochodzi deduplikacja, kompresja, ochrona danych i klika innych usług. Wspomnieć też należy o ogromnej wydajności tego rozwiązania. Kolejne nody powiększają nie tylko dostępną przestrzeń ale też zwiększają wielokrotnie wydajność (za producentem: explosive growth in performance and capacity). I ostatnia zaleta, API. OneFS dostarcza REST API za pomocą którego wszelkie manipulacje na plikach można przyśpieszyć wielokrotnie. Sprzęt sprzętem, firma EMC dostarcza też w pełni funkcjonalny emulator Isilona! Emulator to złe słowo, jest to w pełni funkcjonalny Isilon, tylko zwirtualizowany. Jego wydajność oczywiście będzie o rząd wielkości mniejsza ale zasada działania taka sama jak w przypadku sprzętowego klastra. Bardzo zachęcam do testów, EMC Isilon można pobrać stąd (wymagane konto Powerlink, jest to wersja dla VMware Workstation/Player) lub bezpośrednio ode mnie (wersja 7.1.1, plik OVA). Piszę tutaj o emulatorze, jednak konfiguracja sprzętowego klastra wygląda praktycznie tak samo!
Sam emulator ma jeszcze jedną możliwość w stosunku do wersji sprzętowej, można go zainstalować w wersji jeden node (ale my zainstalujemy trzy). Na początek wgrywamy pierwszy appliance (plik ova) lub importujemy maszynę do Playera (plik vnx). Uruchamiamy, czekamy, i odpowiadamy po kolei na zadane pytania:
SupportIQ nie będzie nam potrzebne, w końcu nie mamy wsparcia EMC na emulator:
Konfigurujemy sieć wewnętrzną (int-a), po której komunikują się nody (bez bramy), adresacja dowolna:
Konfigurujemy sieć zewnętrzną, po tych adresach dostępny będzie interfejs zarządczy i wystawiane będą usługi (na wszystkich jednocześnie, jak to w klastrze). Isilon nie rozróżnia adresów w stylu główny i zapasowe, wszystkie są równorzędne:
Konfigurujemy nasze serwery DNS:
Wybieramy sposób podłączenia nowych nodów, w przypadku sprzętowego klastra dzieje się to po magistrali Inifiband (automatycznie), tutaj będziemy dodawać nody ręcznie:
Następnie będziemy konfigurować datę i strefę czasową, tutaj najlepiej klepnąć enter a prawidłowe wartości ustawić z interfejsu webowego. Teraz konfigurujemy adres serwisowy SmartConnect, jest to ważny punkt i go nie pomijajmy (aczkolwiek można go później zdefiniować z interfejsu webowego). Po tym adresie komunikować będą się usługi zewnętrzne EMC, np. ViPR.
Podsumowanie naszej konfiguracji, wpisujemy yes i czekamy na zakończenie konfiguracji klastra:
Ten komunikat oznacza, że wszystko jest OK. Powinniśmy też móc pingować dwa adresy, pierwszy zewnętrzny (91) i serwisowy (94).
Przechodzimy na konsolę webową (w moim przypadku https://172.18.28.91:8080/):
Jako że kolejne nody ciągną konfigurację z pierwszego, zanim je dodamy, dokończmy podstawową konfigurację. Przede wszystkim ustawmy poprawnie czas (i najlepiej serwer NTP):
Jeśli dysponujemy własnym Active Directory, to możemy od razu dodać klaster do domeny. Dzięki temu możemy eksportować udziały sieciowe zgodne z uprawnieniami AD:
Sam interfejs zarządczy jest bardzo prosty (to zaleta OneFS), sprowadza się do manipulacji parami uprawnienia<->udziały. Tworzymy Access Zony z precyzyjnie zdefiniowanymi uprawnieniami (lokalnymi, z AD, z NIS etc.) i łączymy je z udziałami (np. SMB lub NFS). Przestrzeń systemu plików jest jedna, nie mamy na nią wpływu. Teraz możemy dodać kolejnego noda, procedura jest podobna, po wgraniu i uruchomieniu wybieramy 2:
Nowy node wykrywa nasz klaster i się pod niego podpina:
Cała procedura trwa kilka minut. W ten sam sposób dodajemy trzeciego noda i wynikowo mamy prawidłowo skonfigurowany klaster.
Na koniec kilka słów o wydajności. W przypadku instalacji wirtualnej, jest zależna od tego gdzie będzie posadowiona (wirtualne czy fizyczne ESXi) i jakie dyski zostaną podłączone. W tej chwili jesteśmy na etapie konfiguracji testowego, fizycznego klastra ESXi z dużą ilością dysków wewnętrznych. Gdy już wszystko będziemy mieli przygotowane, to postaram się przeprowadzić odpowiednie testy i zamieścić tutaj kilka wykresów jak sprawuje się wirtualny Isilon posadowiony na porządnym hardware. Jeśli chodzi o sprzętowy klaster EMC Isilon to jego wydajność jest fenomenalna, poniżej dwa wykresy z syntetycznego testu wykonanego io meterem. 8k pliki zapis:
Przy odczycie dochodzimy do 900Mb/s, przypominam, że nie jest to macierz z zaawansowanym wspieraniem odczytu. Test był przeprowadzony na maszynie wirtualnej leżącej na udziale NFS. Bez żadnej zaawansowanej filozofii czy optymalizacji! Zwracam też uwagę na minimalne obciążenie CPU.
I wykres (może odrobinę nieczytelny) z wielogodzinnego testu na zapis i odczyt 50000 plików o zmiennej wielkości. Dane podane w MB/s (test zrobiony naszym własnym oprogramowaniem):
Wnioski są dwa, w EMC Isilon tkwi moc! Prawie 300MB/s z (prawie) zwykłego NAS. Drugi wniosek to taki, że da się go docisnąć tak, że się zapcha dość mocno (ale średnią nadal ma fenomenalną). Wykres zrobiony na sprzęcie demo składającym się z 3 nodów. Teraz pomyślmy co będzie działo się przy 9, 18, 36 nodach…