Który rozproszony system plików jako backend dla Cloud Computing?

11

Mam podstawową chmurę działającą na Ubuntu Server (9.04) i Eucalyptus. Walrus (implementacja S3 kompatybilna z interfejsem API Eucalyptus) przechowuje pliki na kontrolerze w chmurze. Jednak każdy z pozostałych 4 serwerów ma pamięć 1 TB, która jest w dużej mierze nieużywana. Szukam sposobu na połączenie całej pamięci razem, aby wykorzystać wszystkie dostępne zasoby. Spoglądałem na różne opcje, w tym PVFS, Luster, HDFS (Hadoop).

Moje jedyne wymagania to to, że musi być skalowalny i że działa dobrze na Ubuntu. Byłbym wdzięczny za kontakt od każdego, kto ma doświadczenie w takich technologiach i czekam na Wasze sugestie.

Wesoły
źródło
Gdyby to nie był Ubuntu, powiedziałbym, że ZFS.
Brad Gilbert
3
Tyle że ZFS nie jest klastrowym systemem plików.
MarkR

Odpowiedzi:

5

Chociaż nie wdrożyłem go osobiście nigdzie w naszych systemach, dość intensywnie przyglądałem się Glusterowi . Znam kilka osób w niektórych dużych witrynach, które korzystają z tego i najwyraźniej działa to naprawdę dobrze. Używają go w produkcji do niektórych ciężkich zastosowań HPC.

Kamil Kisiel
źródło
2

GlusterFS wydaje mi się idealnym rozwiązaniem. Facetowi, który twierdzi, że Gluster wymaga wiele wysiłku, muszę powiedzieć, że prawdopodobnie nigdy nie próbował. Począwszy od wersji Gluster 3.2 narzędzia konfiguracyjne są całkiem niesamowite i potrzeba 2 lub 3 poleceń, aby zwiększyć głośność gluster i udostępnić je w sieci. Montaż woluminów gluster jest równie prosty.

Zaletą jest to, że daje także znacznie większą elastyczność niż NFS. Wykonuje stripowanie, relację, georeplikację, jest oczywiście zgodny z POSIX i tak dalej. Istnieje rozszerzenie o nazwie HekaFS, które dodaje także SSL i bardziej zaawansowane mechanizmy uwierzytelniania, co prawdopodobnie jest interesujące w przypadku przetwarzania w chmurze. Również skaluje się! Jest to F / OSS i jest rozwijany przez RedHat, który niedawno kupił Gluster.

juwi
źródło
1

Czy kiedykolwiek widziałeś mogileFS? http://danga.com/mogilefs/

Nie jest to system plików w tradycyjnym sensie, ale dobrze nadaje się do dystrybucji danych plików w klastrze (z uwzględnieniem replikacji i nadmiarowości).

Jeśli serwujesz pliki dla aplikacji internetowej, będziesz potrzebować czegoś do obsługi plików. Sugerowałbym skrypt PHP, który wykorzystuje żądanie HTTP jako klucz wyszukiwania do znalezienia żądanego pliku w potężnym FS. Następnie możesz odczytać zawartość pliku do bufora i wykonać echo / wydrukować.

MogileFS jest już dość szybki, ale możesz połączyć mogileFS z memcache, aby przyspieszyć dostęp do najczęściej używanych plików.

Shaun Kruger
źródło
Wydaje mi się, że MogileFS miał jeden punkt awarii, w przypadku węzła metadanych. HDFS ma podobny problem.
David Pashley,
MogileFS wydaje się dość interesujący, a jego replikacja i redundancja są idealne, jednak wydaje się, że nie nadaje się do ogólnego użytku, ponieważ aplikacje muszą mieć świadomość, że na nim działają. Bardziej tradycyjny byłby bardziej tradycyjny system plików, w którym aplikacje mogą być niezależne od FS.
Jaunty,
1
MogileFS może mieć uruchomionych kilka modułów śledzących, a ty możesz mieć awaryjne przełączanie mysql w wewnętrznej bazie danych. W ten sposób możesz usunąć wszystkie pojedyncze punkty awarii.
davidsheldon
1

Z Lusterem musisz mieć specjalne jądro na serwerach, a ja bym tylko serwery były serwerami i niczym więcej.

O dziwo najbardziej rozsądną odpowiedzią jest NFS. Użyliśmy NFS w chmurze Amazon. Może nie skalować się tak dobrze, jak niektóre systemy plików, ale prostota nie powinna mnie przeoczyć. Pojedyncza przestrzeń nazw prawdopodobnie nie jest warta wysiłku, jaki trzeba by wdrożyć.

James
źródło
1

Nadal patrzysz na HDFS? Jeden z facetów z Cloudera wygłosił w tym roku wykład na VelocityConf na temat Hadoop, a HDFS koncentrował się na zarządzaniu klastrami dużych zbiorów danych, więc mówił dużo o HDFS. Slajdy są bardzo pouczające. Nie pracowałem osobiście z HDFS, ale rozmawiałem z kilkoma przypadkowymi ludźmi w Velocity, którzy używają go na Ubuntu do różnych analiz danych.

jtimberman
źródło
1

Umieszczenie pewnego rodzaju współdzielonego systemu plików za środowiskiem wirtualizacji jest dość powszechne. Masz wiele możliwości, w zależności od tego, co chcesz osiągnąć.

Najprostszym rozwiązaniem jest prawdopodobnie NFS, ponieważ będzie on obsługiwany natywnie przez każdą uruchomioną dystrybucję. NFS może dość dobrze działać jako system plików zaplecza virtualzation, chociaż nie będzie to najszybsza rzecz na rynku.

Jeśli korzystasz z klastra RedHat (lub pochodnej), będziesz mieć dobrą, gotową do użycia obsługę GFS2, systemu plików klastra RedHat. Nie skaluje się do setek węzłów, ale jest odpowiedni dla mniejszych klastrów.

Poza tym zaczynasz wchodzić w zakres rzeczy takich jak Luster, Glusterfs, GPFS i tak dalej. Są to wszystkie wysokowydajne równoległe systemy plików, ale ich konfiguracja wymaga znacznie więcej pracy niż w przypadku innych opcji tutaj. Jeśli masz duże środowisko, warto na nie spojrzeć.

Larsks
źródło
1

zgodziłbym się z @larsks, że NFS jest najlepszą opcją; skonfiguruj niektóre obiekty docelowe iSCSI, NFS, gotowe. spowoduje to skalowanie do około 5-10 węzłów; YMMV w oparciu o I / O, możliwości sieciowe itp. (Alternatywnie skonfiguruj iSCSI z obsługą wielu ścieżek I / O).

Jeśli potrzebujesz czegoś o ponad 20 węzłach, możesz zbadać Ceph . Luster jest obiecujący i stabilny, ale jest produktem Oracle (F / OSS) i osobiście nie lubię Oracle. :)

Ceph jest również dość aktywny; najnowsze wydanie było 5 dni temu.

Brent Saner
źródło
Połysk nie jest już pod parasolem Wyroczni. Zobacz whamcloud.com
utopiabound
1

XtreemFS może być rozwiązaniem dla Ciebie. Jest dość prosty w instalacji i konfiguracji, istnieją również pakiety dla Ubuntu.

blong
źródło
0

Nie jestem pewien, co robisz, ale brzmi to jak potencjalnie interesująca aplikacja dla CouchDB .

duffbeer703
źródło
0

Możesz spróbować PVFS2 . Jest o wiele łatwiejszy w konfiguracji niż Luster i ogólnie szybszy niż Gluster.

wazoox
źródło
szybciej niż Gluster? czy możesz udostępnić jakieś dane dotyczące wydajności?
John-ZFS
Nie mam pod ręką ostatnich testów porównawczych. W 2008 roku Gluster był znacznie wolniejszy niż Luster, podczas gdy PVFS2 był tylko nieco wolniejszy. W dzisiejszych czasach może być inaczej, może to zrobię.
wazoox 15.01.11
dziękuję, jeśli wykonasz test porównawczy, daj mi znać. [email protected] lub możesz napisać post o błędzie serwera dla korzyści dla wszystkich
John-ZFS