Erinevus lehekülje "NFS" redaktsioonide vahel

Allikas: Kuutõrvaja
 
(ei näidata 2 kasutaja 13 vahepealset redaktsiooni)
1. rida: 1. rida:
'''NFS - Network File System'''
+
===Sissejuhatus===
 
  
===Sissejuhatus===
+
NFS - Network File System
  
 
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.
 
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.
 
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''' alla mountitud masina ut.ee juurikas.
 
 
Võib ütelda, et masina juta.ee failisüsteemi on kataloogi /nfs.ut.ee alla mountitud masina ut.ee juurikas.
 
  
 
===Teostus===
 
===Teostus===
15. rida: 12. rida:
 
Asume siis vaatama, mida on vaja, et eelpoolkireldatud olukord saavutada.
 
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.
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.
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  
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:
+
korras on käsk '''rpcinfo -p''' sarnane väljund:
  
  bash# rpcinfo -p
+
  # '''rpcinfo -p'''
 
     program vers proto  port
 
     program vers proto  port
 
     100000    2  tcp    111  portmapper
 
     100000    2  tcp    111  portmapper
37. rida: 32. rida:
 
Tavaliselt on vaikimisi see asi nii nagu NFS seda ootab.
 
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:
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:
 
  
  cat /etc/exports
+
  '''# 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)
 
  /      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 :)
 
Antud juhul lubatakse juta.ee kasutajatele mountida lugemiseks/kirjutamiseks kogu ut.ee failisüsteemi. Tegelikult on seda natuke liiga palju lubatud :)
51. rida: 41. rida:
 
Ja mis kõige tähtsam, et ut.ee saaks teadlikuks uutest määratlustest tuleb käivitada daemonid uuesti:
 
Ja mis kõige tähtsam, et ut.ee saaks teadlikuks uutest määratlustest tuleb käivitada daemonid uuesti:
  
  bash# cat /etc/export_fs
+
  # '''cat /etc/export_fs'''
 
  #!/bin/sh
 
  #!/bin/sh
 
  killall -HUP /usr/sbin/rpc.mountd
 
  killall -HUP /usr/sbin/rpc.mountd
 
  killall -HUP /usr/sbin/rpc.nfsd
 
  killall -HUP /usr/sbin/rpc.nfsd
 
   
 
   
 +
*Ja kui see on korras, siis peaks juta.ee's käsu
  
5. Ja kui see on korras, siis peaks juta.ee's käsu
+
# mount -t nfs ut.ee:/    /nfs
 
 
mount -t nfs ut.ee:/    /nfs.ut.ee
 
  
 
andes asja külge mountida.
 
andes asja külge mountida.
67. rida: 56. rida:
 
Seega too rida on nt. selline:
 
Seega too rida on nt. selline:
  
  ut.ee:/        /nfs.ut.ee    nfs    rsize=1024,wsize=1024,noauto    0      0
+
  ut.ee:/        /nfs     nfs    rsize=1024,wsize=1024,noauto    0      0
 +
 
 +
Kindlasti peaks panema nfs-i tööle tcp portidel, muidu võib tekkida igasuguseid anomaaliaid. Mountides peaks siis järgnevalt:
 +
 
 +
ut.ee:/        /nfs     nfs    tcp,rsize=1024,wsize=1024,noauto    0      0
 +
 
 +
proovida saab ka
 +
 
 +
mount -o tcp ut.ee:/nfs /nfs
  
 
Siis on oluline tähele panna, et read size ja write size optsioonide vahel pole tühikut.
 
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'.
+
'''/nfs''' 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.
 
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!
 
  
 
NFS-i korral peaks tingimata mõtlema clustri peale. Selleks soovitaks linuxi puhul kasutada http://www.linux-ha.org/.
 
NFS-i korral peaks tingimata mõtlema clustri peale. Selleks soovitaks linuxi puhul kasutada http://www.linux-ha.org/.
  
/var/lib/nfs tuleks panna ühisele kettale (iscsi, FC), mis võetaks soovitatavalt kuskilt kettakastist, odav lahendus oleks rsync või glusterfs, millest on siin ka pikalt kirjutatud ([http://en.wikipedia.org/wiki/GlusterFS]).
+
/var/lib/nfs tuleks panna ühisele kettale (iscsi, FC), mis võetaks soovitatavalt kuskilt kettakastist, odav lahendus oleks rsync või glusterfs, millest on siin ka pikalt kirjutatud [http://kuutorvaja.eenet.ee/wiki/Glusterfs].
+
 
 +
Et vaadelda mida mounditud klientide poolt
  
gggg
+
'''# showmount -e'''
 +
Exports list on localhost:
 +
/mnt                              192.168.1.2

Viimane redaktsioon: 28. mai 2009, kell 10:02

Sissejuhatus

NFS - Network File System

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.

Võib ütelda, et masina juta.ee failisüsteemi on kataloogi /nfs alla mountitud masina ut.ee juurikas.

Teostus

Asume siis vaatama, mida on vaja, et eelpoolkireldatud olukord saavutada.

  • Esmalt veenduge, et te saate masinaid omavahel pingida, teha telnet'i ja nt.ftp'd. Kui see on olemas on põhjust edasi minna.
  • 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.
  • 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:

# 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

Tavaliselt on vaikimisi see asi nii nagu NFS seda ootab.

  • 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:
# cat /etc/exports
/       juta.ee(rw)

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:

# cat /etc/export_fs
#!/bin/sh
killall -HUP /usr/sbin/rpc.mountd
killall -HUP /usr/sbin/rpc.nfsd

  • Ja kui see on korras, siis peaks juta.ee's käsu
# mount -t nfs ut.ee:/     /nfs

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     nfs     rsize=1024,wsize=1024,noauto     0      0

Kindlasti peaks panema nfs-i tööle tcp portidel, muidu võib tekkida igasuguseid anomaaliaid. Mountides peaks siis järgnevalt:

ut.ee:/         /nfs     nfs     tcp,rsize=1024,wsize=1024,noauto     0      0

proovida saab ka

mount -o tcp ut.ee:/nfs /nfs

Siis on oluline tähele panna, et read size ja write size optsioonide vahel pole tühikut.

/nfs 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.


NFS-i korral peaks tingimata mõtlema clustri peale. Selleks soovitaks linuxi puhul kasutada http://www.linux-ha.org/.

/var/lib/nfs tuleks panna ühisele kettale (iscsi, FC), mis võetaks soovitatavalt kuskilt kettakastist, odav lahendus oleks rsync või glusterfs, millest on siin ka pikalt kirjutatud [1].

Et vaadelda mida mounditud klientide poolt

# showmount -e
Exports list on localhost:
/mnt                               192.168.1.2