Biztosan te is őrizgetsz otthon néhány olyan gépet, amik már nem elég gyorsak a modern böngészőknek, vagy csak egyszerűen lecserélted őket egy újabbra. Ott porosodnak a szekrény aljában, miközben bőven maradt bennük annyi szufla, amivel egy komolyabb feladatot is elláthatnának. Nekem is volt három ilyen laptopom, és úgy döntöttem, hogy nem az e-hulladékot gyarapítom velük, hanem összekötöm őket egyetlen, elosztott számítási kapacitású otthoni szuperszámítógéppé. Saját fejlesztésű, elosztott számítási kapacitású "otthoni szuperszámítógép": Így kösd össze a fiókban heverő régi laptopjaidat egyetlen, Docker-alapú fürtbe. Nemcsak jó móka, de rengeteget tanulhatsz a konténerizációról és a valódi hálózati architektúrákról közben.
Sokan azt gondolják, hogy szervereket építeni csak drága hardverekkel, 19 colos rack szekrényekben lehet. Az igazság az, hogy a mai szoftverek, mint a Docker és a hozzá kapcsolódó vezérlők, pont arra találták ki, hogy a gyengébb erőforrásokat összeadva egyetlen, megbízható rendszerként kezeljék.
Nem kell bonyolult dolgokra gondolni, de azért pár alapfeltételnek meg kell felelni. A lényeg, hogy a gépek stabilan kapcsolódjanak a hálózathoz, lehetőleg kábellel, ne Wi-Fi-vel, mert az elosztott rendszereknél a sávszélesség és a késleltetés a legfontosabb szempont.
A Docker önmagában még csak konténereket futtat. Ahhoz, hogy ezek a gépek egységes szuperszámítógépként viselkedjenek, szükségünk lesz a Docker Swarm technológiára. Ez egy beépített eszköz a Dockerben, amivel a több gépből álló fürtöt egyetlen virtuális gépként kezelheted.
A folyamat során az egyik laptopod lesz a vezérlő (Manager node), a többiek pedig a végrehajtók (Worker nodes). A Manager adja ki a feladatokat, a Workerek pedig elvégzik a piszkos munkát.
docker node ls paranccsal, hogy a fürt minden tagja aktív-e.Miután összeállt a rendszer, jöhet a szórakoztató rész. Milyen feladatokra érdemes használni ezt a "szörnyeteg" laptop-halmot?
Bár izgalmas a kísérletezés, érdemes észnél lenni, ha fontos adatokat bízol a fürtre. A régi laptopok akkumulátora például egy időzített bomba lehet, ha állandóan töltőn tartod őket. Érdemes lehet kiszerelni az akkukat, ha a laptopok képesek azok nélkül is működni.
Amikor egy alkalmazást a fürtre küldesz, a Docker automatikusan elosztja a konténereket a rendelkezésre álló gépek között. Ez az úgynevezett terheléselosztás. Ha az egyik laptopod váratlanul lemerül vagy túlmelegszik, a rendszer képes átirányítani a feladatokat egy másik gépre. Ez adja meg a valódi szuperszámítógép érzést, hiszen a rendszer nem dől össze egy hardverhiba esetén sem.
replicas beállítással adhatod meg, hány példány fusson egyszerre.A saját fürt építése egy olyan tudást ad, amit nem kapsz meg egyetlen gép használatával sem. Megérted, hogyan kommunikálnak egymással a folyamatok egy hálózaton, milyen problémákat okoz a késleltetés, és hogyan lehet a szoftveres redundanciával áthidalni a hardveres hiányosságokat. Lehet, hogy nem ez lesz a világ leggyorsabb gépe a szuperszámítógépek ranglistáján, de a te saját, személyre szabott rendszered lesz. Amikor pedig látod a terminálban, hogy három különböző eszközön futnak a konténerek a te vezényleted alatt, az minden befektetett órát megér. Ne várj tovább, kapd elő azokat a laptopokat, és építsd meg a saját kis digitális birodalmadat a nappaliban.