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.
ubuntu
storage
cloud-computing
Wesoły
źródło
źródło
Odpowiedzi:
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.
źródło
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.
źródło
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.
źródło
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ć.
źródło
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.
źródło
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ć.
źródło
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.
źródło
XtreemFS może być rozwiązaniem dla Ciebie. Jest dość prosty w instalacji i konfiguracji, istnieją również pakiety dla Ubuntu.
źródło
MooseFS (Distributed File System) pasuje do twoich wymagań. Jest skalowalny i działa dobrze na Ubuntu. Przydatne może być także sprawdzenie, jak zainstalować / zaktualizować MooseFS z oficjalnie obsługiwanego repozytorium na Ubuntu .
źródło
Nie jestem pewien, co robisz, ale brzmi to jak potencjalnie interesująca aplikacja dla CouchDB .
źródło
Możesz spróbować PVFS2 . Jest o wiele łatwiejszy w konfiguracji niż Luster i ogólnie szybszy niż Gluster.
źródło