megjelent: Oliver 06.09.202106.09.2021
a fontos szoftverek és ADATOK saját otthoni szerveren történő tárolásának sok előnye van, de ijesztő feladat lehet az induláshoz. Én már fut a saját szerver egy pár éve, és leírja a választási hardver és szoftver itt. Ez lesz a teljes útmutató, hogyan kell beállítani a saját kis szerver.
miért érdemes saját szervert építeni?
bizonyos esetekben nem szabad. Néhány nagyon költséges, speciális vagy nehezen konfigurálható (például e-mail) szolgáltatás valójában jobb lehet egy külső szolgáltatónál. Ha csak nagyon ritkán használja szolgáltatásait, vagy egyáltalán nem hajlandó belemerülni a tárhelyhez szükséges ismeretek egy részébe, akkor ez szintén nem a megfelelő hely az Ön számára.
ne ijedjen meg, a saját tárhely szoftver még soha nem volt olyan egyszerű, mint ma, és sok előnnyel jár. Talán a legfontosabb, hogy egy kicsit függetlenebbé tesz. A technológiai óriásoknak nincs ilyen könnyű idejük az adatok megszerzésére, és a felhőben vagy az internetszolgáltatóval kapcsolatos problémák nem akadályozzák meg az adatok és szolgáltatások (helyi) elérését.
egy olyan időszakban, amikor a szolgáltatások az életed egyre fontosabb részeit irányítják (például egy intelligens otthoni rendszert), ez az irányítás és függetlenség felbecsülhetetlen értékű lehet. Hosszú távon még költséghatékonyabb is lehet hosszú távon. Persze a hardver vásárlása befektetés, de a terabájtnyi adat felhőben történő tárolása is sokba kerül – örökre.
végül, de nem utolsósorban nagyon szórakoztató projekt lehet, amely segít sokat tanulni a technológiáról, és mindig szabadon kipróbálhatja az új szoftvereket. Olyan sok nyílt forráskódú & szabad szoftver van odakint!
mit szeretne a szerverrel?
mielőtt bármit is építene, fontos feltenni magának a kérdést: Mit tervezek ezzel a szerverrel? Ha keres, hogy csak a fogadó egy pár kis szolgáltatások helyben nélkül sok adat az eredmény fog kinézni nagyon különbözik a teljes tároló szerver.
ha csak helyi szolgáltatásokra van szüksége, a legtöbb esetben azt javaslom, hogy szerezzen be egy újabb Raspberry Pi-t és esetleg egy külső SSD-t az adatokhoz. Olcsók, energiahatékonyak és könnyen felszerelhetők. Ebben a cikkben részletesen leírtam a Raspberry Pi 4 alapú kis intelligens otthoni szerveremet és hubomat. SSD hozzáadása a kis adattároláshoz szintén meglehetősen egyszerű.
ha erősebb megoldást keres, vagy sok adatot kell tárolnia, akkor egy másik platform használatát javaslom. Vannak, akik NAS vagy régi szerver hardvert használnak (ami nagyon jól működik), de a normál ügyfél hardvert ajánlom, különös tekintettel néhány speciális jellemzőre.
- győződjön meg arról, hogy van egy jó hálózati kapcsolat (1Gbit/s, vagy talán még 10)
- használjon energiatakarékos alkatrészek és attól függően, hogy hol szeretné elhelyezni a szerver Csendes is
- kap egy CPU, amely elég erős, miközben nem pazarolja az energiát üresjáratban
- általában nem kell egy grafikus kártya
- kap elég RAM, ez nagyon fontos lehet a szervered számára
- szerezzen be egy alaplapot és tokot, amely elegendő HDD-t képes tárolni &SSD-k tárolására, és jó hűtéssel rendelkezik
- minőségi adathordozót kap. Sokat használtam a WD red sorozatot (csak légy óvatos az SMR verziókkal), és jó dolgokat hallottam a Seagate Ironwolf sorozatról is
- győződjön meg róla, hogy az alkatrészek megfelelően vannak hűtve, és minden elég jól van csatlakoztatva. Lesz akar ez lenni épít & felejtsd el
- kap egy minőségi hálózati adapter!
- én személyesen kerülni hardveres RAID vezérlők
ha keres, hogy építsenek egy otthoni szerver úgy vásárol keresztül ezek affiliate linkeket, hogy támogassa a blog
Western Digital Red Plus sorozat
Seagate IronWolf sorozat
Raspberry Pi 4 8GB egy kisebb szerver
a német kiadó Heise van néhány nagy cikkek épület saját szerver. Számos nemzetközi cikket is találhatsz erről. Személyes tanulásom a szerver több verziójának felépítése után az, hogy mindig tervezze meg azt, amire szüksége van most és a közeljövőben. Ne építsen valamit, amire szüksége lehet 10 év alatt. Addigra jobb hardver lesz elérhető. Az egyetlen kivétel ez alól a tárolás lehet. Mindig jó ötlet, ha maradt néhány SATA port, így később további tárhelyet adhat hozzá.
a szoftver stack
van egy csomó szoftver odakinn készült szerverek és minden választás függ a preferenciák és használati eset. A következő Az én személyes véleményem, miután néhány évig dolgoztam ezzel a problémával a szabadidőmben.
először is kezdjük azzal, amit nem használnék egy szerveren: Windows. Frissítések nehéz, sok szoftver nem megfelelően támogatott, és ez drága. Ehelyett menjen egy Unix / Linux megoldással. Vannak teljes megoldások erre, mint a FreeNAS, az OpenMediaVault vagy az Unraid, de az Unraid pénzbe kerül, és a többi megoldás is korlátozza, hogy mit tehet. Lehet, hogy jó választás az Ön számára, de úgy döntöttem, hogy a DIY útvonalat választom, és a bevált technológián alapuló saját megoldást építem.
az otthoni szerverem egy minimális Ubuntu server operációs rendszeren fut (egy LTS verzió) SSH hozzáféréssel az adminisztrációhoz. A ZFS fájlrendszert használom, hogy a meghajtókat egy nagy adatkészletbe gyűjtsem, miközben olyan funkciókat biztosítok, mint a gyorsítótárak, pillanatképek, RAID és egyszerű biztonsági mentések. Ebben a készletben több fájlrendszert hoztam létre különböző felhasználási esetekhez, amelyek közül néhányat a hálózaton keresztül elérhetővé tettek más ügyfelek számára. A kiszolgálón egy Docker démon fut, és több docker-compose fájlt használok olyan szolgáltatások tárolására, mint az OpenHab, Grafana, Bitwarden/Vaultwarden és a Nextcloud. A fordított proxy (Traefik abban a pillanatban) lehetővé teszi, hogy elérje a kiválasztott szolgáltatások bárhonnan az interneten.
a külső biztonsági mentések USB-n keresztül csatlakoztatott további meghajtókon keresztül készülnek, amelyeket rendszeresen forgatnak. Néhány szkript és egy uptime monitor rendszeresen ellenőrzi, hogy a minden még mindig megfelelően működik-e, és egyébként riasztásokat küld. A telepítés többnyire automatizált, és gyorsan újra elvégezhető az új hardveren (ha az adatok természetesen még rendelkezésre állnak).
a szerver beállítása – Automatikus telepítés
a szerver tényleges beállítása előtt úgy döntöttem, hogy automatizálom ezt a folyamatot. Ez megkönnyíti, gyorsabb, kevesebb hibára hajlamos, és egyfajta dokumentációként is működik. Egy olyan alapplatform, amely megbízhatóan gyorsan és egyszerűen beállítható, nagy előnyt jelent. Így minden más, az adatok és a tényleges szolgáltatások egymástól függetlenül konfigurálhatók ebben a rendszerben. Ha valami másra akarok váltani, akkor viszonylag könnyűnek kell lennie.
az automatizáláshoz az Ansible-t választottam. Az Ansible egy olyan szoftver, amely lehetővé teszi úgynevezett playbookok írását: rövid szkriptek, amelyek meghatározzák, hogy milyen lépéseket kell tenni a szerver beállításához. Ezek a playbookok ezután egy egyszerű paranccsal hívhatók meg, és automatizálják a telepítési folyamathoz szükséges összes kézi lépést. Megtanultam magam a szerver beállítása közben, így biztos vagyok benne, hogy a playbookok jobbak lehetnek, de megosztom őket, valamint minden más, ami a szerver beállításához szükséges, a GitHub-on keresztül a sorozat következő részeiben.
futtattam ezeket a szkripteket egy virtuális gépben néhányszor a tényleges telepítés előtt, hogy megbizonyosodjak arról, hogy minden a rendeltetésszerűen működik. Azóta van hozzá egy pár új funkciók, bár átdolgozott részei a meglévőket. A tényleges telepítés a szerveren meglehetősen egyszerű volt.
először telepítenie kell a kedvenc Linux operációs rendszerét. Az Ubuntu Server LTS-t választottam, és USB-meghajtón keresztül telepítettem. A rendszer SSD-re van telepítve a gyorsabb indítási idő érdekében. A telepítés után csak konfiguráltam a hálózatot (statikus IP-t ajánlok), engedélyeztem az SSH-t, majd a szervert a végső fizikai pozícióba helyeztem. Mostantól nincs szükség képernyőre/billentyűzetre / egérre, a hálózaton keresztül kezelhető (kivéve, ha valami rosszul megy).
a következő lépések is egyszerűek: töltse le a szükséges szkripteket, telepítse az Ansible-t és futtassa a playbookokat.
sudo apt install git ansiblegit clone https://github.com/OliverHi/zfs-homeserver.gitcd zfs-homeserver/ansibleansible-playbook setup_playbook.yml -K
ez egy setup_playbook nevű játékkönyvet fog futtatni.yml, amely beállítja a szervert. Természetesen itt bármilyen Ansible playbookot használhat, de az enyém nagyon egyszerű és így néz ki.
--- - 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
alapvetően a helyi szerveren működik, rootként fut, és olyan változókat használ, amelyeket külön main_vars-ban definiáltam.yml fájl. Úgy indul telepítésével egy pár csomagot, hogy szükségem van a telepítést, majd végigmenni egy sor feladatot, hogy írtam a különböző részein a szoftver verem. Beállítja a ZFS fájlrendszert, felhasználókat és mappákat hoz létre, beállítja a Dockert és még néhányat. Mindig testre azokat a szeretet.
a sorozat következő bejegyzéseiben elmagyarázom, hogyan állítottam be a fájlrendszert, a felhasználókat, a samba megosztásokat, valamint a Dockert és a Traefik fordított proxyt. Mindegyik részben hozzáadom a szükséges Ansible fájlokat az automatikus telepítéshez. Az összes kód elérhető lesz a GitHub-fiókomban.
a következő bejegyzés a ZFS és a biztonsági rendszer beállításáról itt található.