NFS czy iSCSI?

Skoro o bezpieczeństwie mowa, przyjrzyjmy się jak w obu technologiach wygląda ta kwestia. Prócz kontroli dostępu opartej na źródłowym adresie IP - możliwej zarówno z NFS, jaki i iSCSI - drugi z omawianych protokołów obsługuje dwukierunkowe uwierzytelnianie CHAP (gwarantujące, że nie da się podstawić ani serwera, ani storage innych niż te, które powinny zostać połączone).

W przypadku NFS w wersji 2 najczęściej (choć nie zawsze) jako protokół transportu jest implementowany UDP - co wydaje się być nie do końca trafionym pomysłem. Zaletą UDP będą co prawda względnie małe opóźnienia, ale kosztem bezpieczeństwa i gwarancji doręczenia pakietów. Warto jednak zaznaczyć, że w NFS 3 - wykorzystywanym przez większość pamięci masowych opartych na NFS i hiperwizorów (np. VMware vSphere) - domyślnym protokołem jest już TCP.

Pliki kontra bloki

Kluczową różnicą między rozwiązaniami jest miejsce implementacji systemu plików i zarządzania nim. W rozwiązaniach opartych na plikach - takich jak NFS (ale też np. SMB) - system plików znajduje się na pamięci masowej i operacje na danych odbywają się właśnie na poziomie plików. W rozwiązaniach opartych na blokach - takich jak iSCSI (czy Fibre Channel) - pamięć masowa oferuje swoją przestrzeń klientowi jako zbiór bloków, które są formatowane przez klienta jak czysty dysk i to właśnie on decyduje, jaki system plików zostanie umieszczony na woluminie.

Najistotniejszą konsekwencją wynikającą z tej różnicy wydaje się być to, że w przypadku protokołów takich jak iSCSI pamięć masowa tak naprawdę "nie wie", co przechowuje - oferuje swoją przestrzeń jako zbiór bloków, dając pełną władzę nad nimi klientowi iSCSI.

NFS czy iSCSI?

Teaming interfejsów sieciowych kontra MPIO

W przypadku grupy rozwiązań, których przedstawicielem jest NFS, pamięć masowa ma pełen wgląd w przechowywane dane - czy są to typowe udostępniane pliki, czy obrazy maszyn wirtualnych. Dzięki temu w środowiskach NFS łatwiej jest śledzić rzeczywiste wykorzystanie przestrzeni dyskowej na potrzeby thin provisioningu, robić kopie migawkowe czy backupy pojedynczych maszyn wirtualnych, a nawet przeprowadzać deduplikację na poziomie macierzy.

Tu jednak trzeba wziąć w obronę iSCSI - implementacja SCSI T10 w VMware VAAI (vSphere APIs for Array Integration) dodaje podobną funkcjonalność do systemów pamięci masowych opartych na blokach danych. Wsparcie dla UNMAP SCSI daje stosowi wirtualizacji możliwość uwalniania nieużywanych bloków (pozwalając macierzy na odzyskanie miejsca) oraz kopiowanie bezpośrednio na macierzy (copy offload) pozwalające znacznie przyspieszyć np. klonowanie maszyn wirtualnych. W pewnym sensie inteligentna współpraca hiperwizora z macierzą możliwa od jakiegoś czasu na systemach opartych na NFS jest już przeszczepiana dzięki rozszerzeniom protokołu SCSI na rozwiązania blokowe.

Plikowość NFS-u ma jeszcze inne zalety. Dobrym przykładem jest możliwość budowania rozległych klastrów. Umieszczone w różnych lokalizacjach geograficznych pamięci masowe, replikowane synchronicznie dają warstwie pamięci masowej możliwość traktowania pojedynczych maszyn wirtualnych (a nie całych woluminów) jako oddzielnych zasobów storage'owych - czy to do przenoszenia, czy do zapewnienia failover - co dla rozwiązań blokowych nie wydaje się być łatwym zadaniem.


TOP 200