We wszystkich naszych sieciowych serwerach plików NAS, przynajmniej w tych które widziałem, mamy do dyspozycji, co najmniej kilka opcji dzięki którym będziemy mogli udostępniać pliki użytkownikom. Często spotykam się z drobnym niejasnościami odnośnie tego, której z metod powinniśmy użyć. I chyba wazniejsze dlaczego akurat tej. Dlatego chciałem omówić trzy najczęściej moim zdaniem wykorzystywane zarówno w środowiskach domowych i korporacyjnych.
SMB(Server Message Block)/CIFS(Common Interent File System)
Zacznę on faworyta w świecie zdominowanym przez Microsoft czyli Server Message Block w skrócie SMB. Określenia CIFS i SMB czasem wymieniane są zmiennie. W rzeczywistości CIFS jest dość przestarzałym protokołem i obecnie raczej używa się SMB. Najlepiej stosować w wersji 3 lub wyższej między innymi na możliwość szyfrowania ale i na wydajność. SMB Świetnie sprawdza się jeżeli chcemy przechowywać i współdzielić pliki z innymi użytkownikami. W parze z Active Directory świetnie ułatwia kontrolę dostępu do poszczególnych zasobów na bazie na przykład przynależności do grupy w Active Directory. Zainteresowanych po szczegóły zapraszam do mojego materiału [[link do art:TrueNAS + Active Directory – dlaczego warto?]]
SMB jest używane głównie w środowisku systemów z rodziny Windows i bardzo dobrze się z nim integruje. Przykładem niech będzie natywny dostęp do starszych wersji plików. Jak się komu ręka omsknie, a komu czasem się to nie zdarzy ? to użytkownicy mają dostęp backupu. Tak ściśle rzecz biorąc to do poprzednich wersji plików zachowanych w snapshotach. Stanowi to świetną formę ochrony przed autopsujstwem ale również przed złośliwym oprogramowaniem szyfrującym pliki. I tu znowu zainteresowanych szczegółami zaproszę do materiału [[link do art:TrueNAS snapshots – Chroń swoje dane przed ransomware i]]
NFS (Network File System)
Drugim również często wykorzystywanym sieciowym systemem plików na NAS jest NFS. Jest on jednak bardzo rzadko wykorzystywany w środowisku Microsoftu. Windows bez dodatkowego oprogramowania dopiero w wersji Professional potrafi współpracować z NFS a i to trzeba doinstalowywać komponenty. NFS jest raczej wykorzystywany jako sieciowy system plików dla Linux-podobnych środowisk. Głownie do montowania zarobów dysków sieciowych w serwerach. Bardzo często zdarza się tak, że serwer gdzie przetwarzane są dane nie jest tym samym serwerem gdzie dane są przechowywane. Dodatkowo te same dane często muszą być przetwarzane przez wiele serwerów lub wiele instancji jakiegoś oprogramowania. Wówczas jednym z rozwiązań jest właśnie zamontowanie takiego katalog przez NFS do wszystkich naszych serwerów. Następnym wykorzystaniem NFS jest przechowywanie przeróżnych kopii bezpieczeństwa. Często również wykorzystuje się NFS w serwerach wirtualiacyjcnych, żeby nie trzymać dysków maszyn wirtualnych na samych wirtualizatorach tylko, żeby trzymać je na NAS. Wówczas taki serwer VMWare, Cirtrix czy XCP-NG potrafi mieć tylko mały dysk na własny system czy logi, a i to da się obejść bo da się odpalić serwer bez literalnie żadnego fizycznie wpiętego dysku. Wówczas nawet dysk systemowy odpala się z NAS. Całe dyski maszyn wirtualnych przechowywane są na NAS. Co jest zresztą bardzo dobrym rozwiązaniem zwłaszcza przy kilku serwerach wirtualizacyjnych ponieważ bardzo szybko da się wówczas przenosić maszyny wirtualne między serwerami bo dyski wirtualne są na NAS i przeniesienie takiej maszyny wirtualnej polega tylko na przeniesieniu konfiguracji i ewentualnie zawartości pamięci RAM.
ISCSI (Internet Small Computer Systems Interface)
Trzecim sposób korzystania z dysku sieciowego będącym chyba najmniej oczywistym i intuicyjnym sposobem użycia NAS jest iSCSI. Jest on zdecydowanie czymś innym od poprzedników. Jest blokową reprezentacją kawałka dysku fizycznego przez sieć.
Tak jak dwa poprzednie SMB i NFS są po prostu udostępnieniem jakiegoś katalogu użytkownikom tak iSCSI udostępnia po prostu kawałek fizycznego dysku od punktu A do punktu B. Nic więcej nic mniej. Jakie to ma konsekwencje? A no takie, że nasz NAS nie ma pojęcia co jest na tym kawałku udostępnionego dysku. Tak jak w wypadku SMB i NFS z poziomu NAS możemy przeglądać pliki wrzucone przez użytkowników tak w wypadku iSCSI nie widać nic, zupełnie nic. Żeby „zajrzeć” do dysku iSCSI, chociażby po to żeby na przykład odzyskać coś z kopii, trzeba go najpierw gdzieś zamontować. Dużym atutem takiego rozwiązania jest to, że jest ono zupełnie przezroczyste z punktu widzenia użytkownika. Jest bardzo uniwersalne. Serwer montujący sobie dysk przez iSCSI może wykorzystać go w dowolny sposób i sformatować z wykorzystaniem dowolnego systemu plików. Serwer NAS nie jest nawet „świadomy” jaki jest tak wykorzystywany system plików czy Windows-owe FAT, NTFS, czy macOS-owy APFS czy Linux-owe .. jakiekolwiek bo tych już jest sporo. Zwróćcie proszę uwagę, że w wypadku SMB i NFS udostępniamy jakiś swój katalog użytkownikom, czyli mogą oni go wykorzystywać tylko w zakresie istniejącego na NAS systemu plików czy rodzaju praw użytkowników. Czasem skuteczne „tłumaczenie” tych praw jeżeli serwerem jest Linux a klientem Windows lub odwrotnie bywa .. uciążliwe. Cóż te systemy plików są po prostu inne. W wypadku iSCSI ten problem nie występuje użytkownik formatuje sobie wydzielony kawałek dysku do własnych potrzeb. Wadą tego rozwiązania w porównaniu do SMB i NFS jest fakt, że z związku z przydzieleniem dysku od punktu A do punktu B od razu zajmujemy na sztywno przydzielony zakres dysku, niezależenie czy użytkownik wykorzystuje tylko jeden procent miejsca czy całe. Ten problem nie występuje w wypadku SMB i NFS ponieważ na dysku jest zajmowane tyle i tylko tyle miejsca ile zastanie zajęte wrzuconymi plikami.
AFP (Apple Filing Protocol)
Nie mogło zabraknąć czegoś dla jabłuszek. AFP jest sieciowym protokołem wymiany plików właśnie dla nich. macOS potrafi sprawnie korzystać z SMB i NFS. AFP nie jest raczej często używany ale warto wiedzieć, że takie coś występuje.
WebDAV
Na koniec bardziej jako ciekawostkę zostawiłem dobie WebDAV. Jest to sieciowy system plików będący rozszerzeniem protokołu HTTP. Tego samego którego używamy przeglądając strony internetowe. Czyli jako serwer wykorzystuje się serwery stron czy Apache czy NGINX. Dobrze się sprawdza do montowania sobie na komputerze jako dysk lokalny swoich zasobów z takich platform jak Nextcloud czy Owncloud. Obsługują one natywnie WebDAV.
Podsumowanie:
Omówione protokoły zdecydowanie różnią się od siebie. Oczywiście nie ma jednego najlepszego i stosujmy taki który najlepiej pokrywa nasze potrzeby. Po tej małej wycieczce niech podsumowaniem będzie, że jeżeli używamy Windows i chcemy gdzieś trzymać nasze pliki to właśnie SMB powinno być dobrym wyborem.
Pamiętajcie jeszcze proszę, że nawet najlepszy dysk sieciowy NAS, ile by nie miał zapasowych dysków czy zasilaczy to nie backup. Każdy serwer kiedyś się psuje, zawsze miejcie plan B. B jak backup.
Jeśli chcielibyście dowiedzieć się więcej o TrueNAS napiszcie do nas. Opowiemy Wam jak działa i dlaczego warto?