SAN, NAS, czy po prostu SCSI?

W przypadku losowego odczytywania danych dane przesyłane są z taką samą szybkością niezależnie od tego, czy były transmitowane przez połączenie Gigabit Ethernet (architektura NAS), czy też przez połączenie SCSI (odczyt z lokalnego dysku twardego).

Nie można założyć, że pamięć masowa dołączona do sieci SAN zawsze będzie pracować wydajniej niż pamięć zainstalowana w środowisku NAS. Wiele zależy od tego, jakie aplikacje korzystać będą z usług pamięci masowej i jaka będzie wielkość plików wymienianych między aplikacją i pamięcią masową. Dlatego nieraz warto się zdecydować na architekturę NAS, a w innym przypadku zbudować sieć SAN.

Dzięki opisywanym testom użytkownicy mogą sprawdzić, jak wydajnie pracują poszczególne architektury obsługujące pamięci masowe. W każdym razie trzeba pamiętać o dwóch ważnych kwestiach.

Po pierwsze, testy wydajności poszczególnych architektur prowadzono z użyciem określonych urządzeń. I tak w przypadku architektury SAN rolę pamięci docelowej pełniła macierz dyskowa Hitachi 5800 podłączona do sieci SAN/Fibre Channel. Być może w przypadku innej macierzy dyskowej wyniki byłyby nieco inne (trochę lepsze lub gorsze - trudno powiedzieć).

Po drugie, różnice między architekturami SAN, NAS i SCSI są z natury rzeczy tak duże, że trudno mówić o porównywaniu trzech równorzędnych rozwiązań. I tak np. bezpośrednie połączenie pamięci masowej z serwerem przez magistralę danych SCSI pracuje w pewnych warunkach bardzo wydajnie, a w innych spisuje się słabo. To samo można powiedzieć o autonomicznych stacjach pamięci masowej instalowanych w środowiskach SAN lub NAS. Wiele zależy tu od rodzaju aplikacji odwołującej się do pamięci masowej.

Proszę też pamiętać, że rolę docelowej pamięci masowej pełnił w środowisku NAS standardowy serwer Compaq, podczas gdy w środowisku SAN była to wyspecjalizowana macierz dyskowa Hitachi Disk Storage Array. Obecnie są już też dostępne wyspecjalizowane stacje pamięci masowej, przystosowane do pracy w środowisku NAS, ale zespołowi testującemu nie udało się, niestety, pozyskać do badań tego rodzaju sprzętu. Może innym razem.

Scenariusze testowania

Starając się dociec, jak w świecie rzeczywistym pracują aplikacje korzystające z usług pamięci masowej, wyszczególniono trzy parametry decydujące o tym, w jaki sposób jest wykorzystywana pamięć masowa. Po pierwsze chodzi o to, jaki procent odwołań do pamięci masowej dotyczy czytania danych, a jaki pisania danych. Po drugie chodzi o to, czy odwołania te są sekwencyjne czy też przypadkowe. Po trzecie o to, jaką długość mają odczytywane/zapisywane pliki. Mając to na uwadze, opracowano pięć scenariuszy testowania.

Metodologia testowania

W każdym z zastosowanych scenariuszy testowania pierwszoplanową rolę pełnił serwer przetwarzający dane i generujący odwołania do pamięci masowych, z tym że w zależności od scenariusza był to: serwer e-mail, serwer webowy, serwer bazy danych lub serwer wideo. Pamięć masowa zawsze świadczyła usługi serwerowi i to on generował żądania czytania lub zapisu danych na docelowej pamięci masowej.

W środowisku NAS rolę pamięci docelowej pełnił serwer Compaq ProLiant, z którym serwer podstawowy komunikował się przez sieć Gigabit Ethernet (protokół IP). W środowisku SAN rolę pamięci docelowej pełniła stacja Hitachi 5800 Disk Array, czyli standardowy węzeł sieci SAN. W środowisku SCSI rolę pamięci docelowej pełnił jeden z wewnętrznych dysków twardych serwera aplikacji.

We wszystkich scenariuszach rolę stacji inicjującej żądania czytania/pisania danych pełnił ten sam serwer: Compaq ProLiant ML370 (dwa procesory Pentium III 866 MHz i 1 GB pamięci RAM).

Zmieniając środowisko NAS na SAN, w serwerze Compaq ProLiant ML370 zainstalowano w miejsce karty sieciowej Gigabit Ethernet (3Com) interfejs sieciowy Fibre Channel.

W środowiskach SAN i NAS porównywano też szybkość przesyłania danych w dwóch różnych konfiguracjach serwera inicjującego operacje czytania/pisania danych: w pierwszej konfiguracji karty sieciowe GE i FC komunikowały się z serwerem przez 32-bitową magistralę PCI, a w drugiej przez 64-bitową magistralę PCI (kartę sieciową 3C985B-SX można instalować w 32- albo w 64-bitowym gnieździe PCI; karta Emulex LP7000e jest produkowana w dwóch różnych wersjach, 32- i 64-bitowej).

W środowisku SCSI wewnętrzny dysk twardy serwera komunikował się z procesorem bezpośrednio przez magistralę SCSI. W tym środowisku żadnych kart sieciowych nie stosowano.

We wszystkich trzech środowiskach ważną rolę pełniło bezpłatne narzędzie (oprogramowanie) opracowane przez Intel. Chodzi o program Iometer, mierzący średnią szybkość transferu danych (w MB/s). Program składa się z dwóch części - jedna instalowana jest po stronie klienta, a druga po stronie serwera. Program Iometer generuje żądania czytania/pisania danych, wysyłając je do wskazanego przez programistę docelowego dysku twardego - może to być lokalny dysk twardy, dysk sieciowy zmapowany jako węzeł sieci NAS lub dysk twardy zainstalowany w stacji SAN.


TOP 200