Moose File System
Logo programu | |
| Autor | Jakub Kruszona-Zawadzki[1] / Core Technology[2] |
|---|---|
| Pierwsze wydanie | 30 maja 2008; około 18 lat temu[4] (v. 1.5.0[5]) |
| Aktualna wersja stabilna | 4.59.2[6][7][8] / 18 maja 2026; około 3 miesiące temu |
| Aktualna wersja testowa | 4.59.2[6][7][8] / 18 maja 2026; około 3 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 | |
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].
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.
Architektura[11]
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).
Dodatkowe funkcje w MooseFS[12]
- 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)
MooseFS w liczbach[13]
- 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
MooseFS 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
- ↑ 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
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.