Jak skonfigurować klaster pulpitu „biedaka” dla Linuksa?


12

Na rynku dostępnych jest kilka małych urządzeń z systemem Linux / Android z procesorem ARM 1 GHz, 512 MB pamięci RAM i cca. 4 GB pamięci za 35-40 USD. Jeśli kupię 5 sztuk, to tylko około 200 USD.

Powiedzmy, że mamy ich 5-10 sztuk i rozwiązaliśmy podstawowe rzeczy, np. Uruchamiają one niezbyt rzadką dystrybucję Linuksa (powiedzmy Debian), mamy dostęp do roota i są podłączeni do sieci lokalnej, z adresem IP. Tak więc wszystko jest gotowe do utworzenia klastra (myślę).

Mamy komputer stacjonarny lub notebook (ok. 2 GHz procesor x86, 1-2 GB pamięci RAM, kilka GB miejsca na dysku HDD / SSD), który również obsługuje standardową dystrybucję Linuksa. Ma klawiaturę, mysz, monitor, chcemy go wykorzystać jako „frontend” klastra.

Pytanie brzmi zatem: jaki jest najłatwiejszy sposób wykorzystania mocy kilku małych komputerów z komputerem stacjonarnym?

Programy stacjonarne nie są zaprojektowane do pracy w tym środowisku, więc nie chcę konfigurować prawdziwego klastra, projekt polega na wypchnięciu niektórych zadań z komputera stacjonarnego / netbooka i udostępnieniu go tak optymalnie, jak to możliwe wśród małych .

Powiedz, że powinienem uruchomić przeglądarkę na małym komputerze, używając X11, nie zje to pamięci mojego komputera stacjonarnego. Jeśli mam otwartych wiele stron, mogę uruchomić kolejną na innym małym komputerze.

Mogę również uruchomić mój edytor tekstu na małym komputerze, muszę tylko udostępnić folder, nad którym pracuję. Ma mały problem: używam Geany i uruchamiam kompilator naciskając F8, więc mała maszyna powinna uruchomić kompilator na komputerze stacjonarnym. Nie mam nic przeciwko, jeśli będę musiał napisać dla niego mały skrypt.

Jaka jest twoja rada?

Odpowiedzi:


5

Podejście, które działa dla mnie całkiem dobrze ...

  • Podłącz jeden z przestarzałych monitorów leżących „na wszelki wypadek” do każdego z małych komputerów ( RaspberryPi itp.).

  • Uruchom mały, szybki system operacyjny oparty na pamięci RAM, taki jak Puppy Linux (zobacz, jak to działa) na każdym komputerze.

  • Skonfiguruj SSH bez hasła (wstępna dystrybucja hasła) między wszystkimi komputerami.

  • Zainstaluj oprogramowanie KVM , takie jak Synergy, na każdym komputerze, uruchamiając „serwer” na komputerze za pomocą klawiatury i myszy. Pozostali będą „klientami”. Opcjonalnie można także uruchomić Synergy przez SSH dla większego bezpieczeństwa.

  • Użyj bezpiecznika SSHFS (preferowany) lub NFS, aby zamontować urządzenia pamięci masowej podczas rozruchu.

  • Możesz także skonfigurować uruchamianie w sieci (PXE itp.).

Teraz masz własną konsolę wielomonitorową!

Dzięki dramatycznemu wzrostowi rozmiaru widocznego pulpitu, 2,5-7 GB pamięci RAM i 6-11 „rdzeni” możesz uruchomić wiele przeglądarek (uważam, że Chromium jest najłatwiejszy w korzystaniu z zasobów), dzięki czemu możesz zobaczyć wiele stron od razu, gdy przeglądasz składnię poleceń i przeprowadzasz inne badania podczas programowania lub pisania.


3

Jestem trochę zdezorientowany, co dokładnie chcesz zrobić w swoim klastrze. Brzmi trochę tak, jakbyś chciał tylko uruchamiać programy i uruchamiać je na różnych urządzeniach. W takim przypadku SSH / X-forwarding / NFS powinien zrobić wszystko dobrze.

IMHO tak naprawdę nie ma to nic wspólnego z klastrowaniem, to po prostu zdalne sterowanie różnymi maszynami. Naprawdę muszę jednak zadać jedno pytanie. Dlaczego cały ten kłopot kolego? Za 400 USD możesz teraz zbudować bestię na komputerze z dużą ilością pamięci do uruchamiania aplikacji komputerowych :)


1

Wygląda na to, że szukasz czegoś w rodzaju gromady Beowulfa .

Jest to klaster opracowany do obliczeń równoległych na wielu „polach”.


1
spróbuj przeczytać część „co nie może zrobić klaster beowulf” opublikowanego linku. po przeczytaniu jego postu nie wydaje mi się, żeby szukał go beowulf :)
JustDanyul
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.