next up previous
Next: Ograniczenia NBD Up: Network Block Device Previous: Cel ćwiczenia

Wprowadzenie

Rosnące z roku na rok tempo produkcji danych, wymusza konieczność efektywnego wykorzystywania przestrzeni na urządzeniach pamięci masowej. Komputery pracujące w środwisku sieciowym zazwyczaj pełnią rolę ``lepszych'' terminali. Katalogi domowe użytkownik przechowywane są na osobnym wydajnym serwerze i odostępniane na zewnątrz przy pomocy usług sieciowych systemów plików (np.NFS, AFS lub SMB). Dominująca obecnie architektura komputerów osobistych PC, które zazwyczaj same w sobie są w pełni wyposażonymi stacjami roboczymi o niezłej wydajności, sprawia, że w środowisku sieciowym niektóre ich komponenty mogą zostać niewykorzystane. Taka sytuacja ma miejsce w przypadku dysków twardych, których pojemność, w przypadku interfejsu IDE, aktualnie rzadko schodzi poniżej 20 GB (w nowych dyskach)1. System operacyjny, partycja wymiany (plik wymiany), programy użytkowe nie są w stanie zająć całej dostępnej przestrzeni. Pozostała część dysku może się zatem marnować.

Jednym z rozwiązań tego problemu może być tzw. sieciowe urządzenie blokowe Network Block Device dostępne w systemie Linux. Fragment (lub całość) dowolnego urządzenia blokowego na jednym komputerze (serwerze) może zostać udostępniona przez sieć TCP/IP drugiemu komputerowi (klientowi), który będzie tę przestrzeń traktował jak swoje własne, lokalne urządzenie blokowe (patrz rys. [*]. Udostępnianie odbywa się na poziomie urządzeń blokowych (a nie plików jak np. NFS) co pozwala utworzyć na urządzeniu NBD dowolny system plików, wolumen logiczny LVM lub nawet programową macierz RAID.

Gdy użytkownik lub jakiś proces odwołuje się do pliku znajdującego się w systemie plików rezydującym na na urządzeniu NBD, żądanie przesyłane jest protokołem TCP do serwera, który fizycznie posiada to urządzenie (lub jego fragment). Potrzebny blok danych jest odczytywany z dysku i przesyłany do klienta, gdzie odtwarzany jest plik i dostarczany użytkownikowi lub procesowi.

Figure: Ogólna koncepcja NBD
\begin{figure}
\center{\epsfig{file=nbdpic.eps, width=\textwidth}}
\end{figure}

Jednemu klientowi można udostępnić wiele urządzeń blokowych z różnych serwerów NBD (dopuszczalne jest aby serwery NBD działały pod różnymi systemami operacyjnymi). Możliwe jest zatem (np. korzystająć z LVM) utworzenie wolumenu o pojemności będącej sumą pojemności poszczególnych urządzeń z serwerów (patrz rys. [*]). Pozwala to wykorzystać nieużywaną przestrzeń dyskową wielu komputerów w celu udostępnienia w jednym miejscu jako pojedynczego dużego wolumenu. Jest oczywiście jeden warunek, aby wolumen był dostępny wszystkie maszyny muszą być działać i być widoczne w sieci.

Figure: Topologia NBD z wieloma serwerami
\begin{figure}
\center{\epsfig{file=collect.eps, width=\textwidth}}
\end{figure}

Tworzenie macierzy RAID na sieciowym urządzeniu blokowym pozwala na na dodatkowe podniesienie bezpieczeństwa danych poprzez geograficzne rozproszenie macierzy.



Subsections
next up previous
Next: Ograniczenia NBD Up: Network Block Device Previous: Cel ćwiczenia
Pawel Topa 2004-10-07