niedziela, 22 sierpnia 2010

ISM - SAN - czyli LAN dla storage

Lesson: Fibre Channel SAN

Jednostki biznesowe, które jakby na to nie patrzeć są sponsorem działów IT, mają bardzo konkretne wymagania dotyczące pamięci masowych:
Po pierwsze chcą mieć dostęp do informacji wtedy, kiedy są one im potrzebne, w dużej mierze przypadków ( przy tzw aplikacjach mission critical) oznacza to dostępność aplikacji 24 * 7
Po drugie, sposób przechowywania i dostępu do informacji musi być zintegrowany z procedurami biznesowymi - oznacza to, że przykładowo okres przechowywania i bezpieczeństwo informacji muszą być zgodne z pewnymi normami ustalanymi przez biznes.
Po trzecie, architektura strorage musi być elastyczna i dostosowywać się do zmieniających potrzeb biznesu. Koszta utrzymania muszą być jak najmniejsze.

Odpowiedzią na te wymagania są sieci SAN:
SAN ( storage area network ) jest to dedykowana sieć do przesyłu danych na poziomie bloku. Przesył odbywa się pomiędzy hostami a urządzeniami storage poprzez FC switche ( zwane także potocznie fabricami ). Protokół używany w sieci SAN nazywamy FC ( Fibre Channel )
Sieć SAN zwykle do połączeń używa kabli światłowodowych ( front end - łączność  host-fabric-macierz ) , a także kabli miedzianych ( back end - łączność kontrolery-dyski ).
Obecnie najnowsze odmiany FC zapewniają prędkości 8 Gb/s ( około 1600MB/s )

Sieć SAN można podzielić na trzy części:
  • serwery
  • infrastrukturę sieciową
  • storage
Idąc dalej można te główne części "porozbijać" na jeszcze bardziej elementarne komponenty:
  • porty
  • kable
  • urządzenia łączące ( np: FC switche lub huby )
  • macierze 
  • oprogramowanie zarządzające SANem
W terminologi SAN, każde urządzenie takie jak host, macierz czy np: biblioteka taśmowa określane jest terminem węzeł  ( node ). Każdy węzeł wysyła lub odbiera informację od innego węzła lub węzłów - odbywa się to poprzez porty. Porty działają w trybie full duplex i mają transmit (Tx) i receive (Rx) linki.


Okablowanie SANa:

W sieciach SAN zwykle ( z małymi wyjątkami ) używa się światłowodów. Wyróżnia się wśród nich dwa typy: multi-mode i single-mode

W kablu wielomodowym ( multi-mode fiber MMF ) światło ma różne długości fali i odbija się od wnętrza kabla pod różnymi kątami. W MMF promienie światła interferują ze sobą i wzajemnie się wygłuszają - te zjawisko nazywamy modal dispersion i powoduje ono skrócenie dystansu na jaki można przesyłać sygnał - zwykle jest to nie więcej niż 500m
Kable MMF są podzielone ze względu na przepustowość na następujące - OM1 (62,5um )  , OM2 ( 50um) , OM3 (50um).

Kabel jednomodowy ( single-mode fiber SMF ) przewodzi jedynie światło o jednej długości fali. Typowa średnica takiego kabla wynosi 9 mikronów ( od 7-11 mikronów ). W kablach SMF zjawisko modal dispersion występuje w bardzo ograniczonym stopniu, co pozwala na przesyłanie danych na odległości do 10km.

Używa ( lub używało się ) trzech typów złączek na kable światłowodowe:
  • SC (Standard Connector ) - prędkości do 1 Gb/s
  • LC ( Lucent Connector ) - powyżek 1 Gb/s
  • ST  ( Straight Tip ) - często używane w FC patch panelach

    SFP ( Small Form-factor Pluggable ) to port w który wkłada się złączki FC. Wspiera przesył danych do 10 Gb/s . Zastąpił popularne kiedyć GBIC-e.


    Interconnecting devices:

    Wyróżnić można następujące typy urządzeń służących do łaczenia węzłów w sieci SAN:
    • hub
    • switch
    • director
    Huby działają podobnie jak huby ethernetowe czyli łączą fizycznie węzły, które dzielą ze sobą jedno pasmo i jedną przepustowość.
    Switch także działa analogicznie jak jego odpowiednik w sieci LAN i jest w stanie przesłać dane które otrzyma do węzła docelowego
    Director jest zaawansowanym switchem, zwykle posiada więcej portów a także zabezpieczenia pozwalające na nieprzerwane działanie nawet po wystąpieniu najróżniejszych usterek i awarii sprzętu.

    Zoning - zestawianie zon to ustalanie które porty w sieci SAN "widzą" się wzajemnie.


    Topologie SAN: Point to Point ( Pt-to-Pt )

    W topologi Pt-to-Pt storage jest bezpośrednio podłączony do hostów. Logicznie taka topologia niczym nie różni sie od połączeń DAS i ma te same wady ( ograniczona skalowalność, tylko jeden host ) i zalety ( tania , łatwa w implementacji ) 


    Topologie SAN: Fibre Channel Arbitrated Loop ( FC-AL )

    W topologi FC-AL wszystkie urządzenia są połączone w pętlę i dzielą jedną magistralę. Nie jest to jednak typowa topologia pierścienia ( ring ), ma także dużo cech z topologii gwiazdy (star ). Poszczegółne węzły nie są połączone ze sobą ale z centralnym Hubem.


    Cechy FC-AL:

    • wszystkie urządzenia dzielą jedną przepustowość. Tylko jedno z nich może wykonywać operacje I/O w danym momencie ( wymusza to istnienie mechanizmu arbitrażu, który wskazuje który węzeł może w danych momencie być aktywny )
    • możliwe jest podłączenie do 127 urządzeń
    • dodawanie/usuwanie urządzeń wymaga re-inicjalizacji pętli co powoduje chwilowe przerwanie całej wymiany danych


    Mechanizm transmisji w FC-AL:
    Kiedy węzeł w FC-AL zamierza wysłaćdane wpierw wysyła ramkę arbitrażową ( arbitration - ARB ) po kolei do wszytkich węzłów w pętli. Jeżeli dwa węzły naraz chcą uzyskać kontrolę, pozwolenie na to dostaje ten z większym priorytetem. Ten priorytet jest wyznaczany na podstawie adresu w pętli ( AL-PA ) i ID pętli.
    Kiedy węzeł starający się przejąć pętlę dostanie swoje własne ARB, wtedy może nadawać.


    Topologie SAN: Fabric Connect ( FC-SW )

    W tej topologii węzły są połączone ze sobą za pomocą switchy i tworzą tzw fabric. Fabric to logiczna struktura do której należą wszystkie węzły mogące komunikować się między sobą. Każdy switch w fabricu posiada unikalny identyfikator domeny.
    Każdy port w fabricu posiada unikalny 24 bitowy adres.

    Mechanizm transmisji w FC-SW:
    Do kierowania ruchem w fabricu służą switche. Potrafią one ( w odróżnieniu od hubów ) skierować dane przychodzące do nich na docelowy port.

    Rodzaje portów:
    Wyróżnia się następujące typy portów:


    • N_port - port znajdujący się w węźle (node) , może to być port na karcie HBA w hoście lub w kontrolerze na macierzy. Port N łaczy się z portem F na switchu
    • NL_port - port na hoście lub macierzy ale działający w topologi FC-AL ( node loop port )
    • E_port - expansion port , port łączący switch z innym switchem w fabricu za pomocą połączenia InterSwitch Link ( ISL )
    • F_port - port na switchu łączący się z portem N na hoscie lub macierzy
    • FL_port - port na switchu łączący się z FC-AL. Ten port komunikuje się z NL_portami. Pętla FC-AL która jest podłączona do switcha staje się częścią fabrica i nazywamy ją public loop. Pętla FC-AL nie podłączona do fabrica, nazywana jest private loop.
    • G_port - port który może być zarówna E_portem jaki i F_portem ( generic port )
    ISL ( Inter Switch Links )
    Połączenia swich-switch mające kilka funkcji, z czego główną jest rozbudowa fabrica o nowe węzły.

    Typy logowań w SANie:

    • Fabric Login (FLOGI) - odbywa się pomiędzy N portem a F portem. Urządzenie wysyła FLOGI ramkę ze swoim WWNN ( World Wide Node Name) i WWPN ( World Wide Port Name ) na adres login- usługi : FFFFFE. Switch odsyła Accept (ACC) ramkę i przydziela FC adres dla urządzenia. Zaraz po FLOGI N port zrejestruje siebie na switchu za pomocą WWNN, WWPN i przydzielonego FC adresu.
    • Port Login (PLOGI) - odbywa się pomiędzy dwoma N_portami i jest zestawieniem sesji, przed wymianą danych. Inicjator port wysyła PLOGI ramkę do portu celu, który to akceptuje i odsyła ACC ramkę.
    • Process Login (PRLI) -odbywa się pomiędzy dwoma N_portami. Jest powiązany z wyższymi warstwami protokołu FC ( ULP - upper layer protocols ), takimi jak na przykład SCSI.


    Kolejna lekcja będzie przebiegała w podobnej tematyce - będzie to dokładne opisanie protokołu FC i jego warstw. Jeszcze dalej również nie uciekniemy od SANów - przyjrzymy się trochę więcej jego topologią oraz mechanizmowi zoningu.
    Jak na razie czas iść spać, na zegarku prawie 1 w nocy, a jutro rano, mimo iż niedziela czeka mnie pobudka.


    5 komentarzy:

    1. Co to są aplikacje mission critical?

      OdpowiedzUsuń
    2. Posłużę się tutaj definicją za wikipedią angielską:
      Mission critical refers to any factor of a system (equipment, process, procedure, software, etc.) whose failure will result in the failure of business operations. That is, it is critical to the organization's 'mission'. (http://en.wikipedia.org/wiki/Mission_critical)

      Czyli aplikacje "mission critical" to te programy, których wadliwe lub błędne działanie powoduje że organizacja odnosi straty (finansowe, reputacyjne itd...). Można powiedzieć, że działanie tych aplikacji jest krytyczne dla danej firmy.

      OdpowiedzUsuń
    3. A mógłbyś podac jakiś przykład takich aplikacji?

      OdpowiedzUsuń
    4. Z sektora w którym ja pracuję (bankowość) "mission critical" jest np: aplikacja obsługująca bankowość internetową (jej nie dzialanie wiąże się z dużymi stratami reputacyjnymi). Aplikacja nie-krytyczna to np: program obsługujący reklamacje klientów.

      Inny przykład to serwer www. Dla salonu samochodowego nie będzie to mission critical - jak nie działa to można normalnie pracować ale potencjalni klienci nie mogą sobie co najwyżej oferty przez sieć pooglądać. Z kolei dla firmy hostingowej , serwer www jest krytyczny gdyż jego awaria unieruchamia ich główną działalność i powoduje konkretne straty.

      OdpowiedzUsuń