publicat de Oliver pe 06.09.202106.09.2021
software-ul și datele importante de auto-găzduire pe propriul server de acasă au o mulțime de avantaje, dar pot fi o sarcină descurajantă pentru a începe. Am rulat propriul meu server de câțiva ani și voi descrie alegerile din hardware și software aici. Acesta va fi un ghid complet despre cum să vă configurați propriul server mic.
de ce ar trebui să vă construiți propriul server?
în unele cazuri nu ar trebui. Unele servicii foarte costisitoare, specializate sau greu de configurat (cum ar fi e-mailul) ar putea fi de fapt mai bune cu un furnizor extern. Dacă utilizați serviciile dvs. foarte rar sau nu sunteți deloc dispuși să vă scufundați în unele dintre cunoștințele necesare pentru găzduire, acest lucru ar putea, de asemenea, să nu fie locul potrivit pentru dvs.
nu vă speriați, totuși, software-ul de găzduire pe cont propriu nu a fost niciodată la fel de simplu ca astăzi și vine cu o mulțime de avantaje. Poate cel mai important te face un pic mai independent. Giganții tehnologici nu au un timp atât de ușor pentru a obține datele dvs., iar unele probleme în cloud sau cu furnizorul dvs. de Internet nu vă împiedică să accesați datele și serviciile (local).
într-un moment în care serviciile controlează părți din ce în ce mai importante din viața ta (cum ar fi un sistem inteligent de acasă), acest control și independență pot fi de neprețuit. Pe termen lung poate fi chiar mai rentabil pe termen lung. Sigur că cumpărarea de hardware este o investiție, dar găzduirea Terabytes de date în cloud vă va costa mult – pentru totdeauna.
nu în ultimul rând, poate fi un proiect foarte distractiv care vă ajută să învățați multe despre tehnologie și sunteți întotdeauna liberi să încercați software nou. Există atât de mult open source & software liber acolo!
ce vrei să faci cu serverul tău?
înainte de a construi ceva, este important să vă întrebați: ce intenționez să fac cu acest server? Dacă doriți să găzduiți doar câteva servicii mici la nivel local, fără prea multe date, rezultatul va arăta foarte diferit de un server de stocare complet.
dacă aveți nevoie doar de servicii locale, vă recomand în majoritatea cazurilor să obțineți un Raspberry Pi mai nou și, eventual, un SSD extern pentru date. Sunt ieftine, eficiente din punct de vedere energetic și ușor de configurat. Am descris micul meu server inteligent de acasă și hub bazat pe Raspberry Pi 4 în profunzime în acest articol. Adăugarea unui SSD pentru stocarea de date mici este, de asemenea, destul de ușoară.
dacă sunteți în căutarea unei soluții mai puternice sau aveți nevoie să stocați o mulțime de date, vă recomand să utilizați o altă platformă. Unii oameni folosesc un NAS sau un hardware de server vechi (care poate funcționa foarte bine), dar recomand hardware-ul normal al clienților, cu accent pe unele caracteristici speciale.
- asigurați-vă că aveți o conexiune bună la rețea (1Gbit/s sau poate chiar 10)
- utilizați componente eficiente din punct de vedere energetic și în funcție de locul în care doriți să plasați serverul silențios
- obțineți un procesor suficient de puternic în timp ce nu pierdeți energie în ralanti
- de obicei nu aveți nevoie de o placă grafică
- , acest lucru poate fi destul de important pentru serverul dvs.
- obțineți o placă de bază și o carcasă care poate conține suficiente HDD-uri & SSD-uri pentru stocare și are o răcire bună
- obțineți suporturi de stocare de calitate. Am folosit mult seria WD red (aveți grijă cu versiunile SMR) și am auzit și lucruri bune despre seria Seagate Ironwolf
- asigurați-vă că componentele dvs. sunt răcite corect și că totul este conectat suficient de bine. Veți dori ca acest lucru să fie construit & uitați
- obțineți un adaptor de alimentare de calitate!
- mi-ar evita personal controlere RAID hardware
dacă sunteți în căutarea de a construi un server de acasă ia în considerare cumpărarea prin intermediul acestor link-uri afiliate pentru a sprijini blog-ul
Western Digital Red Plus series
Seagate Ironwolf Series
Raspberry Pi 4 8GB pentru un server mai mic
editorul German Heise are unele articole de mare pe construirea propriul server. Puteți găsi, de asemenea, o mulțime de articole internaționale despre acest lucru. Învățarea mea personală după construirea mai multor versiuni ale serverului este de a planifica întotdeauna ceea ce aveți nevoie chiar acum și în viitorul foarte apropiat. Nu construiți pentru ceva ce ați putea avea nevoie în 10 ani. Până atunci va fi disponibil un hardware mai bun. Singura excepție de la acest lucru ar putea fi de stocare. Este întotdeauna o idee bună să aveți câteva porturi SATA rămase, astfel încât să puteți adăuga mai mult spațiu de stocare mai târziu.
stiva de software
există o mulțime de software-ul acolo făcut pentru servere și fiecare alegere va depinde de preferințele dumneavoastră și de caz de utilizare. Următoarea este opinia mea personală după câțiva ani de lucru pe această problemă în timpul meu liber.
în primul rând, să începem cu ceea ce nu aș folosi pe un server: Windows. Upgrade-uri sunt greu, o mulțime de software-ul nu este acceptat în mod corespunzător și este scump. În schimb, mergeți cu o soluție Unix / Linux. Există soluții complete pentru acest lucru, cum ar fi FreeNAS, OpenMediaVault sau Unraid, dar Unraid costă bani, iar celelalte soluții restricționează, de asemenea, ceea ce puteți face. Ar putea fi o alegere bună pentru dvs., dar am decis să merg pe traseul DIY și să-mi construiesc propria soluție bazată pe tehnologie dovedită.
serverul meu de acasă rulează pe un sistem de operare minim Ubuntu server (o versiune LTS) cu acces SSH pentru administrare. Folosesc sistemul de fișiere ZFS pentru a combina unitățile într-un singur bazin de date mare, oferind în același timp funcționalități precum cache-uri, instantanee, RAID și copii de rezervă simple. În acest grup am creat mai multe sisteme de fișiere pentru diferite cazuri de utilizări, unele dintre ele fiind puse la dispoziție prin rețea pentru a fi utilizate de alți clienți. Pe server rulează un daemon Docker și folosesc mai multe fișiere docker-compose pentru a găzdui un set de servicii precum OpenHab, Grafana, Bitwarden/Vaultwarden și Nextcloud. Un proxy invers (Traefik în acest moment) face posibilă accesarea anumitor servicii de oriunde de pe web.
backup-urile externe se fac prin unități suplimentare conectate prin USB și rotite în mod regulat. Câteva scripturi și un monitor de funcționare verifică în mod regulat dacă totul funcționează corect și trimite alarme altfel. Instalarea este în mare parte automatizată și poate fi re-realizată rapid pe hardware nou (dacă datele sunt încă disponibile, desigur).
cum să configurați instalarea automată a serverului
înainte de a configura serverul, am decis să automatizez acest proces. Acest lucru face mai ușor, mai rapid, mai puțin predispus la erori și, de asemenea, acționează ca un fel de documentație. A avea o platformă de bază care poate fi configurată în mod fiabil rapid și ușor este un mare avantaj. În acest fel, orice altceva, datele și serviciile reale, pot fi configurate independent din acest sistem. Dacă vreau fiecare pentru a comuta la altceva ar trebui să fie relativ ușor.
pentru automatizare am ales Ansible. Ansible este un software care vă permite să scrieți așa-numitele playbooks: scripturi scurte care definesc ce pași trebuie făcuți pentru a vă configura serverul. Aceste playbooks pot fi apoi invocate cu o comandă simplă și vor automatiza toți pașii manuali necesari pentru procesul de configurare. Am învățat eu Ansible în timp ce configurați serverul, așa că sunt sigur că playbooks ar putea fi mai bine, dar le voi împărtăși, precum și orice altceva necesar pentru configurarea serverului, prin GitHub în următoarele părți ale acestei serii.
am rulat aceste Scripturi într-un VM de câteva ori înainte de instalarea efectivă pentru a vă asigura că totul funcționează conform destinației. De atunci am adăugat câteva caracteristici noi și am refăcut părți ale celor existente. Instalarea efectivă pe server a fost destul de simplă.
mai întâi trebuie să instalați sistemul de operare Linux preferat. Am ales Ubuntu Server LTS și l-am instalat printr-un stick USB. Sistemul este instalat pe un SSD pentru perioade de pornire mai rapide. După instalare am configurat doar rețeaua (recomand un IP static), am activat SSH și am mutat serverul în poziția fizică finală. De acum înainte nu este nevoie de ecran/tastatură/mouse, acesta poate fi gestionat prin rețea (cu excepția cazului în care ceva nu merge bine).
și următorii pași sunt simpli: Descărcați scripturile de care aveți nevoie, instalați Ansible și rulați playbooks.
sudo apt install git ansiblegit clone https://github.com/OliverHi/zfs-homeserver.gitcd zfs-homeserver/ansibleansible-playbook setup_playbook.yml -K
aceasta va rula un playbook numit setup_playbook.yml care va configura serverul. Desigur, puteți folosi orice carte de joc Ansible aici, dar a mea este destul de simplă și arată așa.
--- - name: "Setting up the home server" hosts: localhost connection: local # become root user, which is needed for most tasks become: yes become_user: root vars_files: - vars/main_vars.yml tasks: - name: Install the needed packages apt: name: - samba - software-properties-common #- linux-headers - dkms - zfsutils-linux - samba-vfs-modules - zfs-auto-snapshot state: latest cache_valid_time: 3600 - import_tasks: tasks/setupZFStask.yml - import_tasks: tasks/setupUsersTask.yml - import_tasks: tasks/setupFoldersTask.yml - import_tasks: tasks/setupSambaTask.yml - import_tasks: tasks/setupDocker.yml # and more tasks if needed
practic este de lucru pe serverul local, care rulează ca root și folosind variabile am definit într-un main_vars separat.fișier yml. Va începe prin instalarea a câteva pachete de care am nevoie pentru configurarea mea și apoi va rula printr-un set de sarcini pe care le-am scris pentru diferitele părți ale stivei software. Acesta va configura sistemul de fișiere ZFS, va crea utilizatori și foldere, va configura Docker și altele. Puteți personaliza întotdeauna cele pe placul dumneavoastră.
în următoarele postări din această serie vă voi explica cum am configurat sistemul de fișiere, utilizatorii, acțiunile samba, precum și Docker și proxy-ul Traefik reverse. În fiecare parte voi adăuga, de asemenea, fișierele Ansible necesare pentru a le instala automat. Tot codul va fi disponibil pe contul meu GitHub.
următoarea postare despre configurarea ZFS și a unui sistem de rezervă poate fi găsită aici.