teejuht
1. Sissejuhatus
NFS on selline tehnika, mis võimaldab ühele töötava
linuxi masina failisüsteemile külge mount'ida mingi kataloogi
(see võib olla ka juurkataloog) teisest töötava linuxi
masina failisüsteemist.
Eelduseks on, et need kaks masinat on omavahel võrku ühendatud
ja võrk nö. toimib. Tulemusena toimub failide liigutamine/kopeerimine
ühest masinast teise nii nagu seda tehakse ühe masina failisüsteemi
siseselt st. mitte ftp vaid cp'ga.
joonisel on see kujutatud ka piltlikult
Võib ütelda, et masina juta.ee failisüsteemi on kataloogi /nfs.ut.ee alla mountitud masina ut.ee juurikas.
Paljud räägivad, et NFS on jama - pole turvaline, pole töökindel. No mine tea, ju neil ikka siis õigus on; aga kui teil on ainult kaks nn. linuxi arvutit kusjuures üks on toas ja teine garaazhi all, siis ilmselt pole turvalisusega suuri probleeme. Teine asi on muidugi töökindlus. Isiklikult mina pole väga NFS'i torkinud st. pole püüdnud kasutada kõiki tema dokumenteeritud ja dokumenteerimata featuure.
2. Teostus
Asume siis vaatama, mida on vaja, et eelpoolkireldatud olukord saavutada.
1.
Esmalt veenduge, et te saate masinaid omavahel pingida, teha telnet'i
ja nt.ftp'd. Kui see on olemas on põhjust edasi minna.
2.
Võimalik, et tuleb kompileerida uus kernel milles on olemas
üks linnuke juures (kuigi ta on seal enamst ka vaikimisi): NFS - kernel
peab toetama NFS'i.
3.
Seejärel veenduge, et bootimisel on üles tõmmatud
mõlemas masinas portmapper ja sellega seotud asjad. Tunnistuseks,
et asjad on selles suhtes korras on käsk 'rpcinfo -p' sarnane väljund:
bash# rpcinfo -p
program vers proto
port
100000
2 tcp 111 portmapper
100000
2 udp 111 portmapper
100005
1 udp 667 mountd
100005
2 udp 667 mountd
100005
1 tcp 670 mountd
100005
2 tcp 670 mountd
100003
2 udp 2049 nfs
100003
2 tcp 2049 nfs
bash#
Tavaliselt on vaikimisi see asi nii nagu NFS seda ootab.
4.
Nüüd peab masinas mis oma faile lubab kuhugi mountida (meie
näite kohaselt masinas ut.ee's) ära näitama, et ta tõesti
lubab ligi:
ut.ee$ cat /etc/exports
# See exports(5) for a description.
# This file contains a list
of all directories exported to other computers.
# It is used by rpc.nfsd and
rpc.mountd.
/
juta.ee(rw)
ut.ee$
Antud juhul lubatakse juta.ee kasutajatele mountida lugemiseks/kirjutamiseks kogu ut.ee failisüsteemi. Tegelikult on seda natuke liiga palju lubatud :)
Ja mis kõige tähtsam, et ut.ee saaks teadlikuks uutest määratlustest tuleb käivitada daemonid uuesti:
bash# cat /etc/export_fs
#!/bin/sh
killall -HUP /usr/sbin/rpc.mountd
killall -HUP /usr/sbin/rpc.nfsd
5. Ja kui see on korras, siis peaks juta.ee's käsu
mount -t nfs ut.ee:/ /nfs.ut.ee
andes asja külge mountida.
Siin tuleb veel mainida asjaolu, et kui nimed kahe masina puhul mingil põhujusel et taha laheneda, siis võib kasutada ka IP aadresse. Ning mugavam on panna viimane käsk, ehk /etc/fstab'i, aga igaks juhuks 'noauto'. Kui juhtub, et juta.ee bootimisel ei ole ut.ee asjaks valmis, siis on palju ootamist ja veateateid.
Seega too rida on nt. selline:
ut.ee:/ /nfs.ut.ee nfs rsize=1024,wsize=1024,noauto 0 0
Siis on oluline tähele panna, et read size ja write size optsioonide vahel pole tühikut.
/nfs.ut.ee kataloogi kohta juta.ee's failisüsteemis üteldakse ka 'mount point'.
Igaks juhuks olgu ütledud, et ükskõik kummast arvutist enne voolu välja lülitamist tuleb ikka failisüteemid enne umountida! Ja teha kõik muu mis tarvis.
Ja lõpetuseks, olemas on kataloog '/usr/doc/love/' kus on sees
hulgaliselt õpetusi, mh. ka NFS-HOWTO kust saab teada palju vigureid
mida mina ei tea!
gggg