Klastry oraz stabilna i niezawodna sieć dają możliwość stosowania rozpro-szonego systemu plików DSF (ang. Distributed File System). Pozwala on umieścić dane w wielu lokalizacjach fizycznych. Przy czym pliki znajdujące się na licznych serwerach dla użytkownika wyglądają tak, jak gdyby znajdo-wały się w jednym miejscu w sieci. Wyróżniamy Stand-Alone DFS, w któ-rym schemat powiązań pomiędzy lokalizacjami jest przechowywany na jednym serwerze, oraz Fault-tolerant DFS, replikujący go pomiędzy różnymi serwerami.
Sieciowe systemy plików to zagadnienie węższe. Dzięki nim także uzy-skać można dostęp do danych poprzez sieć, jednakże brak jest możliwości połączenia danych pochodzących z wielu lokalizacji w jedną, spójną jed-nostkę logiczną. Dopiero łączne stosowanie obu rozwiązań daje pełną nieza-leżność od fizycznego położenia danych.
Najczęściej spotykane sieciowe i rozproszone systemy plików to:
• NFS,
• AFS,
• Coda,
• SMB.
NFS (ang. Network File System) został opracowany przez firmę Sun Microsys-tems. Obecnie jest protokołem otwartym. Umożliwia współdzielenie syste-mów plików pomiędzy dowolną liczbą komputerów, z których każdy może pełnić rolę zarówno klienta, jak i serwera. Pozwala udostępniać katalogi lo-kalnego systemu plików na jednym komputerze oraz mapować go na in-nych. Obsługa zamapowanego udziału nie różni się od obsługi lokalnego systemu plików144.
AFS (ang. Andrew File System) stworzono na Carnegie Mellon University.
Najważniejszą logiczną jednostką jest w AFS, tzw. wolumin, czyli zbiór po-wiązanych ze sobą plików i katalogów. Woluminy mogą być przenoszone do innych lokalizacji bez konieczności powiadamiania użytkowników.
Czynność ta może być wykonywana także, gdy wolumin jest zajęty. Pracę na plikach obsługują dwa procesy, proces klienta – Venus oraz proces ser-wera – Vice. Venus, na żądanie, otrzymuje od Vice plik wraz z obietnicą
144 R. Scrimger, P. LaSalle, C. Leitzke, M. Parihar, M. Gupta, TCP/IP. Biblia, Helion, Gliwice 2002.
zawiadomienia o zmianie pliku przez innego użytkownika (ang. callback promise). Korzystać z niego może do chwili otrzymania takiego zawiadomie-nia. AFS jest odporny na chwilowe zerwanie połączenia, gdyż faktycznie praca odbywa się na lokalnej kopii plików145.
Protokół Coda również opracowano na uniwersytecie Carnegie Mellon i jest on następcą AFS. Charakteryzuje się zwielokrotnianiem woluminów dostępnych do czytania i zapisywania w celu zwiększenia prędkości opera-cji. Grupa serwerów przechowujących kopie wolumenów VSG (ang. Volume Storage Group) umożliwia dostęp klientowi do swojego podzbioru AVSG (ang. Available Volume Storage Group). Klient dostaje również obietnicę po-wiadomienia o zmianach. W przypadku odłączenia od sieci, praca odbywa się na kopiach lokalnych, które synchronizowane są z AVSG po ponownym uzyskaniu połączenia146.
SMB (ang. Server Message Block) został opracowany przez firmy Intel, Mi-crosoft i IBM na potrzeby wymiany plików oraz wspólnej pracy z drukar-kami.Charakteryzuje się specyficznym mechanizmem blokowania plików przez klienta, tzw. opportunistic locks. Poprzez opportunistic locks klient infor-muje serwer SMB o lokalnym wykonywaniu operacji na pliku. Żądanie dostępu do zajętego pliku przez innego użytkownika zrywa blokadę, wy-muszając wcześniej zapis uaktualniający.
Nadmiarowość w komputerach stanowiących końcówki sieci jest zbyt kosztowna. Dąży się więc do tego, by każdy komputer można było zastąpić inną jednostką. Wymaga to oczywiście unifikacji stanowisk komputero-wych, zarówno w zakresie sprzętu, jak i zainstalowanego na nim oprogra-mowania. Należy jednak zadbać o dane tworzone przez użytkowników.
Trudno wdrożyć techniki backupu w tak rozproszonym środowisku. Można jednak zaimplementować mechanizmy takie jak kopie migawkowe (ang.
snapshot), ciągłą ochronę danych CDP (ang. Continuous Data Protection) czy synchronizację danych pomiędzy końcówką sieci a serwerem. CDP jest w stanie wychwycić każdą zmianę pliku, katalogu czy bazy danych oraz za-pisać stan poprzedni. To rozwiązanie wydaje się być idealnym sposobem
145 A.S. Tanenbaum, M. van Steen, Systemy rozproszone. Zasady i paradygmaty, WNT, Warszawa 2005.
146 M. Satyanarayanan, M.R. Ebling, J. Raiff, P.J. Braam, J. Harkes, Coda File System User and System Administrators Manual, Coda Team 2000, http://coda.cs.cmu.edu/doc/html/manual/in-dex.html.
ochrony danych. Jednakże w rozbudowanych systemach informatycznych zmian jest tak dużo, że zapisy generowane przez CDP mogą w wydatny sposób wpłynąć niekorzystnie na wydajność systemu. Lepszym rozwiąza-niem wydają się być kopie migawkowe. Wykonywane co określoną jed-nostkę czasu, pozwalają nie tylko zapisać dane przed ich zmianą, lecz także zawartość buforów147.
Odtworzenie stanowiska komputerowego przy pomocy omówionych powyżej technologii wymaga jednak czasu. Innym rozwiązaniem jest zasto-sowanie tzw. profili mobilnych. Pozwalają one użytkownikom systemów Windows używać wszystkich indywidualnych ustawień systemu, oprogra-mowania, a także osobistych plików i folderów na różnych komputerach w ramach tej samej sieci. Ustawienia te oraz dane przechowywane są na ser-werze i kopiowane na jednostkę, na którą loguje się ich właściciel. Po wylo-gowaniu następuje synchronizacja danych lokalnych i zapisanych na serwerze. Zastosowanie profili mobilnych wiąże się więc z wydłużonym czasem logowania i wylogowywania się z systemu148.
Coraz bardziej powszechna staje się praca terminalowa, czyli obsługa programu zainstalowanego i uruchomionego na innym komputerze. Polece-nia przetwarzaPolece-nia danych wydawane przez końcówkę, którą jest najczęściej tzw. cienki klient (ang. Thin Client), realizowane są po stronie serwera.
Cienki klient to komputer lub urządzenie, zwane też terminalem, wyposa-żony w odpowiednie oprogramowanie do łączenia się z serwerem. Wyniki przetwarzania przesyłane są na ekran terminala. Obsługiwane w ten sposób może być jedynie oprogramowanie o architekturze klient–serwer. Jest to, obok uzależnienia od protokołów, podstawowa wada tego rozwiązania.
Najczęściej spotykanymi rozwiązaniami stosowanymi w pracy termina-lowej są:
• Telnet – obsługujący jedynie terminale alfanumeryczne,
• SSH (ang. Secure Shell) – pozwalający także na pracę w trybie znako-wym, zapewniający jednak na szyfrowanie przesyłanych informacji,
• X Window System – zapewniający połączenie w trybie graficznym z systemami UNIX/LINUX,
147 K. Jakubik, Ochrona danych przed błędami ludzkimi, „Networld” 2007, nr 9.
148 D. Holme, Efektywne rozwiązania dla specjalistów IT. Resource Kit, Microsoft Press, Warszawa 2008.
• VNC (ang. Virtual Network Computing) – obsługujący także tryb gra-ficzny, dostępny dla większości systemów operacyjnych,
• RDP (ang. Remote Desktop Protocol) – zapewniający wsparcie dla usług terminalowych firmy Microsoft149.
Każdy terminal może więc być zastąpiony innym, a czas rozpoczęcia pracy na nowym stanowisku jest minimalny. Zastosowanie cienkiego klienta przy-nosi też korzyści ekonomiczne, gdyż urządzenie to jest znacznie tańsze od jednostki komputerowej ze względu na swoją niską złożoność technolo-giczną. W minimalnej konfiguracji składa się z klawiatury, monitora i jednostki centralnej, zawierającej interfejs sieciowy oraz oprogramowanie klienckie.
Nie jest wymagana duża moc obliczeniowa oraz nośniki danych o dużej objętości. Cienki klient nie wymaga również tak częstej wymiany, ze względu na proces tzw. starzenia się moralnego, jak klasyczne jednostki kompute-rowe.
Należy się jednak liczyć z opóźnieniami reakcji systemu na polecenia.
Związane są one przede wszystkim z prędkością sieci. Osiągane transfery są nieporównywalne z tymi, jakie zapewniają nośniki danych. Dlatego też niezwykle istotnym jest, aby w wymianie danych pomiędzy klientem a ser-werem stosowane były zaawansowane algorytmy kompresji, a graficzne interfejsy użytkownika charakteryzowały się prostotą.