Moose File System

Logo programu
Autor Jakub Kruszona-Zawadzki / Core Technology
Pierwsze wydanie 30 maja 2008; ponad 15 lat temu (v. 1.5.0)
Aktualna wersja stabilna 3.0.116-1 / 12 sierpnia 2021; ponad 2 lata temu
Aktualna wersja testowa 3.0.116-1 / 12 sierpnia 2021; ponad 2 lata temu
Język programowania C
System operacyjny Linux, Solaris, macOS, FreeBSD, NetBSD, OpenIndiana
Rodzaj Rozproszony system plików
Licencja GPL v2 / własnościowa
Strona internetowa

Moose File System (MooseFS) – odporny na awarie, wysoko dostępny rozproszony system plików stworzony w 2005 roku w przedsiębiorstwie Core Technology. Od 5 maja 2008 roku MooseFS udostępniany jest na licencji GNU General Public License. Dostępna jest również wersja PRO na licencji własnościowej. Sieciowy system plików MooseFS działa w ten sposób, że dystrybuuje dane na wiele maszyn wchodzących w skład danej instancji MooseFS. Wszystkie pliki są dostępne dla każdej z maszyn a jakakolwiek modyfikacja pliku jest odnotowana w całym systemie. Dane są od razu widoczne dla użytkownika w formie jednego zasobu (jak w olbrzymim dysku/katalogu). MooseFS wraz z OpenNebula tworzą wysoce niezawodną chmurę obliczeniową.

Dla typowych operacji plikowych MooseFS zachowuje się tak samo jak inne uniksowe systemy plików:

  • przechowuje atrybuty POSIX: uprawnienia, czasy dostępu i modyfikacji
  • posiada hierarchiczną strukturę: drzewo katalogów
  • obsługuje pliki specjalne: blokowe, urządzenia znakowe, gniazda i potoki (ang. pipes)
  • linki symboliczne: nazwy plików mogą wskazywać na pliki docelowe, które niekoniecznie znajdują się na MooseFS
  • hard linki: różne nazwy plików, które odnoszą się do tych samych danych na MooseFS

Możliwe jest również ograniczenie dostępu do systemu plików na podstawie adresu IP i/lub hasła.

Ponadto MooseFS obsługuje następujące mechanizmy, wyróżniające go wśród innych rozproszonych systemów plików:

  • Locki (POSIX locks, flocks).
  • Quoty "projektowe" (per katalog).
  • Kosz z modyfikowalnym (per plik, per katalog, per poddrzewo) czasem przetrzymywania w nim plików.
  • Atomowe snapshot'y poddrzew, z zastosowaniem metody copy-on-write.
  • Rozszerzanie dostępnego miejsca odbywa się przez podłączenie nowego node'a (chunkserver'a), nie są konieczne dodatkowe akcje.

Architektura

MooseFS jest rozszerzeniem takich systemów storage’owych jak Google File System, Lustre lub Ceph. MooseFS składa się z czterech elementów:

  • Master serwer (serwer zarządzający) – pojedyncza maszyna kierująca całym systemem, przechowuje metadane dla każdego pliku (informacje o rozmiarze, atrybutach i lokalizacji pliku, uwzględniając wszystkie informacje dotyczące nieregularnych plików, takich jak: blokowe, urządzenia znakowe, gniazda i potoki).
  • Chunk serwery – dowolna liczba serwerów przechowująca pliki z danymi i synchronizująca całość ze sobą (jeśli niektóre pliki powinny istnieć w więcej niż w jednej kopii).
  • Metalogger serwery – dowolna liczba serwerów, wszystkie z nich przechowują changelog metadanych oraz okresowe pobierają plik metadanych; te serwery mogą przyjąć rolę Master serwera kiedy Master przestanie pracować.
  • Klient – dowolna liczba komputerów używających procesu MooseFS do komunikacji z zarządzającym serwerem (otrzymuje i zmienia pliki z metadanymi) i z chunkserwerami (wymienia się aktualnymi danymi).

Dodatkowe funkcje w MooseFS

  • Monitoring – pozwala na wygodny podgląd pracy całego systemu, jest dostępny przez przeglądarkę internetową. Interfejs ma formę wykresów, na których umieszczone są takie informacje jak: stan dysków/błędy dysków zużycie zasobów serwerów stan replikacji danych wydajność systemu.
  • Przezroczysty kosz – dane umieszczone w koszu są przechowywane na czas ustalony przez użytkownika i dopiero po jego upływie są fizycznie usuwane.
  • Replikacja – każdy plik posiada atrybut o nazwie goal informuje on system w ilu kopiach ma być przechowywany dany plik, ta funkcja podnosi bezpieczeństwo danych.
  • Dynamiczna pojemność – węzeł MooseFS można rozszerzać poprzez dołączanie nowych komputerów lub dysków (o różnej ilości i wielkości) które automatycznie integrują się z całą siecią odpowiednimi operacjami kopiowania i usuwania.
  • Spójne snapshoty – fragmenty plików, które użytkownik modyfikuje są bardzo szybko duplikowane.
  • Locki (POSIX locks, flocks)
  • Quoty "projektowe" (per katalog)

MooseFS w liczbach

  • Maksymalny rozmiar storage’u: 264 bajtów = 16 eksbibajtów = 16384 pebibajtów
  • Maksymalny rozmiar pojedynczego pliku: 257 bajtów = 128 pebibajtów
  • Maksymalna liczba plików w jednej instancji MooseFS: 231 = ponad 2,1 miliarda (wersje 2.0.x i 3.0.x) / 229 = ponad 536 milionów (wersja 1.6.x)
  • Liczba aktywnych połączeń klientów jest nieograniczona i zależy od liczby deskryptorów plików w systemie.

Użytkownicy, ciekawostki

MooseFS ma użytkowników na całym świecie. W Polsce od 2008 roku jest używany przez ipla – interaktywną telewizję internetową i serwis świadczący usługi filmów na życzenie.

Gemius SA – przedsiębiorstwo, które zajmuje się badaniem rynku internetowego – używa MooseFS od początku powstania, czyli od 2005 roku.

Przypisy

  1. Contributors to moosefs/moosefs · GitHub [online], github.com [dostęp 2017-11-15] (ang.).
  2. About – MooseFS [online], moosefs.com [dostęp 2017-11-15] (ang.).
  3. "Date of the first public release: 2008-05-30" https://github.com/moosefs/moosefs/blob/master/README.md
  4. "MooseFS 1.5 (2008-05-30)" https://github.com/moosefs/moosefs/blob/master/NEWS
  5. 1 2 Support – documentation, status and best practices – MooseFS [online] (ang.).
  6. 1 2 moosefs/NEWS at master · moosefs/moosefs [online] (ang.).
  7. 1 2 Releases · moosefs/moosefs [online] (ang.).
  8. "We also successfully compiled MooseFS from sources on OpenIndiana Hipster." https://moosefs.com/download.html
  9. Bob, MooseFS - Open source, fault tolerant, highly available, network distributed file system [online], moosefs.com [dostęp 2017-04-10].
  10. OpenNebula shared storage with MooseFS – OpenNebula
  11. About – MooseFS [online], moosefs.com [dostęp 2017-11-15] (ang.).
  12. Opis architektury MooseFS znajduje się na http://www.moosefs.org/
  13. Download – MooseFS [online], www.moosefs.org [dostęp 2017-11-15] [zarchiwizowane z adresu 2012-03-17] (ang.).
  14. MooseFS Factsheet [online], moosefs.com [dostęp 2017-11-15].
  15. MooseFS – Open source, fault tolerant, highly available, network distributed file system [online], www.moosefs.org [dostęp 2017-11-25] [zarchiwizowane z adresu 2012-04-24] (ang.).
  16. 1 2 https://moosefs.com/testimonials
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.