Ha hirtelen kell: NAS Raspberry Pi alapokon

Legyen szó családi képek, videók megosztásáról, vagy biztonsági mentések tárolásáról, egy NAS sokszor jó szolgálatot tehet otthon. De mi alapján válasszunk és milyen más lehetőségeink vannak?

Bár elég sok mai router rendelkezik USB meghajtóval, amin keresztül kínálnak valamilyen szintű fájlmegosztást, ez közelében sincs egy NAS képességeinek. Ráadásul ha fájlműveleteket végzünk, az eléggé megterhelheti a routert, ami a hálózati sebességen is meg fog látszani. Ebben az esetben is áll a dolog, hogy jobb a célhardver.

Jó NAS-t választani nem is egyszerű, mivel sok szempont játszhat, ami eléggé erősen befolyásolja az árat. Ebben nagy segítséget nyújthat a Prohardver NAS vásárlást segítő fóruma, melyben az általában felmerülő kérdésekre is választ kaphatunk.

Annyi elmondható, hogy alapvetően 1, 2 vagy több merevlemezes változatok közül választhatunk, illetve fontos paraméter még a NAS-ban szereplő CPU és memória. Bizonyos esetekben ez utóbbi akár bővíthető is. A hardver azért fontos, mert ettől függ, mennyi egyidejű kapcsolatot képes milyen sebességgel kezelni az eszköz, illetve hogy képes-e video transzkódolására, vagy sem. Érdemes jól körüljárni a témát, mivel ez a beruházás nagyobb költségekkel járhat.

A piacon jelenleg belépő kategóriában a Zyxel termékei közül érdemes szemezgetnünk, melyek otthoni alap felhasználásra elegendőek és nem kerülnek vagyonokba, azonban már itt is könnyen 50 ezer forint feletti összegekkel találkozhatunk. A nagyobb funkcionalitást kínáló drágább modellek esetén az egyik legnépszerűbb gyártó a Synology mely szintén kínál gyengébb hardverrel szerelt belépő NAS-t, éppúgy, mint irodai használatra szánt erőgépeket. Másik hasonlóan népszerű gyártó a QNAP, mely árban is a Synology környékén helyezkedik el. E kettő között egyéni preferenciáink fognak dönteni, tudásban mindegyiknél nagy a kínálat. Persze népszerű még az Asus hálózati adattárolói is, melyeket Asustor néven találunk, illetve a merevlemezeiről híres WD a MyCloud eszközökkel.

Ha kiválasztottuk a számunkra ideális NAS-t, akkor a következő kérdés a merevlemez(ek) lesznek. Alapvetően itt célszerű direkt NAS célra készült típust választani, mely hosszú távon képes kiszolgálni az igényeinket. Ha többlemezes NAS-unk van, akkor lehetőleg ugyanolyan típusú merevlemezt rakjunk bele, akkor is, ha nem akarunk RAID-et.  A megfelelő merevlemez kiválasztásában is segít a Prohardver merevlemezekkel foglalkozó fóruma, de készüljünk fel, hogy ez is zsebbenyúlós.

De mi a helyzet, ha hirtelen kell nekünk egy NAS?

NAS-t nem csak vehetünk, de építhetünk is. Alapvetően bármilyen régi PC vagy laptop alkalmas lehet rá, de legjobbak az alacsony fogyasztású lapkaszámítógépek. Építhetünk Raspberry alapokon vagy választhatunk sok más alternatívából. A jobbak azok, amelyiken vagy SATA, vagy M2/mSATA csatlakozó is van.

Ha RPi (vagy valamilyen klónja) lesz a választottunk, akkor tartsuk szem előtt az ökölszabályt: a több RAM jobb. Egyrészt az operációs rendszer miatt, másrészt a műveletek végrehajtásához.

De hogyan csatlakoztassunk külső merevlemezeket a NAS-unkhoz, ha nincs SATA csatlakozónk? Erre megoldást jelenthet egy külső táppal szerelt USB merevlemez dokkoló, melyet adatmentésre szoktak első sorban használni. Ennek nagy előnye, hogy nem a gépünk USB portjáról próbálja meg a működéséhez szükséges energiát megszerezni.

Persze ennek a megoldásnak is megvan a hátránya: a Raspberry alapvetően szinte mindent egy USB vezérlőn keresztül valósít meg. Ilyen vezetékes hálózati kártya is, illetve a fenti esetben a külső merevlemezeink is. Minél több eszközt használunk USB-n keresztül, sajnos annál nagyobb lassulást érezhetünk, mivel a szűk keresztmetszet itt az USB vezérlő lesz. Szerencsére alap feladatokra még így is bőven elegendő.

Ha Raspberry-t választunk, akkor szükséges még egy a rendszer számára használható jó minőségű SD kártya. Ebből az industrial kiadások bírják a legjobban a folyamatos használatot. Mivel ezen fog futni a rendszer, így 8GB alapvetően elég lehet, de az biztos, hogy nincs szükség több száz gigás változatokra.

Bár a Raspberry alapvetően nem igényli, de javasolt az állandó üzem és melegedés miatt hűtéssel is ellátni. Ez lehet teljesen passzív, aktív vagy vegyes is. A lényeg, hogy gondoskodjunk arról, hogy ne melegedjen túl, mert az rendszerösszeomlásokhoz vezethet.

Ha megvan a hardver, jöhet a szoftver! De mit válasszunk?

Ha vettük a NAS-t, akkor azzal együtt szoftver lincenc is érkezett, azaz a gyártó már alapból előre telepítve adja nekünk a szükséges szoftveres környezetet. Sok esetben lehetőségünk van egyedi komponensek telepítésére is (pl docker).

Más a helyzet, ha magunk építettük a NAS-t, de nem kell megijedni: több NAS operációs rendszer is elérhető, melyet ráadásul csak telepítenünk kell.

A népszerűbbek közé tartozik az OpenMediaVault, a TrueNAS, Rockstor vagy az EasyNAS. Ezen kívül több alternatíva is elérhető, így érdemes körülnézni. Én ebben a körben az OpenMediaVault-ot választottam, de a legtöbb telepíthető RPi-re.

Ha megvan a nekünk leginkább megfelelő rendszer és hardver, akkor a következő lépés a telepítő lemezkép (ISO fájl) letöltése és pendrive-ra kiírása. Telepítő kulcs létrehozásához a legegyszerűbb eszköz a balenaEtcher, mely ingyenesen elérhető és könnyen használható.

OpenMediaVault és Raspberry Pi választása esetén előbb a Raspberry Pi OS Lite-ot kell feltenni, ehhez használhatjuk a hivatalos Raspberry Pi Imager-t a balenaEtcher helyett.
Miután az alap rendszer felment az RPi-re, lépjünk be SSH-n ssh pi@PIIPADDRESS és frissítsük a csomagokat:
sudo apt update -y && sudo apt upgrade -y

Ha ezzel megvagyunk, futtathatjuk az OpenMediaVault telepítő script-jét:
sudo wget -O – https://raw.githubusercontent.com/OpenMediaVault-Plugin-Developers/installScript/master/install | sudo bash

A telepítés eltart egy ideig és a végén várjunk pár percet, míg a rendszer elindul. Ez után böngészőből folytathatjuk. Ha nem Raspberry-t választottunk, akkor a OpenMediaVault OS az alábbiak szerint telepíthető:

Maga a rendszer telepítése ez után mindössze pár lépésből fog állni, melyhez monitorra és billentyűzetre szükség lesz. Miután elindítottuk a telepítőt a pendrive-ról, legtöbb esetben a nyelvi beállításokon, root jelszón és a telepítésre kijelölt lemez megadásán túl nem sok lépésre van szükség, hogy az alap rendszer felmenjen az új NAS-unkra. Ha ez megtörtént, onnantól kezdve már mindent egy másik gépen elérünk böngészőből, vagy éppen SSH-n keresztül. Ehhez a NAS IP címére lesz szükségünk.

OpenMediaVault beállítása

Alapok

A telepítés végeztével érdemes még az omv-extras csomagot is felrakni, mely egy egyszerű paranccsal elvégezhető miután beléptünk root fiókkal:

wget -O - https://github.com/OpenMediaVault-Plugin-Developers/packages/raw/master/install | bash

Ez több extra plugint és funkciót ad az alap rendszerünkhöz, így érdemes meglépni. Most pedig átléphetünk a böngészőbe.

Az első belépést követően érdemes a jelszót megváltoztatni (az alap: admin/openmediavault). Ezt a jobb felső sarokban található beállítások ikon alatt tudjuk megtenni. Ezt követő lépésként a dashboardot állítsuk be, mely részletes információkat ad a rendszerünk állapotáról. Később ennek módosítását a beállítás ikon alatt érhetjük el.

Ebben az állapotban azonban még nincs megosztott fájlrendszerünk, így nem is tudjuk használni a NAS-t.

Ha zavar, hogy a rendszer 5 percenként kiléptet, akkor a System » Workbench alatt tudjuk ezt módosítani.

Ezt követően érdemes beállítani az időzónát, melyet a System » Date & Time alatt érünk el. Itt elő fog jönni egy figyelmeztetés, hogy csak újraindítás után lép életbe a változtatás. Mivel most több mindent állítunk be, ezt későbbre is hagyhatjuk.

Érdemes következő lépéként ellenőrizni és telepíteni a rendszer szintű frissítéseket, melyeket a System » Update Management » Updates menüben találhatjuk.

Következő fontos menüpont a Pluginok, melyekkel a NAS-unk képességeit terjeszthetjük ki. Itt telepíthetünk olyan eszközöket, mint például a downloader, mely segít különböző tartalmak letöltésében a NAS-unkra, de hasznos lehet még a filebrowser is, mellyel böngészőből nézhetjük meg a feltöltött fájlokat. Ha olyan telepítésünk van, amiben ugyanazon a lemezen van az OMV, mint amit meg akarunk osztani, akkor telepítsük fel a sharerootfs plugint, mely engedélyezi a rendszer meghajtóját megosztásban használni.

Megosztások

Ha megvagyunk az alapokkal, akkor a következő lépésben a fájlrendszer beállítása következik. Első lépésben ellenőrizzük, hogy a rendszerünk jól látja-e a merevlemezeket, melyet a Storage » Disks menü alatt tudjuk megtenni. Itt tudjuk ezeket formázni is a Wipe ikon segítségével. Itt választhatunk gyors, vagy biztonságos mód közül, de a legtöbb esetben elég a quick. VIGYÁZZUNK, ez nem visszavonható! Ezen felül lehetőségünk van itt energiatakarékossági beállításokat is engedélyezni, vagy letiltani.

Érdemes továbbá a S.M.A.R.T. funkciót bekapcsolni, mely folyamatosan figyelemmel kíséri a merevlemezeink állapotát és jelzi ha baj van.

Következő lépésben beállíthatnánk a RAID-et, de mivel mi csak tartalomfogyasztási céllal rakjuk össze, ezért ezt ebben az esetben elhagytam. Ha viszont backup-ra szeretnénk használni, mindenképpen célszerű ezt beállítani.

De akkor térjünk is rá az első fájlrendszer létrehozására, melyet majd feltölthetünk saját tartalmunkkal. Ehhez a Storage » File Systems alatt a plusz ikonra kattintva a Create funkciót kell választani. Itt válasszuk ki a korábbi lépésben formázott lemezünket és kattintsunk a mentés gombra. Ezt követően Mount-oljuk a létrehozott fájlrendszert. Ezen lépések elhagyhatóak, ha egy lemezzel rendelkezünk, melyet a sharerootfs segítségével szeretnénk használni. Ekkor ugyanis már alapból fel van csatolva a szükséges fájlrendszer.

Következő lépésben hozzunk létre megosztott mappákat a Storage » Shared Folders menüpont alatt: adjunk nevet a megosztásnak; válasszuk ki a meghajtót a megosztás helyének; adjuk meg a mappa nevét, vagy válasszuk ki a jobb oldali gomb segítségével (az itt megadott névvel jön létre a mappa); majd válasszuk ki a megfelelő hozzáférési jogosultságokat. Ha mindenki írhatja és olvashatja, akkor könnyen elérhetővé tehetjük bárki számára a hálózaton az adott megosztást.

Itt érdemes lehet több megosztást létrehozni tartalomhoz igazodóan: videóknak, képeknek és programoknak. Én a Config és a Data megosztást hoztam létre, mivel esetemben a Config megosztásba a kerülnek a különféle alkalmazások beállításai.

Ezt követően engedélyezzük a Samba fájlmegosztást, melyet a Services » SMB/CIFS » Settings menüpont alatt tudunk megtenni. Itt elég csak bekapcsolni, az alapbeállítások megfelelőek a legtöbb esetben. Ha mentettük, akkor alkalmazzuk is az új beállításokat, majd nyissuk meg a Samba-hoz tartozó megosztásokat és vegyük fel a szükségeseket. Ezt a Services » SMB/CIFS » Shares » Create menüpont alatt érhetjük el. Itt válasszuk ki a korábban létrehozott megosztásunkat, majd a jogosultságot (publikus mappák esetén érdemes a Guest allowed-re állítani, hogy a helyi hálózaton mindenki számára elérhető legyen a megosztás). Itt többet is meg tudunk adni, de esetemben például csak a Data került publikusan megosztásra a helyi hálózat tagjai számára.

Most már láthatjuk a megosztott mappát a hálózaton és használhatjuk saját tartalmaink elhelyezésére.

További alkalmazások, letöltések és streaming

Ha megvagyunk az alap NAS funkcionalitás beállításával, akkor további appokkal bővíthetjük a rendszerünket, melyhez az omv-extras egy bővítését tudjuk használni. Ezek az alkalmazások docker konténerben fognak futni. Ezzel gyakorlatilag a lehetőségek tárháza nyílik meg, egyedül csak a hardver lehet korlátunk.

Docker és Portainer

Ahhoz hogy Docker konténereket tudjunk futtatni, szükséges ennek engedélyezése, melyet a System » omv-extras » Docker menüpont alatt tehetjük meg. Első lépésként kattintsunk az Install gombra, ekkor települ és automatikusan el is indul a Docker futtatókörnyezet. Ezt követően ugyanezt lépjük meg a Portainer esetén is.

Miután a Portainer is felkerült, nyissuk meg a lenti gombra kattintva és hozzuk létre a felhasználói fiókunkat.

Most már minden készen áll arra, hogy appokat telepítsünk. Én a linuxserver gyűjteményét részesítem előnyben, mivel ezek jól karban vannak tartva és szinte minden esetben probléma mentesen elindulnak.

qBittorrent a letöltésekhez

Legegyszerűbben úgy tudunk alkalmazást felrakni, hogy a Portainerben új stacket hozunk létre a futó environmenten. Ehhez mindössze egy név kell és a stacket leíró beállítások, melyet az alkalmazás Docker Hub dokumentációja alapján adjuk meg:

---
version: "2.1"
services:
  qbittorrent:
    image: lscr.io/linuxserver/qbittorrent:latest
    container_name: qbittorrent
    environment:
      - PUID=998
      - PGID=100
      - TZ=Europe/Budapest
      - WEBUI_PORT=8080
    volumes:
      - /Config/qbittorrent:/config
      - /Data:/downloads
    ports:
      - 8080:8080
      - 6881:6881
      - 6881:6881/udp
    restart: unless-stopped

Itt a PUID legtöbb OMV telepítés esetén 998, a PGID meg 100, de ezt ellenőrizhetjük a command line-ból id username paranccsal. Illetve én a TZ paramétert is helyire írtam át. Ezt követően már csak a megfelelő mappaszerkezet beállítása van hátra: Én a Config megosztás alá külön mappába teszem a torrent kliens beállításait és a teljes Data-t teszem elérhetővé a letöltések tárolásához.

Ha ezekkel megvagyunk, akkor már csak a Deploy the stack gomb van hátra. Miután elindult a rendszer, a NAS-unk IP címét a 8080-as porttal kiegészítve érhetjük el a torrent kliens webes felületét, melyhez a admin/adminadmin az alapértelmezett felhasználónév és jelszó. Ezt első belépés után változtassuk meg.

A webes felületen a szokásos módon tudunk letöltést indítani, azonban a letöltött fájlok célmappáját így adjuk meg mondjuk sorozatok esetén: /downloads/tvshows/ . Ennek okára a következő app beállítása során kapunk választ.

Jellyfin videók streamelésére

Bár igen népszerű a Plex – vagy annak alternatívája az Emby –, ezek mindegyike kis kényelmetlenséggel jár: vagy a telepítése bonyolult, vagy limitációkkal kell együtt élnünk. Ezzel szemben a Jellyfin egy egyszerű, de nagyszerű Emby fork, mely teljesen open source. Nincsennek limitációk, de van mobil és andorid TV app is.

Beállítása nagyon hasonló a qbittorrent-hez, szintén létrehozunk egy új stack-et:

---
version: "2.1"
services:
  jellyfin:
    image: lscr.io/linuxserver/jellyfin:latest
    container_name: jellyfin
    environment:
      - PUID=998
      - PGID=100
      - TZ=Europe/Budapest
    volumes:
      - /Config/jellyfin:/config
      - /Data/tvshows:/data/tvshows
      - /Data/movies:/data/movies
    ports:
      - 8096:8096
      - 8920:8920 #optional
      - 7359:7359/udp #optional
      - 1900:1900/udp #optional
    restart: unless-stopped

Itt szintén meg kell adni ugyanazokat az environment beállításokat, mint korábban a torrent kliensnél. Ami más, hogy itt nem a teljes Data-t adjuk meg, hanem annak csak két mappáját: sorozatok és filmek számára létrehozottat. A torrent kliensben ezekbe a mappákba is le tudjuk direktben tölteni a tartalmat.

Miután ezt a stacket is felhúztuk és elindult, nyissuk meg a NAS ip-címét a 8096 porttal kiegészítve, hogy eljussunk a Jellyfin telepítéséhez. Itt a preferált nyelvek mellett létre kell hozzunk egy felhasználót, mellyel kezelni tudjuk Jellyfin szerverünket. Ezt követően jutunk el oda, ahol hozzá tudunk adni könyvtárakat. Itt először meg kell adjuk a könyvtár médiatartalmának típusát (film, sorozat, egyéb), megadjuk a megjelenítendő nevet, majd hozzáadjuk a mappát. Ezt megadhatjuk kézzel is, de a mező alatti listából is kiválaszthatjuk a nekünk kellőt. Ha ezzel megvagyunk még megadhatunk preferált nyelveket, illetve egyéb beállításokat. Ha elkészültünk, akkor mentsük el. Ezt annyiszor végezzük el, ahány típust szeretnénk (a stack-nél megadott volume-oknál is annyit adjunk meg). Ezt követően next, next és finish.

Ha már vannak média tartalmak a megosztásban, akkor azt kis idő elteltével látni fogjuk itt, ugyanis idő, míg átnézni a Jellyfin ezeket, viszont minden újonnan bekerülő fájlt fel fog fedezni a későbbiek során. Ha mégse, akkor manuálisan is indíthatunk könyvtár átnézést a beállítások alatt.

Összefoglalás

A fenti leírás csak egy betekintés abba, hogy hogyan tudunk magunk építeni egyszerűbb NAS-t, amiről aztán elérhetjük megosztásainkat vagy éppen streamelhetjük videóinkat a TV-n vagy mobilon. Nem mentünk bele olyan részletes beállításokba, mint az akár a felhasználónkénti megosztások, automata biztonsági mentések és automatizált letöltések. Remélem ez a gondolatébresztő leírás segít elindulni, vagy mankó lehet ha hirtelen kell egy NAS.

Kövess minket!
, , ,

About Virág Zoltán

Meetup szervező, előadó és okosotthon blogger. Szabadidőben otthonát és kertjét automatizálja, ezen felül kütyümániás alkalmazás fejlesztő.
View all posts by Virág Zoltán →