După ce am analizat costurile pe termen lung, mi-am dat seama că este mult mai rentabil să construiesc un server pentru proiectele mele, cum este 3CHEAPS, în loc să plătesc 40 euro/lună pentru chiria unui server la Hetzner. Fratele meu, Adi, m-a ajutat pe parcursul procesului de asamblare și configurare. În acest articol, vă voi povesti despre experiența de la achiziția componentelor până la configurarea finală a serverului, inclusiv provocările întâmpinate și soluțiile găsite.
Alegerea și Asamblarea Componentelor

Placa de bază și procesoarele
Am ales o placă de bază X99-ZX DU99D4, care mi-a permis să montez două procesoare Intel Xeon E5-2682v4. Fiecare dintre aceste procesoare are 16 nuclee și 32 de fire de execuție, oferind un total de 64 de threads – o putere de procesare impresionantă pentru orice tip de sarcină intensivă.

0[ 0.0%] 4[ 0.0%] 8[ 0.0%] 12[ 0.0%] 16[ 0.0%] 20[ 0.0%] 24[ 0.0%] 28[ 0.0%] 32[ 0.0%] 36[ 0.0%] 40[ 0.0%] 44[ 0.0%] 48[ 0.0%] 52[ 0.0%] 56[ 0.0%] 60[ 0.0%] 1[ 0.0%] 5[ 0.0%] 9[ 0.0%] 13[ 0.0%] 17[ 0.0%] 21[ 0.0%] 25[|100.0%] 29[ 0.0%] 33[ 0.0%] 37[ 0.0%] 41[ 0.0%] 45[ 0.0%] 49[ 0.0%] 53[ 0.0%] 57[ 0.0%] 61[ 0.0%] 2[ 0.0%] 6[ 0.0%] 10[ 0.0%] 14[ 0.0%] 18[ 0.0%] 22[ 0.0%] 26[ 0.0%] 30[ 0.0%] 34[ 0.0%] 38[ 0.0%] 42[ 0.0%] 46[ 0.0%] 50[ 0.0%] 54[ 0.0%] 58[ 0.0%] 62[ 0.0%] 3[ 0.0%] 7[ 0.0%] 11[ 0.0%] 15[ 0.0%] 19[ 0.0%] 23[ 0.0%] 27[ 0.0%] 31[ 0.0%] 35[ 0.0%] 39[ 0.0%] 43[ 0.0%] 47[ 0.0%] 51[ 0.0%] 55[ 0.0%] 59[ 0.0%] 63[ 0.0%] Mem[|||||||||||||||||||||||||||||||||||||||||| 6.20G/62.7G] Tasks: 82, 676 thr, 591 kthr; 1 running Swp[ 0K/8.00G] Load average: 0.10 0.08 0.06 Uptime: 10 days, 15:53:15
Memorie RAM și Stocare
Am instalat 64GB RAM DDR4 ECC, folosind patru plăcuțe de 16GB fiecare. Pentru stocare, am ales două unități NVMe Kingston PCIe 4.0 M.2 KC3000 de 2TB, care oferă atât viteză ridicată, cât și o capacitate generoasă pentru workload-uri.




Carcasa și adaptările necesare
Pentru acest build, am ales carcasa PCCOOLER C3B310 Black. Aici am întâmpinat o provocare majoră: placa de bază era mult mai mare decât standardul suportat de carcasă. Pentru a putea fixa placa de bază, a trebuit să dăm alte găuri și să introducem threaded inserts pentru a o prinde corect în șuruburi.

Această modificare a dus la o altă problemă: slotul PCI Express pe care trebuia să montăm placa video nu mai era aliniat cu orificiile standard ale carcasei pentru porturile plăcii de bază. Din această cauză, a trebuit să tăiem din carcasa PC-ului pentru a face loc pentru acest port.


Provocări cu sursa de alimentare
Inițial, am comandat o sursă Segotep de 550W, dar, din păcate, am primit una de 250W, insuficientă pentru cerințe. Am cumpărat apoi Segotep SG-600A Netzteil, 500W, PFC Active, 80 PLUS, însă aceasta nu avea doi conectori ESP pentru alimentarea celor două procesoare. Aici a intervenit Adi, care a improvizat un hack ingenios: a transformat un conector SATA într-un conector ESP, rezolvând astfel problema alimentării procesoarelor.



Protecție și stabilitate
Pentru a proteja serverul de întreruperi de curent și fluctuații de tensiune, am achiziționat și un UPS de 600VA/360W, echipat cu o baterie de 7Ah, două prize Schuko, ecran LCD și conexiune USB, produs de Breckner Germany.



Instalarea și Configurarea Software
Instalarea Ubuntu Server
După ce m-am asigurat că toate componentele funcționează corect, am instalat Ubuntu Server ca sistem de operare, datorită stabilității și flexibilității sale în gestionarea serviciilor de server.
Configurarea RAID-1 pentru NVMe
Pentru a maximiza viteza de acces la date, am configurat cele două NVMe-uri în RAID-1 folosind mdadm, soluția software RAID oferită de Ubuntu Server. Aceasta oferă atât o performanță ridicată, cât și o formă de protecție a datelor.

Instalarea și configurarea serviciilor
Pentru gestionarea containerelor, am instalat Portainer, un tool web ușor de utilizat pentru administrarea Docker. Apoi, am început să rulez diverse servicii esențiale pentru proiecte, printre care:
- Solr – motor de căutare performant
- NiFi – procesare și automatizare a fluxurilor de date
- MongoDB și MariaDB – baze de date NoSQL și SQL
- Jenkins – automatizare CI/CD
- PHP-FPM, GIT, Apache2 – necesare pentru dezvoltarea web și versionarea codului
Concluzie
Construirea acestui server de la zero a fost o experiență plină de provocări, dar și foarte satisfăcătoare. De la improvizația cu conectorul ESP și modificările aduse carcasei, până la optimizarea RAID-ului, fiecare pas a adus lecții valoroase. Acum serverul este complet funcțional și gata să susțină proiectele pentru care a fost construit!
Dacă ai întrebări sau vrei să împărtășești propria ta experiență de asamblare a unui server, lasă un comentariu!