Fibre Channel i sieć SAN
Fibre Channel (FC) jest protokołem wykorzystywanym do transmisji danych w sieciach SAN (Storage Area Network). Łączy w sobie elastyczność typową dla sieci komputerowych z tym, czego wymaga transmisja kanałowa szyny I/O do przenoszonych danych blokowych. Standaryzacją i rozwojem Fibre Channel zajmuje się komitet T11, będący częścią INCITS (InterNational Committee for Information Technology Standard). Fibre Channel zestawia stabilne kanały komunikacyjne do wymiany danych blokowych pomiędzy m.in. serwerami, macierzami i urządzeniami taśmowymi.
Protokół Fibre Channel jest w stanie przenosić dane i polecenia protokołu SCSI (Small Computer System Interface), NVMe (Non-Volatile Memory Express) i IBM FICON (Fibre Connection). Stąd w sieci SAN opartej na FC dostępna jest obsługa SCSI-FCP (SCSI Fibre Channel Protocol - FCP-4), IBM FICON (FC-SB-5) i FC-NVMe. FC-NVMe to NVMe-oF (NVMe over Fabric), gdzie w tym przypadku SAN Fabric tworzy sieć opartą na technologii Fibre Channel.
Fibre Channel posiada swój własny model warstwowy. Nie jest on zgodny ze znanymi modelami OSI/ISO i TCP/IP czy Internet Protocol Suite. W jego skład wchodzi 5 warstw, od FC-0 (najniższa) do FC-4 (najwyższa):
- FC-4 - Upper Layer Protocol Mapping (UPL Mapping) - m.in. SCSI, NVMe, FICON.
- FC-3 - Common Services - usługi wspólne, jak m.in. Striping, Hunt Groups czy Multicast.
- FC-2 - Framing & Signalling - m.in. obsługa sygnalizacji, ramek, błędów, B2B Credits, R_RDY i Service Classes.
- FC-1 - Transmission Protocol (Encode/Decode) - kodowanie nadmiarowe 8b/10b, 64b/66b lub 256b/257b.
- FC-0 - Physical Interface & Media - fizyczny interfejs, złącza, okablowanie (światłowód lub miedź) i ich parametry.
Na poziomie FC-0 obsługiwane są najczęściej prędkości 4G, 8G, 16G, 32G i 64G. Warto pamiętać, że są to prędkości, które muszą w sobie uwzględnić kodowanie nadmiarowe, które dodaje dodatkowe bity. Stąd 1G od technologii Fibre Channel to mniej niż 1G od technologii Ethernet, gdzie mamy prędkości niezależne od kodowania nadmiarowego.
Technologia Fibre Channel najczęściej stosowana jest w średnich oraz większych sieciach SAN, gdzie ilość serwerów i pamięci masowych jest na tyle duża, że zasadnym staje się zbudowanie odrębnej sieci do ich komunikacji ze sobą. Odrębna sieć SAN też często budowana jest ze względu na mniejszą awaryjność, co sprawia, że Fibre Channel także można spotkać w mniejszych sieciach SAN. Wynika to z tego, że w sieci SAN relatywnie rzadko wprowadza się zmiany, kiedy już wszystko działa, a też wszelkie modernizacje nie są częste. Dodatkowo dla redundancji, najczęściej buduje się dwie niezależne i niepołączone ze sobą sieci SAN, a następnie, wszystkie komunikujące się za pośrednictwem sieci SAN urządzenia wpina się do obu z nich.
Nie można tego powiedzieć o sieci LAN, która jest bardziej otwarta i do której zwykle częściej jest podłączane coś nowego, co wymaga rekonfiguracji urządzeń i potencjalnie może zaskutkować krótszą lub dłuższą przerwą.
Sieć SAN z obsługą technologii Fibre Channel określana jest jako SAN Fabric i wymaga do działania specjalnych przełączników z obsługą Fibre Channel, do których należą przełączniki Cisco MDS i niektóre modele przełączników Cisco Nexus. Nie są to typowe przełączniki Ethernet, z jakimi większość osób ma do czynienia.
Cisco MDS i Cisco Nexus synchronizują pomiędzy sobą informacje z użyciem CFS (Cisco Fabric Services). Dzięki obsłudze CFS, konfiguracja wprowadzana na jednym z przełączników wybranego SAN Fabric, jest automatycznie przenoszona na pozostałe przełączniki w ramach tego SAN Fabric. W ten sposób w ramach całej SAN Fabric zachowujemy spójną konfigurację.
Przy budowie sieci SAN stosuje się najczęściej dwie niezależne SAN Fabric. Przełączniki z SAN Fabric A nie są w żaden sposób połączone z przełącznikami w SAN Fabric B. Dzięki temu, wprowadzenie błędnej konfiguracji w ramach SAN Fabric A, nie ma wpływu na to co dzieje się w SAN Fabric B. Urządzenia końcowa SAN Fabric, jak pamięci masowe czy serwery z interfejsami HBA (Host Bus Adapter) wpinane są do obu SAN Fabric, co zapewnia im redundantną komunikację.
Do działania Fibre Channel wystarczy tylko jedna SAN Fabric, więc jeżeli nasz budżet nie jest duży, nie musimy od razu tworzyć dwóch. Niemniej, lepiej mieć dwie niezależne ścieżki do nośników danych.
Poza tym, dwie ścieżki to i większa niezawodność i najczęściej też dużo większa przepustowość. Wynika to z tego, że protokoły przenoszone z użyciem Fibre Channel obsługują multipathing oraz scenariusze active/active, active/passive i preffered/non-preffered z obsługą ALUA (Asymmetric Logical Unit Access), dzięki której pamięć masowa może mieć wpływ na wybór ścieżek.
Na obrazku powyżej widać fragment sprawdzonego rozwiązania VersaStack, która łączy w sobie produkty do centrów danych firm IBM i Cisco Systems. Zainteresowanych ich zakupem i wdrożeniem zapraszamy do
VersaStack zostało opracowane wspólnie przez Cisco Systems i IBM. W rozwiązaniu tym moc obliczeniową oraz sieć zapewnia Cisco Systems, a pamięć masową IBM. VersaStack może zostać wdrożony w jednej z kilku wariancji, w zależności od dokładnych wymagań, zastosowania, wielkości przedsiębiorstwa czy potrzebnych funkcjonalności.
Jesteśmy partnerem firm IBM i Cisco Systems. Za naszym pośrednictwem można zakupić ich rozwiązania na polskim rynku. Zainteresowanych zapraszamy do
Fibre Channel (FC) zajmuje się bezstratnym dostarczaniem (ang. lossless delivery) bloków danych, które to może być realizowane na różne sposoby. Do tego celu wykorzystywane są różne klasy usługowe (ang. Service Classes).
Choć przełączniki Fibre Channel, jak Cisco MDS obsługują różne klasy usługowe, to my ograniczymy się tutaj tylko do Class 3, która stosowana jest przy transmisji danych blokowych takich protokołów, jak SCSI, NVMe czy FICON. Class 3 realizuje bezpołączeniową i niepotwierdzaną (ang. connectionless and unacknowledged) transmisję bloków danych z użyciem mechanizmu kontroli przepływów (ang. Flow Control) na bazie B2B Credits (Buffer-to-Buffer Credits).
B2B Credits stosowane są do kontroli przepływów, na każdym z połączeń w ramach SAN Fabric. Z każdą wysłaną ramką danych zużywany jest jeden kredyt na porcie odbierającym. Kiedy odbierający port przekaże ramkę dalej, informuje stronę od której ją otrzymał o przywróceniu kredytu za pomocą ramki ze statusem R_RDY. Dzięki B2B i R_RDY szybkość transmisji dostosowywana jest do możliwości odbiorczych konkretnych portów. O ile B2B i R_RDY starają się zapewnić bezstratną transmisję, to w praktyce zawsze może dojść do uszkodzenia bitów ramki czy całkowitego jej zgubienia na skutek awarii, któregoś z połączeń czy przełączników w ramach SAN Fabric. Za niezawodność, w tym wykrycie przekroczenia czasu oczekiwania, ponowienie transmisji czy potwierdzenia odpowiadają przenoszone w FC protokoły wyższe, jak SCSI, NVMe czy FICON.
Wymiana danych z użyciem Fibre Channel może być realizowana nawet z prędkościami 32G czy 64G. Dotyczy to oczywiście prędkości pojedynczego portu. Tam, gdzie potrzebna jest większa przepustowość, warto zastosować przełączniki Cisco MDS lub Cisco Nexus, gdzie można agregować do 16 takich portów w wiązkę PC (Port Channel). Jest to coś unikalnego dla FC i sieci SAN.
W skład sieci SAN opeartej na FC wchodzą inicjatory (ang. initiator), będące portami kart HBA (Host Bus Adapter) serwerów, targety (ang. targets), będące portami pamięci masowych (ang. storage systems) oraz przełączniki FC, jak Cisco MDS.
Każde z urządzeń sieci SAN na bazie Fiber Channel posiada unikalny identyfikator WWNN (Word Wide Node Name) lub inaczej zwany NWWN (Node Word Wide Name), za pomocą którego można łatwo zidentyfikować wszystkie porty tego urządzenia. Dodatkowo, każdy z portów takiego urządzenia posiada unikalny identyfikator WWPN (Word Wide Port Name) lub inaczej zwany PWWN (Port Word Wide Name). Przy ustanawianiu komunikacji w sieci SAN opartej na FC stosowane są WWPN, dlatego to one będą nam potrzebne do prawidłowej konfiguracji mechanizmów Zoning i LUN Masking.
Zoning służy do definiowania polityk wymiany ruchu w ramach danego SAN Fabric. Ogranicza on informacje, jakie wysyłane są do inicjatorów o dostępnych targetach, a także pilnuje tego, aby nie nawiązały one połączeń do złych targetów. Zabezpiecza to przed nieuważnym podłączeniem inicjatora do złego miejsca, w tym przypadku wolumenu, i tym sposobem potencjalnego uszkodzenia danych. Stosowane są dwa podejścia w konfiguracji zoningu:
- jeden inicjator i jeden target,
- jeden inicjator i wszystkie jego targety.
O ile drugi sposób znacząco poprawia czytelność konfiguracji, jest łatwiejszy w zarządzaniu i zużywa mniejszą ilość dostępnych stref (ang. zone) na przełączniku, których ilość jest ograniczona, to jest mniej optymalny dla jego wewnętrznych tablic urządzenia TCAM. To, który ze sposobów wybierzemy będzie miało większe znaczenie przy dużych sieciach SAN. Najważniejsze w tym wszystkim jest zrozumienie celu, w jakim stosujemy ten mechanizm. Na pewno nie powinno się umieszczać wielu inicjatorów w ramach jednej strefy czy też dawać dostępu inicjatorom do targetów, z którymi nie muszą się komunikować.
Do podobnego celu stosuje się LUN Masking, który bezpośrednio na poziomie pamięci masowej określa widoczne dla konkretnych inicjatorów wolumeny. Dla bezpieczeństwa i porządku powinno się stosować oba te mechanizmy - Zoning i LUN Masking.
Warto również pamiętać, że o ile przy SCSI mamy do czynienia z LUN-ami, to w NVMe ich odpowiednikiem są przestrzenie nazw (ang. Namespace). LUN i Namespace reprezentuje pojedynczy dysk czy też wolumen udostępniany inicjatorom.
Należy pamiętać, że o ile identyfikatory WWPN służą do kontroli dostępu w ramach danego SAN Fabric oraz budowy kanałów komunikacyjnych, to do przełączania ramek poprzez sieć FC stosowane są FCID (Fibre Channel Identifiers), które przydzielane są dynamicznie w trakcie logowania do danego SAN Fabric przez przełącznik FC.
Identyfikatory WWPN i WWNN są 64-bitowe, podczas gdy FCID składa się tylko z 24-bitów.
Ramka FC może przenosić od 0 do 2048 oktetów właściwych danych, co umożliwia dokładne wyrównanie (ang. clean alignment) do typowych wielkości sektorów. Są one wielokrotnością tego rozmiaru, stąd FC idealnie nadaje się do transmisji operacji I/O.
Do tego należy doliczyć dodatkowy nagłówek przenoszonego protokołu, jak SCSI, NVMe czy FICON, który może zawierać od 0 do 64 oktetów. Daje to łącznie 2112 oktetów, jakie przenosi w polu danych ramka FC.
Cała ramka FC z jej właściwym nagłówkiem, sekwencją oznaczającą początek ramki i sumą kontrolną będzie większa o 36 oktetów. Stąd całkowity rozmiar ramki FC może sięgać 2148 oktetów.
Początkowo Fibre Channel przewidywał użycie tylko mediów światłowodowych. W późniejszym czasie została do niego dodana obsługa także mediów miedzianych oraz została zmieniona nazwa z Fiber Channel na Fibre Channel.
Jesteśmy partnerem firmy IBM (International Business Machines). Za naszym pośrednictwem można zakupić ich produkty oraz rozwiązania na polskim rynku. Zainteresowanych zapraszamy do
Na rynku jest zbyt dużo sprzętu z szarego kanału, stąd koniecznie sprawdzaj, czy firma sprzedająca produkty firmy Cisco Systems jest na 100% jej partnerem handlowym. Sprawdzić można to w Cisco Partner Locator, gdzie też jesteśmy.