Czas czytania: 4 min

Zgodnie z definicją klaster komputerowy to grupa jednostek połączonych ze sobą. Ma to na celu możliwość udostępniania w zasadzie jednego środowiska na które składa sie wiele maszyn.

Od zawsze chciałem mieć swój własny klaster – tak jak dzieci marzą o tym żeby być pielęgniarką, policjantem czy strażakiem jak chciałem być operatorem superkomputera 🙂 W końcu sobie go wybudowałem i wykorzystuje w codziennej pracy.

srodowisko które mamy to w zsadzie dwa klastry:

  • Jeden to klaster oparty na proxmox składający sie z 10 nodów
  • Drugi to bezdyskowy klaster typo BeoWolf

Klaster komputerowy Proxmox

To klaster zbudowany w celu jak najprostszego zarządzania 40 maszynami wirtualnymi (parawirtualizacja LXC) które wykorzystujemy na potrzeby projektu Blinked i parsowania danych dla SEO. Ponieważ crawle serwisów, sprawdzanie ich paramtetrów dla kiludziesięciu serwisów odbywa sie w trybie ciągłbym potrzeba zbudowania klastra w którym łatwo zarządzałoby się kontenerami była bardzo uzasadniona.

Klaster komputerowy
Klaster komputerowy PROXMOX

Parametry sprzętowe

  • Łącznie mamy do dyspozycji 10 nodów opartych na krótkich serwerach dell R210
  • Mamy do dyspozycji 64 wątki
  • RAM: w zależności od czasu od 96 do 320 GB
  • Pamięc dyskowa: 10 TB na zamych serwerach + zeewnetrzne storage

Parametry na dziejsze czasy nie są może porywające bo są juz koputery osobiste które maja więcej wątków, więcej ramu i więcej pamięci dyskowej natomiast najwazniejszą kwestią tutaj jest to że jednak operacje odbywają się na wielu maszynach. W przypadku jednej mocnej maszyny mogłaby sobie na nie poradzić z tak duża liczbą wątków.

Wazne też było w tym projekcie to żeby klaster był w miarę mobilny dlatego jest zbudowany na bazie szafy technicznej oraz dość energooszczędny. Te dwie rzeczy udało się pogodzić dzięki wspomnianej szafie, energooszczędnymi serwerami DELL oraz zarządzaniu włączaniem i wyłączaniem nodów. Poprzez proxmox i skrypty cały klaster potrafi chodzić mając włączonego jednego noda (bez kworum) co wymagało dość sporej gimnastyki z corsync ale z drugiej strony pozwala ma bardzo duże oczędności energii. Gdy nie ma potrzeby dużej mocy olbiczeniowej zadania realizuje jeden nody w klastrze, gdy zwiększa się obciążenie włączane są kolejne nody. Tak samo maszyny backupowe włączane są automatycznie tylko podczas tworzenia backupów

Do czego wykorzystujemy klaster PROXMOX

Tak jak wcześniej było napisane wykrzystujemy nasz klaster na potrzeby SEO (crawlowania serwisów), parsowania danych, wyciągania danych z róznych API, łączenia ich ze sobą.

Możliwości wykorzystania tego klastra komputerowego w zasadzie ogranicza tylko wyobraźnia

Klaster BeoWulf

O tym klastrze komputerowym był już artykuł na blogu: Moj własny diskless klaster typu beowulf. Jest to klaster diskless (nie posiada dysków – cały system ładowany jest przez sieć z klastra PROXMOX) typu BeoWulf. Klaster BeoWulf to nic innego jak klaster zbudowany z nastawieniem na jak największą moc obliczeniową zrobioną jak najniższym kosztem. Zamiast kupować kolejne nody i wydawać na nie majątek dosć fajny efekt można uzyskać wykorzystując starsze koputery w duzych ilościach.

Do niedawna nasz BeoWulf wyglądał tak:

Klaster uruchomiony
Klaster Beowulf

Składał sie głównie z nodów Fujistu Siemens każdy z potężnym jednocorowym P4 3Ghz z HT i 4 GB RAM. Przy odpowniednio przykrojonej dystrbujci Linuxa (debian 9), braku dysków ten zestaw świetnie nadawał się do przetwarzania małych porcji danych w dużej ilości równocześnie.

Teraz jest w trakcie przbudowy i na ten czas wszystkie komputery w biurze mogą bootować z LAN i być częścią klastra BeoWulf ale już w krótce pojawi się jego zodyfikowana wersja bazująca na procesorach Intel i3 i Intel i5 o czym oczywiście będzie wpis na blogu

Artykuły o klastrach