NFS naudojimas darbui vietiniame tinkle

NFS

Tarp daugelio failų sistemų kurias palaiko FreeBSD yra ir tinklo failų sistema (Network File system – NFS). NFS leidžia tarp tinklo vartotojų dalintis katalogais ir failais.

NFS privalumai:

* Reikia mažiau disko vietos, nes įprastai visiems vartotojams reikalingi duomenys yra saugomi viename nutolusiame kompiuteryje.

* Nereikia vartotojams kiekviename tinklo kompiuteryje turėti unikalaus namų katalogo.

* Duomenų saugojimo įrenginiai tokie kaip: diskelių įrenginys CDROM gali būti viename nutolusiame kompiuteryje, bet prieinami visiems tinklo vartotojams.

Kaip tai įgyvendinama

NFS yra sukurtas iš dviejų dalių, viena dalis yra vartotojo, kita serverio. Vartotojas gali duomenis pasiimti iš serverio. Kad sistema veiktų turiningai, keletas procesų turi būti gerai suderinta ir šie procesai turi būti nuolatos vykdomi.

Serveryje turi būti vykdomi šie deamon_ai:

Deamon_as Aprašymas

nfsd Tai yra NFS deamon_as kuris atsako NFS klientų užklausas.mountd NFS prijungimo deamon_as užbaigia užklausas kurias leido nfsd deamonas.portmap portmap deamon_as leidžia klientams sužinoti kokį portą NFS serveris naudoja.

Kliento kompiuteryje reikia tik vieno deamon_o:

nfsiod Tai NFS asinchroninis I/O deamon_as kuris yra atsakingas už užklausas iš NFS serverio.

NFS konfigūravimas

FreeBSD sistemoje NFS konfigūravimas yra labai paprastas. Visi prieš tai paminėti procesai turi būti paleidžiami sistemos įkrovos metu, reikia paredaguoti /etc/rc.conf failą.

NFS serveryje turi būti šie nustatymai (/etc/rc.conf):

portmap_enable=”YES” nfs_server_enable=”YES” nfs_server_flags=”-u -t -n 4″ mountd_flags=”-r”

mountd yra automatiškai paleidžiamas kai tik NFS serveris startuoja. NFS serverio -u ir -t raktai pasako, kad NFS serveris gali aptarnautus kurie naudoja UDP ir TCP protokolus. Raktas -n 4 pasako kiek startuoti NFS deamon_ų, kuo didesnis skaičius tuo daugiau NFS serveris gali aptarnauti klientų.

Klientas (vartotojas) turi nustatyti:

nfs_client_enable=”YES”

nfs_client_flags=”-n 4″

Raktas -n 4 pasako kiek vienu metu galima naudoti serverio resursų.

Paskutinis konfigūravimo žingsnis yra sukurti failą /etc/exports. exports faile yra nurodomi resursai, prie ko gali prieiti klientas.

Kiekviena exports failo eilutė nurodo resursą ir jo priėjimo taisykles prie ko gali prieiti klientas. Yra nemažai exports failo nustatymų, aš pasistengsiu aptarti kelis iš jų. Visus nustatymus exports failo rasite vadovo puslapiuose (man exports).

/etc/exports failo nustatymo pavyzdžiai:

/cdrom -ro moe larry curly

Yra leidžiama trims (moe, larry, curly) to pačio domain’o kompiuriams prieiti prie serverio katalogo /cdrom skaitymo teisėmis (-ro raktas).

/home 192.168.0.1 192.168.0.2 192.168.0.3

Prie serverio /home resurso gali prieiti tik šiuos IP adresus turintys vartotojai. Tai labai naudinga vietiniame tinkle kai neveikia DNS serveris.

/a -maproot=0 host.domain.com box.example.com

Prie katalogo /a gali prisijungti iš skirtingos zonos domain’ų negu jūsų sistemos domain’as. Raktas –maproot=0 leidžia nutolusios sistemos root vartotojui keisti /a katalogo turinį. Jei sistemos vartotojo ID nėra lygus 0, jis neturės rašymo teisių /a kataloge.

Pastaba, jei jūs pakeičiate /etc/exports failo turinį jūs turite perkrauti mountd deamon’ą, nes kitu atveju nebus nuskaityta /etc/exports failo informacija! Tai galite padaryti mountd procesui nusiųsdami signalą:

_ kill -HUP `cat /var/run/mountd.pid`

Po visų pakeitimų jūs turite perkrauti FreeBSD sistemą, ji užkraus iš naujo rc.conf nustatymus, arba jei nenorite perkrauti sistemos galite šias komandas (turite būti root vartotojas):

NFS serveryje:

_ portmap _ nfsd -u -t -n 4 _ mountd -r

NFS kliente

_ nfsiod -n 4

Padarę šiuos pakeitimus jūs jau galite prisijungti nutolusią failų sistemą į savo FreeBSD sistemą. Tai galima padaryti dviem būdais. Šiuose pavyzdžiuose serverio vardą naudosiu server (jūs turėsite naudoti nutolusio kompiuterio ip adresą arba kompiuterio host vardą), kliento vardą naudosiu client. Jei jūs norite laikinai prisijungti nutolusią failų sistemą arba norite patikrinti konfigūraciją, jūs turite kliento kompiuteryje, komandinėje eilutėje įvykdyti komandą panašią į (jūs turite būti root vartotojas):

_ mount server:/home /mnt

Po šios komandos serverio /home katalogas bus prijungtas pas klientą į /mnt katalogą. Jei viskas įvyko korektiškai, jūs galite eiti į /mnt katalogą ir ten pamatyti serverio /home katalogo failus.

Jei jūs norite nuolatos (kiekvieną kartą po kompiuterio perkrovimo) prisijungti nutolusią failų sistemą, jūs turite padaryti atitinkamus pakeitimus /etc/fstab faile. Pavyzdžiui pridėti tokią eilutę:

server:/home /mnt nfs rw 0 0

Daugiau informacijos apie automatinį sistemos prijungimą rasite vadovo puslapiuose (man 5 fstab).

Praktinis naudojimas

Yra nemažai privalumų naudoti NFS. Kelis iš daugelio pasistengsiu išvardinti

• Jei tinkle yra daug kompiuterių, jūs puikiai galite apsieiti su vienu CDROM ar floppy diskų įrenginių. • Nereikia kiekviename tinklo kompiuteryje laikyti identiškos informacijos. Visų naudojama informacija gali būti tik viename tinklo serveryje.• Nekyla didelių problemų kai sistemą reikia įdiegti iš naujo. Visus reikalingus duomenis jūs galite pasidėti į NFS serverį, po to juos vėl sėkmingai pasiimti.

Serverio exports peržiūra

Yra labai naudinga komanda sužinoti ką serveris leidžia klientams prisijungti prie savo sistemos, tai showmount. Ji turi nemažai raktų, bet mums užteks ir vieno –e, tai raktas rodantis serverio exports sąrašą ir jų nustatymus. Pavyzdžiui:

%showmount –e foobar

Exports list on foobar:

/usr 10.10.10.0/a 10.10.10.0