Moose File System
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[9]. 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ą[10].
Logo programu | |
Autor | Jakub Kruszona-Zawadzki[1] / Core Technology[2] |
---|---|
Pierwsze wydanie | 30 maja 2008; ponad 16 lat temu[4] (v. 1.5.0[5]) |
Aktualna wersja stabilna | 4.56.6[6][7][8] / 23 września 2024; ponad 2 miesiące temu |
Aktualna wersja testowa | 4.56.6[6][7][8] / 23 września 2024; ponad 2 miesiące temu |
Język programowania | C |
System operacyjny | Linux, Solaris, macOS, FreeBSD, NetBSD, OpenIndiana[3] |
Rodzaj | Rozproszony system plików |
Licencja | GPL v2 / własnościowa |
Strona internetowa |
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[2]:
- 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 (chunkservera), nie są konieczne dodatkowe akcje.
MooseFS jest rozszerzeniem systemów storage’owych, takich 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 okresowo 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).
- 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ą informacje, takie 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)
- 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
edytujMooseFS ma użytkowników na całym świecie[14].
W Polsce od 2008 roku jest używany przez ipla – interaktywną telewizję internetową i serwis świadczący usługi filmów na życzenie[15].
Gemius SA – przedsiębiorstwo, które zajmuje się badaniem rynku internetowego, używa MooseFS od początku powstania, czyli od 2005 roku[15].
Przypisy
edytuj- ↑ Contributors to moosefs/moosefs [online], github.com [dostęp 2017-11-15] (ang.).
- ↑ a b About – MooseFS [online], moosefs.com [dostęp 2017-11-15] (ang.).
- ↑ "We also successfully compiled MooseFS from sources on OpenIndiana Hipster." https://moosefs.com/download.html
- ↑ "Date of the first public release: 2008-05-30" https://github.com/moosefs/moosefs/blob/master/README.md
- ↑ "MooseFS 1.5 (2008-05-30)" https://github.com/moosefs/moosefs/blob/master/NEWS
- ↑ a b Support – documentation, status and best practices – MooseFS [online] (ang.).
- ↑ a b moosefs/NEWS at master · moosefs/moosefs [online] (ang.).
- ↑ a b Releases · moosefs/moosefs [online] (ang.).
- ↑ Bob, MooseFS - Open source, fault tolerant, highly available, network distributed file system [online], moosefs.com [dostęp 2017-04-10] .
- ↑ OpenNebula shared storage with MooseFS – OpenNebula
- ↑ Opis architektury MooseFS znajduje się na http://www.moosefs.org/
- ↑ Download – MooseFS [online], www.moosefs.org [dostęp 2017-11-15] [zarchiwizowane z adresu 2012-03-17] (ang.).
- ↑ MooseFS Factsheet [online], moosefs.com [dostęp 2017-11-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.).
- ↑ a b https://moosefs.com/testimonials