Building a full home server-the basics

Julkaisija: Oliver on 06.09.202106.09.2021

itse hosting tärkeitä ohjelmistoja ja tietoja oman kotipalvelimen on paljon etuja, mutta voi olla pelottava tehtävä päästä alkuun. Olen ollut käynnissä oma palvelin pari vuotta nyt ja kuvataan valintoja laitteiston ja ohjelmiston täällä. Tämä on täydellinen opas siitä, miten perustaa oman pienen palvelimen.

miksi pitäisi rakentaa oma palvelin?

joissakin tapauksissa sinun ei pitäisi. Jotkut erittäin kalliita, erikoistuneita tai vaikeasti konfiguroitavia (kuten sähköposti) palvelut saattavat itse asiassa olla parempia ulkoisen palveluntarjoajan kanssa. Jos käytät palveluitasi vain hyvin harvoin tai et ole lainkaan halukas sukeltamaan joihinkin hostaamiseen tarvittaviin tietoihin, tämä ei ehkä myöskään ole oikea paikka sinulle.

Älä kuitenkaan pelkää, oman ohjelmiston hostaaminen ei ole koskaan ollut niin yksinkertaista kuin nykyään ja siinä on paljon etuja. Ehkä tärkeintä on, että se tekee sinusta hieman itsenäisemmän. Teknologian jättiläisillä ei ole niin helppoa saada tietoja ja jokin ongelma pilvessä tai Internet-palveluntarjoajasi kanssa ei estä sinua käyttämästä tietojasi ja palveluitasi (paikallisesti).

aikana, jolloin palvelut hallitsevat yhä tärkeämpiä osia elämässäsi (kuten älykäs kotijärjestelmä), tämä hallinta ja riippumattomuus voivat olla korvaamattomia. Pitkällä aikavälillä se voi olla jopa kustannustehokkaampaa pitkällä aikavälillä. Toki laitteiston ostaminen on investointi, mutta teratavujen datan hostaaminen pilvessä maksaa sinullekin paljon – ikuisesti.

viimeisenä mutta ei vähäisimpänä se voi olla erittäin hauska projekti, joka auttaa sinua oppimaan paljon teknologiasta ja olet aina vapaa kokeilemaan uusia ohjelmistoja. On niin paljon avointa lähdekoodia & vapaita ohjelmistoja!

mitä haluat palvelimellesi?

ennen kuin rakennat mitään, on tärkeää kysyä itseltäsi: mitä aion tehdä tällä palvelimella? Jos haluat vain isännöidä pari pientä palvelua paikallisesti ilman paljon tietoa, tulos näyttää hyvin erilaiselta kuin täysi tallennuspalvelin.

jos tarvitset vain paikallisia palveluita, suosittelen useimmissa tapauksissa hankkimaan uudemman Raspberry Pi: n ja mahdollisesti ulkoisen SSD: n datalle. Ne ovat halpoja, energiatehokkaita ja helposti asennettavia. Olen kuvannut minun pieni älykäs koti palvelin ja napa perustuu Vadelma Pi 4 perusteellisesti tässä artikkelissa. SSD: n lisääminen pieneen datatallennukseen on myös melko helppoa.

jos etsit tehokkaampaa ratkaisua tai haluat tallentaa paljon dataa, suosittelen käyttämään toista alustaa. Jotkut ihmiset käyttävät NAS tai vanha palvelin laitteisto (joka voi toimia hyvin), mutta suosittelen normaali asiakas laitteisto, jossa keskitytään joitakin erityispiirteitä.

  • varmista, että sinulla on hyvä verkkoyhteys (1Gbit/s tai ehkä jopa 10)
  • käytä energiatehokkaita komponentteja ja riippuen siitä, mihin haluat sijoittaa palvelimen äänettömät
  • Hanki riittävän tehokas suoritin tuhlaamatta energiaa tyhjäkäynnillä
  • yleensä et tarvitse näytönohjainta
  • saat tarpeeksi RAM-muistia, tämä voi olla melko tärkeää palvelimellesi
  • Hanki emolevy ja kotelo, johon mahtuu tarpeeksi HDD: tä & SSD-levyjä tallennukseen ja jossa on hyvä jäähdytys
  • Hanki laadukas tallennusväline. Olen käyttänyt WD red-sarjaa paljon (ole vain varovainen SMR-versioiden kanssa) ja olen kuullut hyvää myös Seagate Ironwolf-sarjasta
  • varmista, että komponentit on jäähdytetty kunnolla ja kaikki on kytketty riittävän hyvin. Haluat tämän rakennettavan & unohda
  • Hanki laadukas virtalähde!
  • itse välttäisin laitteistoratidiohjaimet

jos haluat rakentaa kotipalvelimen, harkitse näiden affiliate-linkkien kautta ostamista tukemaan blogia
Western Digital Red Plus-sarja
Seagate IronWolf-sarja
Raspberry Pi 4 8GB pienemmälle palvelimelle

saksalaisella julkaisijalla Heisellä on hienoja artikkeleita oman palvelimen rakentamisesta. Löydät myös paljon kansainvälisiä artikkeleita tästä. Oma henkilökohtainen oppiminen jälkeen rakentaa useita versioita palvelimen on aina suunnitella mitä tarvitset juuri nyt ja lähitulevaisuudessa. Älä rakenna jotain saatat tarvita 10 vuotta. Siihen mennessä on parempaa laitteistoa saatavilla. Ainoa poikkeus tähän saattaa olla varastointi. On aina hyvä olla pari SATA-porttia jäljellä, jotta voit lisätä tallennustilaa myöhemmin.

ohjelmistopino

palvelimille on tehty paljon ohjelmistoja ja jokainen valinta riippuu mieltymyksistä ja käyttötapauksesta. Seuraava on henkilökohtainen mielipiteeni sen jälkeen, kun pari vuotta työskennellyt tämän ongelman vapaa-ajallani.

ensinnäkin aloitetaan siitä, mitä en käyttäisi palvelimella: Windowsista. Päivitykset ovat kovia, paljon ohjelmistoja ei tueta kunnolla ja se on kallista. Sen sijaan mennä Unix / Linux ratkaisu. On täysin ratkaisuja tähän kuten FreeNAS, OpenMediaVault tai Unraid but Unraid maksaa rahaa ja muut ratkaisut ovat myös rajoittaa mitä voit tehdä. Ne saattavat olla hyvä valinta sinulle, mutta päätin lähteä DIY-reitille ja rakentaa oman ratkaisuni, joka perustuu hyväksi todettuun teknologiaan.

kotipalvelimeni toimii minimaalisella Ubuntu server-käyttöjärjestelmällä (LTS-versio), jossa on SSH-käyttöoikeus hallintoa varten. Käytän ZFS-tiedostojärjestelmää yhdistämään asemat yhteen isoon datapooliin ja tarjoamaan toimintoja, kuten välimuisteja, tilannekuvia, RAID ja yksinkertaisia varmuuskopioita. Tässä poolissa olen luonut useita tiedostojärjestelmiä eri käyttötarkoituksiin tapauksissa, joista osa on saatavilla verkon kautta muiden asiakkaiden käytettäväksi. Palvelimella toimii Docker daemon ja käytän useita docker-compose tiedostoja isäntä joukko palveluja, kuten OpenHab, Grafana, Bitwarden/Vaultwarden ja Nextcloud. Käänteisen välityspalvelimen (Traefik tällä hetkellä) avulla on mahdollista tavoittaa valikoituja palveluita mistä tahansa verkosta.

oma kotipalvelin stackhardware perustuu ZFS ja varastointi allastiedosto järjestelmä tilannekuvia ja samba sharesDocker ja Traefik ohjelmisto

ulkoiset varmuuskopiot tehdään USB: n kautta kytketyillä lisäasemilla, joita pyöritetään säännöllisesti. Pari skriptiä ja käytettävyysmonitori tarkistavat säännöllisesti, onko kaikki vielä käynnissä kunnolla ja lähettävät hälytyksiä muuten. Asennus on pääosin automatisoitu ja voidaan tehdä uudelleen uudella laitteistolla nopeasti (jos tiedot ovat vielä saatavilla tietenkin).

kuinka perustaa palvelinautomatisoitu asennus

ennen varsinaista palvelimen perustamista päätin automatisoida tämän prosessin. Tämä helpottaa, nopeuttaa, vähemmän virhealtista ja toimii myös eräänlaisena dokumentaationa. Perusalusta, joka voidaan luotettavasti perustaa nopeasti ja helposti, on suuri etu. Näin kaikki muu, data ja varsinaiset palvelut, voidaan konfiguroida itsenäisesti muodostamaan tämä järjestelmä. Jos jokainen haluaa vaihtaa johonkin muuhun, sen pitäisi olla suhteellisen helppoa.

automaatiolle valitsin mahdollisen. Ansible on ohjelmisto, jonka avulla voit kirjoittaa niin sanottuja playbookeja: lyhyitä skriptejä, jotka määrittelevät, mitä vaiheita tulisi tehdä palvelimen perustamiseksi. Nämä playbookit voidaan sitten vedota yksinkertaisella komennolla ja automatisoi kaikki manuaaliset vaiheet, joita tarvitaan asennusprosessissa. Olen oppinut Ansable itse perustamalla palvelimen, joten olen varma, että playbooks voisi olla parempi, mutta aion jakaa ne, sekä kaikki muu tarvitaan palvelimen asetukset, kautta GitHub seuraavissa osissa tämän sarjan.

ajoin nämä skriptit VM: llä pari kertaa ennen varsinaista asennusta varmistaakseni, että kaikki toimii niin kuin on tarkoitettu. Sittemmin olen lisännyt pari uutta ominaisuutta kuitenkin ja muokannut osia olemassa olevista. Varsinainen asennus palvelimelle oli melko yksinkertainen.

ensin pitää asentaa suosikki Linux-käyttöjärjestelmä. Valitsin Ubuntu Server LTS: n ja asensin sen USB-tikun kautta. Järjestelmä asennetaan SSD-levylle nopeampia käynnistysaikoja varten. Asennuksen jälkeen olen vain määritetty verkon (suosittelen staattinen IP), käytössä SSH ja muutti palvelimen lopulliseen fyysiseen asentoon. Tästä lähtien ei tarvita näyttöä / näppäimistöä / hiirtä, sitä voidaan hallita verkon kautta (ellei jokin mene pieleen).

myös seuraavat vaiheet ovat yksinkertaisia: lataa tarvitsemasi skriptit, asenna ne ja suorita playbookit.

sudo apt install git ansiblegit clone https://github.com/OliverHi/zfs-homeserver.gitcd zfs-homeserver/ansibleansible-playbook setup_playbook.yml -K

tämä suorittaa pelikirjan nimeltä setup_playbook.YML, joka perustaa palvelimen. Tietenkin voit käyttää mitä tahansa mahdollista pelikirjaa täällä, mutta minun on melko yksinkertainen ja näyttää tältä.

--- - 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

periaatteessa se toimii paikallisella palvelimella, toimii pääkäyttäjänä ja käyttää määrittelemiäni muuttujia erillisissä main_vareissa.yml-tiedosto. Se alkaa asentamalla pari paketteja, jotka tarvitsen minun setup ja sitten ajaa läpi joukon tehtäviä, jotka kirjoitin eri osissa ohjelmisto pino. Se perustaa ZFS-tiedostojärjestelmän, luo käyttäjiä ja kansioita, perustaa Docker ja lisää. Voit aina muokata niitä mieleiseksesi.

tämän sarjan seuraavissa viesteissä selitän, miten perustin tiedostojärjestelmän, käyttäjät, samban osakkeet sekä Dockerin ja Traefikin käänteisen välityspalvelimen. Jokaiseen osaan lisään myös tarvittavat mahdolliset tiedostot asentaaksesi ne automaattisesti. Kaikki koodi on saatavilla minun GitHub tilin.

seuraava viesti ZFS: n ja varajärjestelmän perustamisesta löytyy täältä.

Vastaa

Sähköpostiosoitettasi ei julkaista.