NFS jako alternatywa dla SCSI

0

Protokół SCSI ma wielu zwolenników. Jednak wyrasta mu poważny konkurent, jakim jest standard NFS. Czy będzie następcą SCSI?

Kiedy opracowywano protokół SCSI, nikt nie myślał o jego wykorzystaniu w transmisji sieciowej. Jego właściwe miejsce to magistrala na sztywno połączona z komputerem. SCSI w wersji sieciowej to emulacja tej pierwotnej koncepcji. Emulacja czyli kłamstwo. Oszukanym w tej intrydze jest system operacyjny. Wydaje mu się, że ma dyski lokalne, a tymczasem są to wolumeny, znajdujące się w macierzy, na dyskach, z których korzystają też inne systemy. Nienaturalność tego układu podkreślają problemy z nomenklaturą. W OS konfigurujemy wolumen na dysku, który na macierzy jest woumenem utworzonym na wielu dyskach fizycznych. Często używając tych samych słów mówimy o różnych rzeczach, co prowadzi do nieuchronnych nieporozumień.

Twórcy SCSI mieli bardzo szczytne założenia i do pewnego momentu odzwierciedlały potrzeby. Wszystko zaczęło się od kabli. Jak wiadomo magistrala SCSI potrzebuje dużo miedzi W rezultacie zastosowane kable były grube i krótkie, a złącza awaryjne. Idealnym rozwiązaniem na ten problem okazało się zastąpienie miedzi lekkim i cienkim światłowodem. Na potrzeby tego szybkiego, szeregowego medium został stworzony protokół Fiber Channel. Zapakowano w jego ramki pakiety SCSI i powoli zaczęły nam rosnąć w serwerowniach sieci SAN. Dzięki temu mamy dziś scentralizowany storage.

Blokowy dostęp do danych, jaki realizuje protokół SCSI jest bardzo wydajny. Efektywnie wykorzystuje dostępne pasmo. Gorzej jest z zarządzaniem po stronie systemu operacyjnego. Niby wszystko da się zrobić, ale wymaga to czasu, wiedzy, doświadczenia i szczególnej ostrożności. Na przykład powiększanie filesystemu:

– powiększam wolumen na macierzy
– powiadamiam o tym OS – rescan scsi
– powiadamiam o tym volume manager
– powiększam wolumen logiczny w OS
– powiększam filesystem

Inny, ciekawy przykład to wykonanie i udostępnienie kopii danych z użyciem kopii migawkowej. Ta operacja składa się z jedenastu czynności. A jak wykonać je dla aplikacji, znajdującej się na wielu systemach plików, wielu grupach dyskowych, składających się z wielu dysków? A co jeśli mamy do czynienia z kilkudziesięcioma kopiami, które codziennie trzeba tworzyć/odświeżać/przywracać do zapamiętanego stanu? To rzeczywistość znana wielu administratorom pamięci masowych. Z jednej strony dysponują nowoczesnymi macierzami dyskowymi oferujące ogromne możliwości, a z drugiej systemy operacyjne używające protokołu, który ogranicza i komplikuje dostęp do danych.

Nowe możliwość NFS

Alternatywą dla blokowego SCSI są protokoły plikowe, takie jak NFS. Od początku projektowano je z myślą o pracy w sieci. Takie rozwiązanie ma mnóstwo zalet. Zapewnia naturalny dla OS dostęp do danych. System ma “świadomość”, że korzysta z zasobu sieciowego. Nie wymaga dedykowanej sieci SAN. Zapewnia spójność danych przy dostępie z wielu systemów. Jest łatwy w implementacji i zarządzaniu. Dla przykładu opisywana wcześniej operacja zwiększenia zasobu wykonywana jest w jednym prostym kroku na macierzy. Po stronie systemu operacyjnego nie są potrzebne żadne dodatkowe akcje – dba o to sam protokół.

Mimo wielu atutów NFS jest niechętnie wykorzystywany w dużych środowiskach np. na potrzeby baz danych. Wynika to z niskiej przepustowości sieci Ethernet, która jest głównym medium dla tego protokołu. Tak było przynajmniej do niedawna. Sieci klasy Data Centre, oparte na technologii 10,40,100 Gb Ethernet są coraz częściej budowane w naszych serwerowniach. Powoduje to, że główny argument na korzyść sieciowego SCSI, tj. szybkość nie jest już aktualny.

W takiej sytuacji NFS staje się coraz bardziej atrakcyjny. Ma on też swoje wady, ale w odróżnieniu od SCSI ciągle się zmienia i dostosowuje. Najnowsza wersja – parallel NFS – rozwiązuje większość problemów, które hamowały jego szerszą ekspansję. Zapowiadane do przyszły rok aktualizacje różnych systemów i macierzy NAS mają na liście zmian wsparcie dla pNFS’a. Może się okazać, że będzie to przełomowy czas dla adaptacji tego protokołu jako głównej metody dostępu do danych.

Implementacja SCSI w protokole sieciowym było najprostszym i najszybszym rozwiązaniem na problemy tamtych czasów. Wydaje się jednak, że ten pomysł nie przetrwa próby czasu. Jest to coraz większe ograniczenie dla rozwoju nowoczesnej infrastruktury IT, a przy okazji dużo kosztuje. Czy to oznacza koniec SAN?

Marek Wołynko

BRAK KOMENTARZY

ZOSTAW ODPOWIEDŹ