Siatkowy system plików

Siatkowy system plików to komputerowy system plików, którego celem jest poprawa niezawodności i dostępności poprzez wykorzystanie wielu mniejszych obszarów przechowywania plików.

składniki

Systemy plików zawierają maksymalnie trzy komponenty:

  • Tabela plików (tabela FAT, MFT itp.)
  • Dane pliku
  • Metadane (uprawnienia użytkownika itp.)

System plików grid miałby podobne potrzeby:

Porównania

Ponieważ systemy plików są zaprojektowane tak, aby wyglądały jak pojedynczy dysk do zarządzania (w całości) przez jeden komputer, pojawia się wiele nowych wyzwań w scenariuszu gridowym, w którym każdy pojedynczy dysk w siatce powinien być w stanie obsłużyć żądania dotyczące dowolnych danych zawartych w siatce.

Cechy

Większość magazynów plików wykorzystuje warstwy redundancji w celu osiągnięcia wysokiego poziomu ochrony danych (niemożliwość utraty danych). Obecne środki redundancji obejmują kontrole replikacji i parzystości. Taką nadmiarowość można wdrożyć za pomocą RAID (w której wiele dysków fizycznych pojawia się na komputerze lokalnym jako pojedynczy dysk, co może obejmować replikację danych i/lub partycjonowanie dysku). Podobnie, system plików siatki składałby się z pewnego poziomu redundancji (albo na poziomie plików logicznych, albo na poziomie bloków, być może obejmującym pewnego rodzaju kontrolę parzystości) na różnych dyskach obecnych w „siatce”.

Struktura

Przede wszystkim potrzebny jest mechanizm tablicy plików. Dodatkowo tablica plików musi zawierać mechanizm lokalizowania pliku (docelowego/docelowego) w siatce. Po drugie, musi istnieć mechanizm pracy z danymi plikowymi. Mechanizm ten odpowiada za udostępnianie żądaniom danych pliku.

Realizacja

W przypadku technologii BitTorrent można narysować analogię do systemu plików grid, w którym moduł śledzący torrent (i wyszukiwarka) byłby „tabelą plików”, a aplikacje torrentowe (przesyłające pliki) byłyby komponentem „dane pliku” . Mechanizm RSS może być wykorzystywany przez węzły tabeli plików do wskazywania, kiedy nowe pliki są dodawane do tabeli, do inicjowania replikacji i innych podobnych komponentów.

System plików może zawierać podobną technologię (replikacja rozproszona, rozproszone żądanie/spełnienie danych).

Gdyby oba takie systemy (tabela plików i dane w plikach) mogły być adresowane jako pojedyncza jednostka (tj. za pomocą wirtualnych węzłów w klastrze), to wzrost do takiego systemu mógłby być łatwo kontrolowany, po prostu decydując, które zastosowania elementu siatki będą być odpowiedzialnym (przeszukiwanie tabeli plików i plików i/lub danych plików).

Dostępność

Zakładając, że istnieje jakaś metoda autonomicznego zarządzania replikacją danych (przydzielanie limitów itp.) w sieci, dane można skonfigurować pod kątem wysokiej dostępności, niezależnie od utraty lub przestoju.

Wyzwania

Największy problem dotyczy obecnie dystrybucji aktualizacji danych. Torrenty obsługują minimalną hierarchię (obecnie zaimplementowaną jako metadane w trackerze torrentów lub ściśle jako interfejs użytkownika i podstawowa kategoryzacja). Jednoczesne aktualizowanie wielu węzłów (przy założeniu, że wymagane są transakcje atomowe) wiąże się z opóźnieniami podczas aktualizacji i dodawania, zwykle do tego stopnia, że ​​jest to niewykonalne. Ponadto system plików grid (oparty na sieci) łamie tradycyjne paradygmaty TCP/IP, ponieważ system plików (na ogół operacje niskiego poziomu, typu ring 0) wymaga skomplikowanych implementacji TCP/IP, wprowadzając warstwy abstrakcji i komplikacji do procesu tworzenia taki system plików siatki.

Przykłady

Przykłady danych o wysokiej dostępności obejmują:

  • Równoważenie obciążenia sieciowego / CARP – rozdzielanie przychodzących żądań na wiele komputerów, zwykle skonfigurowanych identycznie lub jako całość.
  • Wspólne klastry pamięci masowej / sieci SAN — pojedynczy dysk (jeden lub więcej dysków fizycznych działających jako pojedynczy dysk logiczny) jest prezentowany wielu komputerom, które dzielą przychodzące żądania. Jest to zwykle używane, gdy wymagana jest większa moc obliczeniowa niż dostęp do dysku.
  • Replikacja / dublowanie danych – wiele komputerów może próbować synchronizować dane (zwykle w oparciu o punkt w czasie lub migawkę). Używany częściej do raportowania (na podstawie ostatniej migawki) lub tworzenia kopii zapasowych.
  • Partycjonowanie danych – dzielenie danych między wiele komputerów. W bazach danych dane są często partycjonowane na podstawie tabel (niektóre tabele istnieją na niektórych komputerach lub tabela jest dzielona między wiele komputerów w określonych „punktach przerwania”)… ogólne pliki są zwykle dzielone na partycje według kategorii (foldery oparte na kategoriach) lub lokalizacja (oddzielona geograficznie).

Zobacz też