Szerver otthonra III. – Konfigurálás

Ez az otthoni fájlszerver építés cikksorozat harmadik része. Az első fejezetben ismertettem a gép hardveres részeit és azok összeszerelését. A második fejezetben írtam az operációs rendszer telepítéséről és a RAID szervezés folyamatáról. Ebben a fejezetben a feltelepített rendszer behangolását és a szerverszolgáltatások telepítését, beállítását fogom bemutatni.

Elsőnek a telepített rendszer hangolásáról írok, majd ismertetem a hálózati beállítások módjait. Ezek után bemutatom azokat a szolgáltatásokat, melyekkel tényleges fájlkiszolgálót csinálhatunk gépünkből, majd sorra veszem a kiszolgáló működtetésével kapcsolatos dolgokat, távfelügyeleti lehetőségeket.

Az operációs rendszer nem használt szolgáltatásainak kikapcsolása

Ahhoz, hogy szerverünk felügyelet nélkül is jól működjön, bizonyos szolgáltatásokat nem árt kikapcsolni. Egy asztali gép esetében több olyan szolgáltatást is használunk, melyek csak a felhasználói élmény javítását célozzák, naprakészen tartják alkalmazásainkat, könnyebbé teszik programjaink, állományaink elérését, de egy olyan gépnél, amit kizárólag fájlok tárolására és megosztására használunk, teljesen feleslegesek. Ráadásul erőforrásokat is felszabadítunk ezáltal, ami gyorsabbá teszi gépünk működését és alacsonyabb processzorterhelés mellett kevesebb lesz az energiafogyasztása is.

Asztali környezet

Egy olyan gép esetében, amire nincs monitor kötve, igazából felesleges asztali környezetet telepíteni. Aki profi az mindent magold parancssorból és valószínűleg nem is olvasgat ilyen leírásokat. Én viszont nem tartozom eme kategóriába, így telepítettem a jól megszokott Gnome asztali környezetet, hogy könnyen be tudjam állítani a szükséges dolgokat, ha pedig hiba van, akkor egyszerüen tudom azt javítani a megszokott grafikus felületen.

Ha telepítettünk asztali környezetet, annak szükségleteit viszont könnyen minimalizálhatjuk a lentebb ismertetett beállításokkal.

Compiz letiltása, eltávolítása

Asztali elemek, ablakok, ikonok dekorálására, animációs látványeffektekre egy monitor nélküli gépen szerintem egyértelmű, hogy semmi szükség. Egyébként ez alapból talán nem is települ a SUSE Linuxok esetében, ha mégis működne, akkor kapcsoljuk ki, de nyugodtan el is távolíthatjuk az összetevőit.

Rendszerösszetevők telepítését, eltávolítását a YaST Control Centerben a “Szoftver telepítése, eltávolítása” menüpontban tudjuk elvégezni. A keresőben itt be kell írni, hogy “compiz”, majd minden találat, ami előtt pipa van nyugodtan eltávolítható, így biztos, hogy minden részét töröljük a programnak.

Splash screen kikapcsolása

A “splash” szolgáltatást kikapcsolva sima szöveges betöltőképet kapunk. Talán egy hangyányit gyorsít a rendszerbetöltésen, de igazából már jelentéktelen kategória, viszont nyugottan kikapcsolható.

Szolgáltatásokat a YaST Control Centerben a “Rendszerszolgáltatások” menüpontban indíthatunk, illetve állíthatunk le ideiglenesen, vagy tartósan. Kilépés előtt meg is szokta kérdezni, hogy a futási szintek mentésre kerüljenek-e. Ha igen, akkor újraindítás után is érvényben maradnak, ha nem, akkor a legközelebbi újraindításkor visszaáll az állítgatások előtti állapot.

Gnome további gyorsítása

Van még egy beállítás, amivel gyorsítható a Gnome ablakkezelője, ami némi grafikai élmény csökkenésével jár. Ehhez nyitni kell egy terminálablakot és be kell gépelni a gconf-editor parancsot. Ekkor megjelenik egy Konfiguráció szerkesztő ablak, ami a Windows-ban a Registry-hez hasonló adatbázis szerű dolog lesz. Itt a következő helyre kell navigálni: /apps/metacity/general/.  Itt meg kell keresni ezt: reduced_resources és az előtte lévő négyzetet ki kell pipálni. Újraindítani nem kell, a beállítás azonnal életbe lép.

Ami még hasznos lehet, hogy egyszínű asztalhátteret állítunk be, mert ez VNC kapcsolatnál gyorsíthat valamit.

Alsasound hangszolgáltatások tiltása

Igazából hangszolgáltatásokra sem lesz szükségünk, igaz én nem lőttem ki, aki gondolja megteheti. Szintén a “Rendszerszolgáltatások” helyen tiltható.

Automatikus frissítések kikapcsolása

Ezt ajánlott kikapcsolni, mert gépünk állandóan figyeli, hogy van-e újabb frissítés a neki megadott távoli szoftverforrásokban, ill. a frissítések végrehajtása felhasználói beavatkozást igényel, tehát teljesen önállóan a gép nem végez módosítást a rendszeren és mivel nem ülünk előtte, nem látjuk mikor kell beavatkozni, ennél fogva értelmetlen ilyen esetben ez a funkció. VNC-n, vagy SSH-n keresztül van lehetőségünk manuálisan frissíteni, ha akarunk. Egyébként a rendszer feltelepítését követően ajánlott az addig megjelent összes frissítés feltelepítése.

A kikapcsolást a YaST Control Centerben a “Telepítési források” helyen tehetjük meg. Itt látható az a lista, ahonnan a szoftvereink frissítése történik. Értelemszerűen mindegyik bejegyzésnél ki kell venni a pipát az “Automatikus frissítés” oszlopban és menteni a beállításokat.

Ezzel a számunkra nem fontos  szolgáltatások javát ki is kapcsoltuk, aki tovább turkál a rendszerben biztosan talál még kiiktatni valót, én már tovább nem mentem bele ebbe a részébe. Ha a helyi beállításokkal végeztünk, következhet a hálózati paraméterek konfigurálása és az ezzel kapcsolatos szolgáltatások telepítése, beállítása.

Hálózati beállítások

Fájlmegosztáshoz gépünk egyszerű kliensként kapcsolódik a hálózatra fix IP cím segítségével. A routolási feladatokat külön eszköz végzi, ha a modemen és egyetlen számítógépen kívül más nincs a hálózatban, akkor be kell szerezni egy routert, hogy a modem mögött kialakíthassunk egy kis belső hálózatot gépeink számára. A router beállításaira most külön nem térnék ki, nincs semmi speciális beállítás, amit egy iylen fájlszerver igényel, viszont a belső vezetékes adatforgalom gyorsítása érdekében javaslom a gigabites router, vagy switch beépítését. Ezek segítségével gép-gép között – amennyiben a hálózati csatolók támogatják – 1Gb/s-os átviteli sebesség lehetséges a hagyományos 100Mb/s helyett. Nagyobb adattömegek mozgatásakor észrevehető a különbség.

A hálózati kapcsolatokat Linux rendszerünkön alapvetően két program felügyeli. Egyik a Network Manager, a másik pedig a hagyományos Ifup. Lehetőség szerint az Ifup-ot válasszuk hálózati kapcsolat kezelésre. A beállító konzolt nem mutatnám be, magyar nyelven van és értelem szerűen kell kitölteni. Gép IP címe, átjáró, DNS kiszolgáló, gépnév, stb. A lényeg, hogy statikus IP címet adjunk gépünknek, hogy a hálózatban mindig azonos IP címen találuk meg. Ha a beslő hálózaton internet is elérhető, a beállításainkat könnyen tesztelhetjük egy böngészővel. Ha elérjük az internetet, akkor mindent jól állítottunk be. A további beállításokat pedig úgyis csak akkor kell elvégezni, ha adott szolgáltatások ezt igénylik. Ilyenek pl. tűzfal és portbeállítások. Lehetőleg kliens oldalon is fix IP-ket használjuk, ezzel saját helyzetünkön könnyítünk.

Tűzfal beállítása

A SUSE Linuxok mindegyike rendelkezik beépített tűzfallal. A tűzfal telepítés után általában azonnal fut. A YaST Control Centerben a “Rendszerszolgáltatások” menüpontban indíthatjuk, vagy állíthatjuk le. Általában így külön nem kell beállítgatni, adott szolgáltatások telepítésekor a szolgáltatás vezérlőpaneljén keresztül megnyithatjuk, lezárhatjuk az éppen adott szolgáltatáshoz tartozó portokat, tehát külön a tűzfallal nem kell nagyon foglalkozni.

Szolgáltatások, hasznos programok telepítése

Innen jön a lényeg! Feltehetően eddig sikerült hiba nélkül feltelpíteni az operációs rendszert, a nem használatos dolgoktól megszabadulni és működő internetkapcsolattal, vagy legalább hálózati kapcsolattal is rendelkezik már gépünk.

Innentől már csak azokat a dolgokat kell a rendszerhez adni, amit később használni szeretnénk. Fájlszerver esetében valamilyen fájlmegosztó szolgáltatásra lesz szükségünk. Több lehetőségünk van, Linux-Linux rendszer között az NFS megosztás tökéletes, Linux-Windows között a Samba lesz a megfelelő, de létrehozhatunk FTP kiszolgálót is. Mivel én nem rendelkezem Windows rendszerű géppel, így a Samba kiszolgáló beállítására nem térek ki.

Munkánk megkönnyítése érdekében telepítsünk néhány hasznos programot.

Merevlemezeink állapotát a S.M.A.R.T. adatok ellenőrzésével követhetjük nyomon. Én erre a Smartmontools nevű alkalmazást használom. Néha nem árt lefuttatni. Nagyon hasznos!

Fájlkezelésre a Midnight Commandert mindeképp ajánlom, bármilyen helyzetben elérhető az mc parancs segítségével, felülete a régi időkből ismerős Norton Commanerre emlékeztet, grafikus felület nélkül is megy.

Ami a programokat illeti, talán ennyi, a többi alapból benne van a rendszerben. Nézzük most azokat a dolgokat, melyek segítségével fájlkiszolgálót csinálhatunk gépünkből.

Az NFS kiszolgáló

Nemes egyszerűséggel a Network File System kezdőbetűkből jött az NFS elnevezés. Működéséhez kiszolgálóra és kliensre van szükség. Az alap rendszerben csak klienst találunk. A kliens arra jó, hogy a távoli kiszolgáló paramétereit megadva felcsatolja nekünk az ott található állományokat a fájlrendszerünkbe. Most kiszolgálót hozunk létre, de ismertetem a kliensek beállítási módját is. YaST-ban telepítenünk kell a következő összetevőket: limal-nfs-server, limal-nfs-server-pearl, nfs-kernel-server, nfsidmap, yast2-nfs-common, yast2-nfs-server.

Ha ezekkel megvagyunk a YaST-ban a “Hálózati szolgáltatások” résznél láthatunk egy olyan ikont, hogy “NFS-kiszolgáló”. Itt el kell végezni a hozzá tartozó beállításokat, a megosztások felvételét (ez később is megtehető, ha már a fájljainkat felmásoltuk a megfelelő helyre) és a hozzáférési engedélyeket.

Beállítjuk, hogy az NFS szerver szolgáltatás induljon a rendszer indításakor, valamint kinyitjuk a tűzfal ide tartozó portjait és megadunk egy tartomány nevet. Ezt a tartományt a klienseken is meg kell majd adni, mert csak azonos tartományban lévő kliensek láthatják majd a szerver megsoztásait.

A következőkben megadjuk azon mappáink helyét, amit nyilvánossá szeretnénk tenni. Ezekhez külön jogosultságokat állíthatunk be. A párbeszédablak alsó részén gépeket vehetünk fel egy listára. Megtehetjük azt, hogy csak a listán szereplő gépeknek lehet joguk hozzáférni a megosztott mappáinkhoz, sőt külön megadhatjuk, hogy mely mappákhoz és milyen jogokkal férhet hozzá adott IP című gép. Ide gépnév alapján is beírhatjuk a klienseket. Ha üresen hagyjuk ezt a részt, akkor nem vezetünk be korlátozást, így minden gép hozzáfér a megosztásokhoz.

Ha ez megvan a kiszolgáló paramétereit beállítottuk. A kliensgépen megkeressük a YaST-ban az NFS-klienst, majd elindítjuk. Megadjuk a kiszolgáló IP címét. Ezért kell a fix IP. Egyébként a neve alapján is megtalálja kiszolgálót a rendszer, de az IP nekem biztosabbnak tűnik. Megadjuk a távoli könyvtár helyét (amit a szerveren megosztottunk), majd megadjuk, hogy a kliens gépünkön ez hová kerüljön becsatolásra. Én ennek csináltam egy külön Szerver mappát.

NFS-típus: nfs. Opcióknál viszont van némi paraméter. Az “rsize” és “wsize” az adatcsomagok méretét határozza meg szerver és kliens között. Ha nem adjuk meg, a rendszer alapértelmezést használ, egyéb parancsokkal lehet még optimalizálni a sebességet. A “timeo” opció megadja, hogy meddig várjon a kliens a szerver válaszára. Az “intr” pedig lezárja az esetleges sikertelen kapcsolódási kísérletet.

Ezzel gyakorlatilag befejeztük az NFS megosztások beállítását. Ha a szerverünket hamarabb indítjuk, mint a kliens gép, akkor a kliens automatikusan fel fogja csatolni a szerver megosztásait magának. Ezt az /etc/fstab fájl teszi, ugyanis az NFS kliens beállításakor ide is bekerülnek a felcsatolandó helyek, így már a rendszer betöltésekor felcsatolásra kerülnek a távoli megosztások. Persze ennek feltétele, hogy a szerver már olyan állapotban legyen indítás után, hogy fusson az NFS kiszolgálója.

Ha nem sikerülne az automatikus felcsatolás, vagy esetleg a szerverünket később indítottuk el, akkor kézileg kell csatolnunk a távoli helyeket parancssorból. Ezt a mount paranccsal tehetjük meg, mint rendszergazda a következő módon:

su
mount <szerver IP címe>: <megosztott mappa útvonala a szerveren> <csatolási hely a kliensen>

FTP kiszolgáló létrehozása

Létrehozhatunk FTP kiszolgálót is, melynek nagy előnye, hogy Windowsból is egyszerűen elérhetjük, illetve böngészőn keresztül is működik. Két elterjett FTP kiszolgáló létezik, egyik a VsFTPD, másik pedig a PureFTPD. Én a VsFTPD-vel fogom bemutatni az FTP szerver készítést.

YaST-ban telpíteni kell a vsftpd és yast2-ftp-server csomagokat, majd a YaST Control Center-ben a “Hálózati szolgáltatások” résznél meg fog jelenni egy FTP kiszolgáló nevű ikon. Rákattintva elvégezhetjük az FTP szerverünk beállítását.

A párbeszédablak első oldalán indítással kapcsolatos beállítások vannak, különösebb kommentárt nem fűznék hozzá.

Itt kötölthetjük az üdvözlő üzenet részt, illetve meg kell adni az FTP megosztáshoz kijelölt mappánkat, melynek tartalmához hozzá szeretnénk majd férni a kliens gépeken. Én nem vittem túlzásba a biztonsági beállításokat, lehetséges egyébként hitelesített felhasználókkal is használni a kiszolgálót, de ez azzal jár, hogy a szerveren is jogokat kell nekik biztosítani. Akit érdekel, neten rengeteg hasznos leírást talál a részletes beállításokhoz, itt elsősorban bemutató jelleggel ismertetem a VSFTPD szolgáltatást, így a lehető legegyszerűbb beállításokkal mutatom be ezen FTP kiszolgáló beindítását.

A teljesítmény fülön korlátozhatjuk az egyidőben csatlakozó felhasználók számát, illetve az adatátviteli sebességeket.

Hiteleítési beállítások, feltöltési lehetőség engedélyezése.

Itt leginkább a tűzfalport megnyitására hívnám fel a figyelmet.Ezzel nagyvonalakban üzemképessé tettünk egy minimálisan biztosított FTP kiszolgálót gépünkön.

Az FTP szerver működését legegyszerűbben egy böngészővel tudjuk tesztelni, akár a gazdagépen, akár egy kliensen. Ehhez nem kell mást tenni, mint beírni a böngésző címsorába a következőt: ftp://”szerver IP címe” és már láthatóvá is válik az FTP megosztásra szánt mappa tartalma.

Távirányítás és távfelügyeleti lehetőségek

Szerverünk egy tápvezetéken és egy hálózati kábelen fityeg valahol a pincében, vagy padláson, vagy a szomszéd helységben. Nincs hozzá sem egér, sem billentyúzet, sem pedig monitor. Ennek ellenére nekünk tudni kell kezelni és használni. Több megoldás is van arra, hogy felügyeljük gépünket egy másk számítógép segítségével. Most ismertetek ezek közül néhány lehetőséget.

SSH

Az SSH (Secure SHell) voltaképpen egy hálózati protokoll amivel bejelentkezhetünk hálózaton át egy másik gépre, és az ehhez szükséges hálózati kapcsolat titkosítva lesz. Ez egy konzolos felület, amin keresztül parancsokkal irányíthatjuk a távoli gépet, azaz a szervernek adhatunk parancsokat, mintha előtte ülnénk. Kliensről ssh-n keresztül kapcsolódni a szerverhez a következő módon lehet:

ssh <a szerver IP címe>

Ezt követően a szerver elkéri a felhasználó jelszavát, ha az stimmel és az a felhasználó a szerver gépen is rendelkezik fiókkal és jogokkal, akkor megkapja a belépési engedélyt, mintha a gép előtt ülne.

SSH segítségével akár le is állíthatjuk szerverünket úgy, hogy fizikálisan nincs melletünk a gép. Ezt a következő módon tehetjük meg:

ssh <a szerver IP címe>
jelszó:
su
jelszó:
init 0
exit
exit

Az ssh paranccsal és jelszóval bejelentkezünk a szerverre. Kiadjuk a su parancsot és beírva a jelszót rendszergazdai jogokat kapunk a gépen. Kiadjuk az init 0 parancsot a leállításhoz, majd exit paranccsal kilépünk a rendszergazda módból, egy újabb exit paranccsal pedig zárjuk az ssh kapcsolatot. Ha lassúak vagyunk a gép addig leáll, mire a kliensen beírunk két exit paracsot.

VNC

Szintén távfelügyeletre használható megoldás, de grafikus felületen működik, a szerver gép asztalát a kliens gépen láthatjuk magunk előtt, mintha a távoli gép előtt ülnénk. Ennek működéséhez engedélyezni kell a távoli asztalok lehetőséget, illetve engedélyezni kell az asztal megosztását a szerveren. A Linuxban alapesetben benne van a távoli asztal megjelenítése és az asztal megosztása lehetőség.

A YaST-ban a “Távoli felügyelet (VNC)” ikont kell keresni a “Hálózati szolgáltatások” résznél. Elindítva beállíthatjuk, hogy engedélyezzük, vagy tiltjuk a lehetőséget, illetve itt is engedélyezni kell műkodéskor a tűzfal portokat.

A kliens gép alkalmazásai között lesz olyan, hogy “Távoli asztalok megjelenítése”. Erre kattintva kapunk egy ablakot amiben bal fent található egy “Kapcsolódás” gomb. Erre kattintva a következő ablak jelenik meg:

A protokoll marad VNC, a gépnévhez pedig az elérni kívánt gép IP címét kell beírni. Egyéb lehetőségek vannak, melyeket nem fontos bejelölni (képméret, jpeg tömörítés, csak megtekintés…). Ha szerverünk üzemel és a VNC szerver is fut rajta, akkor a “Kapcsolódás” gombra kattintva csatlakozhatunk hozzá.

VNC kapcsolat biztonságosabbá tételéhez hazsnálhatunk jelszót, amit a kapcsolódás alkalmával a szerver bekér, mielőtt megosztja a klisenssel az asztalát. Ezt a szerveren kell beállítani, a kliens már csak kapcsolódáskor kéri a kódot.

Távoli indítás

SSH segítségével távolról leállíthatjuk a gépet a fent bemutatott módon. Már csak a kikapcsolt gépet kellene valahogy elindítani a bekapcsológomb megnyomása nélkül. Szerencsére erre is van lehetőség. Gépünk a hálózaton keresztül egyszerűen feléleszthető a wol parancs segítségével.  Igazából ezt a parancsot nem a gépnek, hanem a hálózati kártyának küldjük. A legtöbb hálózati csatoló rendelkezik un. Wake On Lan funkcióval. Régen PCI kártyák esetében ehhez külön kis vezeték is volt, ami az alaplaphoz csatalakozott, de az újabb kártyák már maguktól tudják és a legtöbb integrál hálókártya is támogatja ezt a funkciót. integráltak esetében BIOS-ból engedélyezhető a WOL funkció. Ha engedélyezve van, akkor a gép kikapcsolt állapotában a hálózati csatoló részben működőképes marad és figyeli a hálózati csomagokat. Ha olyan csomagot észlel, ami neki szól és benne az az utasítás van, hogy indítani kell a gépet, akkor a hálózati eszköz generál egy “power-on jelet” és a számítógép elindul.

Ezt a csomagot magic paket-nek is hívják. Linuxok alapból tudnak ilyen csomagot készíteni a wol parancs használatával. A formula valahogy így néz ki:

wol <megszólított hálózati eszköz MAC címe>

Ekkor a hálózati kártyát a MAC címe szerint szólítja meg a küldő.

Adatok szervezése, feltöltése a merevlemezekre

Miután minden beállításon túlvagyunk, és a gép is jól működik az új rendszerrel, megkezdhetjük adataink felmásolását.

Gondoljuk végig, milyen fájlokat, mappákat milyen módon kívánunk majd elérni a hálózaton. Az állományaink rendszerezését ennek megfelelően végezzük el. Bármilyen mappát megoszthatunk a /home partícióról. A root partíció tartalmának megosztása felesleges, azon úgyis rendszerfájlok vannak és csak rendszergazdai jogokkal módosíthatóak, hozzáférhetőek. Adatainkat egyébként is a /home területre fogjuk tenni, mert itt lett nagy tárkapacitás kialakítha és ez a terület rendelkezik egyedül biztonsági másolattal (RAID1). Mindenhová jogosultságokat állíthatunk be, gyakorlatilag teljesen kontroll alatt tudjuk tartani megosztott tartalmainkat. Lényeg, hogy valami rendszer legyen a dolgoban.

Kezdeti adatok feltöltését célszerű a szerver gépen végezni úgy, hogy a másolás idejére fizikálisan hozzá csatlakoznak azok az adattároló egységek, melyekről a szerverre töltjük a megosztani kívánt adatokat. A további adatmozgásokat már a hálózaton keresztül végezzük, de a feltöltés nagy adattömeg esetén így gyorsabb.

Konklúzió

Összegzésként elmondható, hogy fájlok hálózaton belüli megosztására célszerűbb egy megfelelő alkatrészekből összerakott PC-t használni, mint gyári NAS-t vásárolni. Persze mindenkinek más az igénye, de otthoni célra, aki valamivel jobb minőségű eszközt keres, árban annyiért fog találni magának megfelelőt, hogy abból már egy komplett kis számítógépet lehet összerakni. Egy PC pedig beállíthatóságát és szolgáltatásait tekintve sokkal többet tud nyújtani egy NAS tárolóval szemben, fájlmegosztásra használva gyakorlatilag minden otthoni igényt kielégít. Én a tapasztalataim alapján bátran javaslom egy ilyen mini-ITX gép összerakását azoknak, akik komolyabb NAS-ban gondolkodnak, akár Windows, akár Linux rendszert telepítenek rá.