Skala na szali

Skalowanie systemów pamięci masowych to jedno z wyzwań informatyki na najbliższe lata. Wszystkie poważniejsze propozycje architektur zakładają silne rozproszenie zarówno kontrolerów, jak i składnic danych.

Skalowanie systemów pamięci masowych to jedno z wyzwań informatyki na najbliższe lata. Wszystkie poważniejsze propozycje architektur zakładają silne rozproszenie zarówno kontrolerów, jak i składnic danych.

Zmuszone gromadzić i przetwarzać coraz więcej danych firmy z obawą patrzą na to, co dzieje się w ich serwerowniach i... budżetach. Skalowanie dotychczasowych systemów pamięci masowych jest możliwe, ale tylko w ograniczonym stopniu, czego dowodem jest podział na klasy: podstawową, średnią i wyższą. Koszty skalowania wykraczającego poza wyznaczniki klasy są zwykle niewspółmierne do uzyskiwanych efektów.

Postawieni pod murem klienci oczekują, że dostawcy przedstawią im zupełnie nowe architektury systemów pamięciowych. Takie, które będzie można swobodnie skalować od jednej półki do dziesiątek, czy nawet setek szaf, bez konieczności wymiany i migracji. Oczekują przy tym swobody nie tylko w skalowaniu pojemności, co przy rosnącej gęstości zapisu na dyskach jest relatywnie łatwe, ale także wydajności, co jest trudniejsze. Oczywiście, nie godzą się przy tym na zwiększanie ryzyka.

Jak się okazuje, takie systemy w ciągu ostatnich lat zdołało rozwinąć co najmniej kilka firm - zarówno dużych, jak i niewielkich, niedawno powstałych. Udział w ich powstaniu miała synteza dotychczasowych doświadczeń z otwartymi standardami, oprogramowaniem open source oraz tanim, standardowym sprzętem. To dobra wiadomość dla tych, którzy na pamięci masowe nie mogą wydać "tyle, ile trzeba".

Dysk z mikroserwerem

Jednym z bardziej nowatorskich rozwiązań w dziedzinie skalowalnych systemów pamięci masowych jest EtherDrive niewielkiej firmy Coraid. Zgodnie z nazwą, koncepcja urządzeń EtherDrive zasadza się na przesyłaniu danych blokowych między serwerem a dyskami za pośrednictwem Ethernetu. Specjalnie w tym celu firma opracowała protokół ATA over Ethernet (AoE), którego specyfikacja została udostępniona publicznie na licencji GPL.

EtherDrive to tak naprawdę półki z kartami kontrolerów (blade) zawierające na sobie dyski, co pozwala skalować jednocześnie pojemność i wydajność. Dostępne są dwa modele. Pierwszy to półka o wysokości 3U mogąca zawierać do 10 kart z dysków ATA o średnicy 3,5" i pojemności do 400 GB. Drugi model ma wysokość 2U i mieści do 18 kart z dyskami 2,5" o pojemności do 80 GB. Ponieważ dyski 2,5" są istotnie mniejsze niż 3,5", w standardowej szafie 19" obok siebie można umieścić 2 półki 2U - jedną od frontu, a drugą z tyłu.

Skala na szali

EtherDrive firmy Coraid. Jedna półka 3U może zawierać do 10 dysków ATA o średnicy 3,5" i pojemności do 400 GB; półka 2U mieści do 18 dysków 2,5" o pojemności do 80 GB. Ponieważ dyski 2,5" są istotnie mniejsze niż 3,5", w standardowej szafie 19" obok siebie można umieścić 2 półki 2U - jedną od frontu, a drugą z tyłu.

Karty z dyskami zawierają porty Fast Ethernet z własnymi wyprowadzeniami na zewnątrz półki, co pozwala elastycznie agregować ruch. Na wyjściu z karty 3,5" Coraid gwarantuje stały transfer na poziomie 5 MB/s oraz wydajność na poziomie co najmniej 5 tys. operacji I/O na sekundę. To niby niewiele, ale oprogramowanie EtherDrive pozwala tworzyć grupy RAID (0 - striping, 1 - mirroring oraz 0+1) - zarówno wewnątrz półki, jak i pomiędzy wieloma półkami. Wymagania wydajnościowe małych, a nawet całkiem sporych organizacji zostaną więc zaspokojone. Nie ma także obawy o skalowalność - pojedyncza instalacja może (na dziś) obejmować do 256 półek.

Na razie dostępny jest sterownik dla Linuxa z jądrem 2.4 i 2.6 (EtherDrive to rozwiązanie dla oszczędnych). W przygotowaniu jest sterownik dla OpenBSD oraz innych systemów Unix. Dzięki AoE sterowniki udostępniają dyski EtherDrive jako urządzenia lokalne, co minimalizuje wszelkie zabiegi konfiguracyjne, a także zapewnia elastyczność, np. bezproblemowe uruchamianie aplikacji, które napisano z myślą o pojedynczym komputerze. Niezależnie od tego poszczególne karty lub ich grupy EtherDrive mogą być udostępnione jako udziały NFS lub węzły GFS/OpenGFS (Global File System - klastrowy system plików opracowany przez firmę Sistina przejętą w ub.r. przez Red Hat).

Ceny są bardzo zachęcające. Półka 3U z jedną kartą dyskową 3,5" kosztuje 1,3 tys. USD. Taka sama półka wypełniona kartami (4 TB) kosztuje ok. 7 tys. USD, a więc ok. 1,75 USD za 1 GB.

To już bardzo blisko taśmy, a przy tym osiągi w dziedzinie energii są naprawdę imponujące, co przynosi dalsze oszczędności. Karta 3,5" pobiera 12 W, zaś karta 2,5" jedynie 5,5 W. Według producenta są to wielkości maksymalne - typowe są istotnie niższe. Istnieje możliwość całkowitego wyłączenia dysków przez oprogramowanie zarządzające.

iSCSI w megaskali

Atrakcyjną propozycją na obniżenie kosztów składowania dużych ilości danych niewielkim kosztem, bez narażania ich na zwiększone ryzyko, jest rozwiązanie Terragrid opracowane przez firmę Terrascale. Podobnie jak opisywane wyżej rozwiązanie EtherDrive, Terragrid opiera się na Linuxie, jednak działa na poziomie systemu plików, a do komunikacji z dyskami wykorzystuje iSCSI.

Terragrid składa się z dwóch rodzajów węzłów: inicjujących i docelowych. Oba typy węzłów to standardowe komputery z 32- lub 64-bitowymi procesorami Intela lub AMD. Węzły inicjujące stanowią bramy węzłów docelowych, choć oba węzły da się uruchomić na jednym serwerze. Na węzłach inicjujących działa lokalny system plików - nieco zmodyfikowany ext2 - dzięki któremu serwery aplikacyjne mogą sięgać do danych za pośrednictwem standardowych protokołów NFS lub Samba/CIFS.

Węzły inicjujące komunikują się z docelowymi za pośrednictwem protokołu iSCSI wykorzystującego standardowe łącza Gigabit Ethernet. Z punktu widzenia węzłów inicjujących węzły docelowe to dyski logiczne. Dane mogą być na nich zapisywane w trybie blokowym na lokalny dysk logiczny, do systemu plików albo też do pliku o określonej nazwie. Usługi działające po stronie węzłów inicjujących dbają o to, by dane były równomiernie rozprowadzane po wszystkich działających węzłach docelowych (programowy striping), co zapewnia wydajność losowego odczytu danych, a jednocześnie odporność na awarie.

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200