NAS BananaPi-ből

Pár éve írtam cikket arról, hogy Debian alapokon hogyan hozhatunk létre házi szervert. Mára azonban a technika fejlődésének köszönhetően olcsóbban és költséghatékonyabban készíthetünk házi szervert.

A létrehozandó szerverünk kategória szerint NAS, azaz hálózatra kapcsolt tároló. Ilyen szervert bármilyen gépből tudunk lényegében csinálni, csak merevlemez kell, amin az adatokat tárolni fogja a gép.

Bevezetés

A választás a BananaPi lapra azért esett, mert hasonló méretű, mint a RaspberryPi, viszont Gigabites LAN kapcsolattal és egy integrált SATA porttal rendelkezik, ami jóval gyorsabbá teszi jelen alkalmazásban a Raspberry-nél.

Persze felmerülhet az aggály, hogy egy SATA porttal hogy csinálunk RAID konfigurációt az adatok biztonságos tárolására? A válasz egyszerű: sehogy. Ennek ellenére ugyanolyan biztonságban lesznek az adataink, saját tapasztalatomra alapozva, mint egy két lemezből kialakított RAID 1 konfigurációban.

Ennek az oka az, hogy RAID 1 esetén saját tapasztalatom szerint egy lemez elhalálozásakor a másik lemez is elhalálozik rövid időn belül, főleg akkor, ha azonos gyártó azonos modelljéről beszélünk. Ha ne adj isten nem is halálozik el mindkét lemez azonnal, akkor sincsenek az adataink biztonságban, mivel a hibás lemez cseréjekor a tömböt újra kell építeni. Ez pedig megnövekedett terhelést jelent az “épen” maradt lemeznek, ami a folyamat közben szintén elhalálozhat. Persze erre statisztikai alapon igen csekély esély van, de a RAID1 önmagában a hamis biztonság érzetét kelti.

Ha az adatok épsége és sérthetetlensége a cél, akkor minimum RAID 5 konfigurációt kellene alkalmazni. Ezt pedig egyik egy lapos számítógép és kereskedelmi otthonra szánt NAS megoldás nem fogja tudni.. Továbbá az otthoni megoldások többségével a probléma az, hogy a RAID megoldás szoftveres. Ez nagy I/O terhelésnél okozhat gondot, mivel a CPU-nak eggyel több mindenre kell ügyelnie.

Önmagában azonban egy RAID konfiguráció sem nyújt elegendő védelmet, vagyis nem pótolják a rendszeresen elvégzett biztonsági mentést.

A szoftver amit telepíteni kell az a SimpleNAS. Ez egy egy bananian (a debian banana Pi-re szabott változata) Linuxon alapuló OpenMediaVault disztribúció. Az OpenMediaVault egy webes NAS adminisztrációs megoldás, ami igen sok mindent tud. A rendszerkép a projekt BananaPi letöltések oldaláról szerezhető be. Az oldalról még 3D doboztervet is tölthetünk le, amibe könnyen belefér egy laptop merevlemez.

Beüzemelés

A rendszer telepítése nem nagy ördöngősség, SD kártya kell (minimum 4GB méretben), majd a Win32 disk imager programmal ki kell másolni a letöltött IMG fájlt és erről bootoljuk a Pi-t.

Első bejelentkezéskor SSH-val kell csatlakozni. A felhasználónév root és a hozzá tartozó jelszó pedig openmediavault.

Az SD kártya átméretezéséhez és a rendszer alapszintű beállításához futtassuk le a bananian-config parancsot. A konfiguráció végeztével indítsuk újra a rendszert. Ezután a Banana IP címét ismerve nincs más dolgunk, mint a címet beírni kedvenc böngészőnkbe. A beköszönő OpenMediaVault oldalon a felhasználónév admin, a hozzá tartozó jelszó pedig szintén  openmediavault.

A bejelentkezés után első utunk a dátum és idő beállításokhoz vezessen. A helyes idő konfigurációhoz először a dátumot és időt manuálisan kell megadnunk, illetve az időzónát is. A beállítások mentése után bekapcsolhatjuk az NTP szinkronizációt. A dátum beállítás azért ennyire fontos lépés, mivel ha nem jó a rendszer idő, akkor nem tudunk bővítményeket és frissítéseket telepíteni.

Dátum és Idő beállítás. Az NTP opció erősen ajánlott, mert így mindig pontos időn fog járni a szerver.

A dátum és idő beállítása után frissíthető a rendszer. Ezt elvégezhetjük a webes kezelőfelületről, vagy SSH-n keresztül is. A frissítések telepítése el fog tartani egy ideig. Ez után ajánlatos újraindítani a szervert. Első körben érdemes még az adminisztrációs felület jelszavát és felhasználó nevét is megváltoztatni.

Ezután jöhet a tárterület beállítása. Én ehhez a laptopomból korábban SSD csere miatt kibontott merevlemezt alkalmaztam. A lemezek adatai a tárolás menün belül a fizikai lemezek menüben érhető el. Itt lehetőségünk van törölni a korábban a lemezen beállított fájlrendszereket és partíciós táblát. A lemez kiválasztása után a szerkesztés gombra kattintva a lemez energiagazdálkodásába tudunk belenyúlni.

Lemez beállítások

A lemez felügyeletet is érdemes bekapcsolni. Ez a S.M.A.R.T menüpont alatt található meg. Ennek segítségével a rendszer figyelmeztetéseket tud adni a merevlemez állapotáról. A S.M.A.R.T menü első oldalán be kell kapcsolni a figyelő szolgáltatást, a meghajtók lapon pedig fel kell venni minden figyelt merevlemezt. A S.M.A.R.T és egyéb szerver állapotokról e-mailt is tud küldeni a rendszer. Ez az  rendszer menü értesítés almenüben konfigurálható. Meg kell adnunk egy SMTP szervert, amin keresztül levelet küldhet a szerver. Erre a célra egy gmail fiók is konfigurálható 🙂

S.M.A.R.T bekapcsolása

Ezután jöhet a fájlrendszerek konfigurációja. Alapesetben két fájlrendszert fogunk látni, amik az SD kártyán találhatóak. A Létrehozás opcióval tudunk létrehozni új partíciót a korábban törölt lemezen. A fájlrendszernek EXT4-et érdemes választani. A létrehozás parancs a teljes lemezterületet felhasználhatóvá teszi. A fájlrendszer létrehozása után a szerverünk kész is van arra, hogy adatokat tudjon tárolni.

Fájlrendszerek nézet

Samba

A legfontosabb megosztó szolgáltatás. Segítségével a gépet natívan el tudjuk érni Windows-os kliensről, illetve a protokoll Linux és OS-X alatt is támogatott. A Samba megosztás létrehozásához a szolgáltatások menüből válasszuk az SMB/CIFS opciót. Az első oldalon szintén a szolgáltatást tudjuk engedélyezni. A megosztások a megosztások fülön keresztül konfigurálhatóak. Itt hozzá tudunk adni egy új megosztást a hozzáadás gomb segítségével. A hozzáadás első lépése, hogy létrehozunk egy megosztott mappát. Ezt a megosztott mappa mellett található plusz gomb segítségével tudjuk megtenni. A név megadásával a mappa név kitöltődik. Én két megosztást konfiguráltam. Egyet külön a DLNA és DAAP szolgáltatások adat tárolásához, és egyet pedig kifejezetten a fájlok tárolásához.

Megosztott mappa konfigurálása

A megosztott mappák esetén kezelni kell a hozzáférési jogokat. Ez a hozzáférési jog kezelése menüpont felhasználók almenüpontján belül tehető meg. A felhasználó legfontosabb beállításai a név és a jelszó. A többi paraméter opcionálisan kitölthető. Ezen felhasználónévvel és jelszóval fog tudni a felhasználónk hozzáférni a SAMBA megosztásokhoz.

screenshot-192 168 0 254 2016-02-12 18-39-04

Az egyes felhasználók jogosultságai a megosztott mappákon belül a jogosultságok menüben kezelhetőek. Ezen menün belül az ACL paranccsal egyes rendszerszintű felhasználóknak, csoportoknak adhatunk jogot a mappa eléréséhez és módosításához. Erre később lehet szükségünk.

DLNA

A DLNA szolgáltatás segítségével kompatibilis lejátszók és eszközök számára a hálózaton keresztül továbbíthatunk filmeket, képeket, zenéket. Samsung eszközök esetén a funkciót AllShare-nek hívják.

A funkció konfigurálása picit trükkös, köszönhetően annak, hogy a Bananian és az OpenMediaVault szoftver tárolókból kétféle DLNA szerver verzió érhető el, így a rendszer nem igen tudja melyiket kellene telepíteni, ezért a telepítés meghiúsul. A probléma áthidalható úgy, hogy az OpenMediaVault szoftver forrásokat ideiglenesen letiltjuk. A letiltás a Rendszer OMV-Extrák menüben végezhető el. Az OMV-Extrák csomagtárolót ki kell kapcsolni, majd mentjük a konfigurációt.

OMV Extrák letiltása

Ezután SSH-n keresztül bejelentkezünk, majd kiadjuk a következő parancsokat:

apt-get update
apt-get install minidlna

Ezután ismételten vissza kell kapcsolni a tárolót. Ezután gond nélkül telepíteni lehet az adminisztrációhoz szükséges modult. A bővítmények között található még sok érdekesség. Például van itt Torrent kliens is 🙂

Bővítmény telepítése

A modul telepítése után a szolgáltatások menüben megjelenik egy DLNA bejegyzés. A szolgáltatás beállítása mondhatni gyerek játék, csupán meg kell adni a megosztani kívánt mappákat.

iTunes könyvtár megosztás

Az iTunes-ban lehetőség van zenei kollekció megosztására. Ezen opció főleg akkor hasznos, ha amúgy is iTunes-t használunk zene lejátszáshoz és/vagy a családban van iPod/iPad/iPhone eszköz. Az iTunes megosztáshoz a daap szolgáltatást használja. Ehhez bővítmény szintén a bővítmények menün keresztül telepíthető. A keresőbe írjuk be, hogy daap, majd a bővítményt telepítsük.

Azonban, hogy ne legyen olyan egyszerű az élet, a telepíthető daap szerver nem a legújabb, így az nem tud kommunikálni a 12-es verziójú iTunes-al, így a legújabb verzióra forráskódból való telepítéssel kell frissítenünk. Ez az alábbi parancsok kiadásával érhető el:

sudo apt-get install \
build-essential git autotools-dev autoconf libtool gettext gawk gperf \
antlr3 libantlr3c-dev libconfuse-dev libunistring-dev libsqlite3-dev \
libavcodec-dev libavformat-dev libavfilter-dev libswscale-dev libavutil-dev \
libasound2-dev libmxml-dev libgcrypt11-dev libavahi-client-dev zlib1g-dev \
libevent-dev git gcc g++ build-essential autoconf libpostproc-dev \
libswresample-dev
cd ~
git clone https://github.com/ejurgensen/forked-daapd
cd forked-daapd
autoreconf -i
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
make
make install

A módszer hátránya, hogy minden egyes újabb verzió csak újrafordítással telepíthető. Az újrafordítás némileg egyszerűbb parancsokból áll:

cd ~
cd forked-daapd
git pull
./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
make
make install
cd /var/cache/forked-daapd
rm songs3.db

Energiatakarékosság és végszó

Az összeállított szerver igen alacsony fogyasztású. Legnagyobb terhelés esetén sem érte el az 5W-ot. A fogyasztás persze függ a csatlakoztatott lemeztípustól és a használt töltő hatékonyságától, de ha legrosszabb esetben is 7W fogyasztást számolunk, akkor is majdnem 6 nap alatt fogyaszt el a szerver 1KWh villamos energiát. Opcionálisan elég sok minden konfigurálható még, például további gazdaságosság és lemez kímélés szempontjából érdemes beütemezni egy automatikus leállítási időt. Ezt én 23:59 percre konfiguráltam minden nap, mivel nagyon ritka, hogy ennél később még ébren vagyunk és használnánk gépet.

Hosszútávú beüzemeléshez ajánlott egy merevlemez hellyel rendelkező ház beszerzése vagy 3D nyomtatási szolgáltatással egy ház nyomtatása.

Kiemelt kép forrása: http://www.appgefahren.de/wp-content/uploads/2015/11/DS-Icon.png