1
Rozproszone
systemy plików
Wykład 11
2
Rozproszony system plików stanowi rozproszoną
implementację klasycznego modelu systemu plików
z podziałem czasu, w którym wielu użytkowników
dzieli pliki i zasoby pamięciowe. Zadaniem
rozproszonego systemu plików jest umożliwienie
korzystania z tego samego rodzaju dzielenia
zasobów, z tym, że pliki są fizycznie rozmieszczone
na różnych stanowiskach systemu rozproszonego.
W rozproszonym systemie plików mówimy o:
usłudze,
systemie obsługi,
kliencie
(procesie).
3
W rozproszonym systemie plików klienci, systemy obsługi i
urządzenia pamięciowe są rozmieszczone na różnych
maszynach systemu rozproszonego.
Usługa
jest jednostką oprogramowania działającą na jednej lub
wielu maszynach, pozwalającą korzystać ze szczególnego
rodzaju funkcji nieznanemu uprzednio klientowi. System
obsługi (inaczej serwer) jest to oprogramowanie usługowe
wykonywane na jednej maszynie.
Klient
to proces, który wywołuje usługę za pomocą zbioru
operacji tworzących interfejs klienta.
Idealny rozproszony system plików powinien wydawać się
swoim klientom zwykłym scentralizowanym systemem plików.
Liczba i rozproszenie jego serwerów i urządzeń pamięciowych
powinny być przezroczyste. Interfejs klienta nie powinien
rozróżniać plików lokalnych i zdalnych.
Najważniejszą miarą zachowania rozproszonego systemu
plików jest czas potrzebny do spełnienia różnych zamówień na
usługi.
4
Nazewnictwo i
przezroczystość
Nazewnictwo jest odwzorowaniem między obiektami
logicznymi a fizycznymi. W przezroczystym
rozproszonym systemie plików pojawia się problem
ukrywania fizycznego miejsca przechowywania pliku.
W zwykłym systemie plików zakres odwzorowywania
nazw stanowią adresy na dysku. W rozproszonym
systemie zakres ten jest rozszerzony o specyfikację
maszyny, na której dysku plik jest przechowywany.
Pojęcia dotyczące odwzorowywania nazw w
rozproszonym systemie plików:
- przezroczystość lokalizacji, gdy nazwa pliku nie
daje wskazówki odnośnie fizycznego miejsca
przechowywania pliku.
- niezależność lokalizacji, gdy nazwy pliku nie trzeba
zmieniać wtedy, gdy plik zmienia swoje fizyczne
umiejscowienie.
5
Obsługa zdalna
Aby zrealizować zdalny dostęp do danych
trzeba spowodować rzeczywiste przesłanie
danych. Jednym ze sposobów jest metoda
obsługi zdalnej. Zamówienia na dostępy do
danych są tłumaczone na komunikaty do
systemów obsługi, a ich odpowiedzi są jako
komunikaty przesyłane do użytkowników.
Każdy dostęp jest obsługiwany przez system
obsługi, powodując ruch w sieci.
Jedną z najpopularniejszych metod obsługi
zdalnej stanowi schemat wywołania
procedury zdalnej.
6
Obsługa zdalna cd.
Wywołanie procedur zdalnych - RPC (remote
procedure call) oparto na spostrzeżeniu, że
wywołanie procedury lub funkcji w systemie
jednoprocesorowym działa zupełnie tak, jak
system komunikatów, w którym nadawca ulega
zablokowaniu do czasu otrzymania odpowiedzi.
Komunikat przybiera zatem postać wywołania
podprogramu, a odpowiedź zawiera wynik
obliczenia wykonanego przez podprogram.
Komunikaty wymieniane w systemie wywołań
procedury zdalnej mają wyraźną strukturę, nie
są zwykłymi pakietami danych.
7
1) zawodność łącz komunikacyjnych-
powoduje, że łatwiej jest zapewnić, by komunikat
wystąpił przynajmniej raz, aniżeli
zagwarantować, że komunikat wystąpi dokładnie
jeden raz.
(Każdemu komunikatowi przypisuje się znacznik
czasowy. Przechowywana jest historia wszystkich
znaczników czasowych, które zostały przetworzone
- te, które już wystąpiły są pomijane).
2) komunikacja między systemem obsługi a
klientem- implikuje konieczność stałego wiązania
z daną procedurą ustalonego adresu (portu -
którego nie może zmienić serwer) jak w
standardowych wywołaniach procedur.
Problemy związane z działaniem
mechanizmu wywoływania procedur
zdalnych
8
Pamięć podręczna
Pamięć podręczna ma zapewnić zadowalające
działanie schematu obsługi zdalnej. Dostępy
do pliku wykonuje się na jego kopii
przechowywanej w pamięci podręcznej. Pliki są
identyfikowane za pomocą jednej głównej
kopii rezydującej w serwerze, kopie całości lub
części pliku są rozrzucone w różnych
pamięciach podręcznych. Dla zapewnienia
spójności - zmiany dokonywane w kopiach
muszą znaleźć odzwierciedlenie w kopii
głównej.
9
Przykłady polityki aktualizowania
danych z wykorzystaniem pamięci
podręcznej
1) ustawiczne przepisywanie danych na
dysk wkrótce po tym, gdy tylko znajdą się w
pamięci podręcznej,
zaleta: niezawodność (w przypadku awarii
system klienta zapamiętuje stan)
wada: oczekiwanie na przesłanie danych do
systemu obsługi (serwera) przy każdym zapisie
powoduje małą wydajność operacji pisania.
10
Przykłady polityki aktualizowania
danych z wykorzystaniem pamięci
podręcznej cd.
2) opóźnione pisanie
zalety: operacje pisania odnoszą się wyłącznie do
pamięci podręcznej - krótszy dostęp. Jeśli dane
zostaną ponownie zmieniane przed przepisaniem to
jest zysk- nie będą przepisywane poprzednie wersje.
wada: pogorszenie niezawodności (awaria klienta
powoduje stratę danych).
Przy opóźnionym pisaniu stosuje się różne czasy
opóźnień:
a) zapis, gdy będzie usuwany blok z pamięci,
b) przeglądanie pamięci podręcznej w regularnych
odstępach czasu i wysłanie z niej bloków
zmodyfikowanych po ostatnim przeglądzie,
c) zapis w chwili zamykania pliku.
11
Zachowanie spójności
Maszyna klienta musi sprawdzać czy
kopia danych przechowywana w lokalnej
pamięci podręcznej jest zgodna z kopią
główną (zatem czy można ją używać)
czy nie. Jeśli nie, to maszyna klienta
przestanie udzielać do nich dostępu, a
do pamięci podręcznej trzeba będzie
sprowadzić aktualną kopię danych.
12
Dwie metody weryfikowania
aktualności danych w pamięci
podręcznej
1. Inicjatywa klienta
Klient inicjuje sprawdzenie poprawności
danych- kontaktuje się z systemem obsługi i
sprawdza, czy dane są zgodne z kopią główną.
Sprawdzać można najczęściej - przy każdym
dostępie, a najrzadziej tylko przy pierwszym
dostępie do pliku (np. przy otwieraniu).
2. Inicjatywa systemu obsługi
System obsługi zapisuje dla każdego klienta z
osobno pliki (lub ich części) które wysyła do
pamięci podręcznej. Gdy wykryje możliwość
niespójności - reaguje.
13
Porównanie pamięci
podręcznej i obsługi zdalnej
Pamięć podręczna pozwala zwiększyć
wydajność dużej liczby dostępów zdalnych.
Ogólny nakład w sieci na przesyłanie dużych
porcji danych przy zastosowaniu pamięci
podręcznej jest mniejszy niż przy seriach
odpowiedzi na poszczególne zamówienia w
metodzie obsługi zdalnej.
Używanie pamięci podręcznej ma przewagę
wówczas, gdy rzadko zdarzają się dostępu do
pisania.
14
Porównanie pamięci
podręcznej i obsługi zdalnej
cd.
Aby warto było korzystać z pamięci podręcznej
należałoby korzystać z maszyn wyposażonych
we własne dyski lub duże pamięci operacyjne.
Dostęp zdalny na bezdyskowych maszynach o
małej pojemności pamięci operacyjnej
powinien być realizowany za pomocą metody
obsługi zdalnej.
Przy użyciu pamięci podręcznej dane są
przesyłane hurtem między systemem obsługi a
klientem, a nie w odpowiedzi na specyficzne
zapotrzebowanie.
15
Obsługa doglądana i
niedoglądana
Są dwa podejścia odnośnie informacji
przekazywanej systemowi obsługi
(serwerowi):
A) system obsługi odnotowuje każdy
dostęp klienta do pliku,
B) system obsługi dostarcza bloki na
zamówienia klienta, nie troszcząc się o
informacje o ich użyciu.
16
Scenariusz obsługi
doglądanej
Przed dostępem do pliku klient musi go
otworzyć. System obsługi pobiera informację o
pliku z dysku, zapamiętuje ją w swojej pamięci i
daje klientowi identyfikator połączenia,
jednoznaczny w zbiorze klientów i otwartych
plików. Identyfikator jest używany w następnych
dostępach aż do końca sesji.
Obsługę doglądaną charakteryzuje związek
między klientem a systemem obsługi podczas
sesji.
Zaletą obsługi doglądanej jest lepsze działanie
systemu. Informacja o pliku jest schowana w
pamięci głównej i można ją łatwo uzyskać
poprzez identyfikator łączący, unikając dostępów
do dysku.
17
Obsługa niedoglądana
Obsługa niedoglądana traktuje każde
zamówienie jako samowystarczalne. Tzn.
każde zamówienie w pełni identyfikuje plik i
miejsca w pliku (do czytania lub pisania).
Zalety: system obsługi nie musi utrzymywać
tablicy otwartych plików w pamięci głównej,
nie trzeba ustanawiać i kończyć połączenia za
pomocą operacji otwierania i zamykania pliku.
18
Różnice między o
bsługą
doglądaną i niedoglądaną
Różnica między dwoma rodzajami obsług jest
ewidentna w przypadku awarii.
W przypadku
obsługi doglądanej
- tracony jest
stan przechowywany w pamięci ulotnej. Po
awarii trzeba go odtworzyć np. za pomocą
dialogu z klientem. Jednocześnie system musi
wiedzieć o błędach klienta, aby zwolnić obszar
przydzielony na zapamiętanie stanu
załamanych procesów klientów.
W przypadku
obsługi
nie
doglądanej
- po awarii
system obsługi może odpowiadać na
zamówienia klientów bez trudności.
19
Różnice między
o
bsługą
doglądaną i niedoglądaną
cd.
Obsługa niedoglądana jest odporna na awarie,
ale za to wymaga:
- dłuższych komunikatów z zamówieniami,
- jednolitego schematu nazewniczego na
niskim poziomie systemu (bo zamówienia
określają plik docelowy),
ponadto powoduje:
- wolniejsze przetwarzanie zamówień,
- opóźnienia związane z niewiedzą systemu
obsługi o sposobie wykorzystania pliku przez
klienta.
20
Powielanie plików
Powielanie plików jest metodą polepszania
dostępności. Zwielokrotnienie informacji w wielu
maszynach może wpłynąć na zachowania systemu.
Wybór najbliższej repliki skraca czas obsługi
zamówienia.
Stosując schemat powielania - wymaga się przede
wszystkim, aby różne repliki, czyli kopie tego
samego pliku pozostawały w maszynach, które są
od siebie niezależne w przypadku awarii. Czyli
dostępność jednej kopii nie ma wpływu na
dostępność pozostałych kopii. Zatem zarządzanie
powielaniem ukrywa lokalizację. Jest wskazane, aby
szczegóły powielania były ukryte przed
użytkownikiem. Jednakże repliki powinny być
odróżnialne za pomocą różnych nazw na niższym
poziomie.
21
Powielanie plików cd.
Podstawowym problemem dotyczącym
replik
jest ich
uaktualnianie
. Uaktualnianie
dowolnej repliki musi znaleźć odzwierciedlenie
we wszystkich pozostałych replikach.
Do rozwiązania jest dylemat - czy utrzymywać
spójność za wszelką cenę (może wystąpić
nieskończone blokowanie) czy poświecić ją na
rzecz dostępności i wydajności działania.