Erinevus lehekülje "NFS kasutamine Debianiga" redaktsioonide vahel

Allikas: Kuutõrvaja
(NFSv4 kliendis ressursi külge monteerimine)
(Märkused)
 
(ei näidata sama kasutaja 26 vahepealset redaktsiooni)
1. rida: 1. rida:
 
===Sissejuhatus===
 
===Sissejuhatus===
  
Debian Lenny paketihaldus sisaldab NFSv3 ja NFSv4 tarkvara.
+
NFS (Network File System) failisüsteemi töötas 1984 aastal välja Sun Microsystems ja seda toetavad erineval määral paljud operatsioonisüsteemid sh Linux ja BSD. Protokollist on levinud mitmeid versioone, 2010 aastal valdavalt v3 ja v4, Debian Lenny paketihaldus sisaldab tarkvara NFSv3 ja NFSv4 kasutamiseks. Linuxi NFSv4 http://nfs.sourceforge.net/ on protokolli http://tools.ietf.org/html/rfc3530 implementatsioon.
  
 
===Tööpõhimõte===
 
===Tööpõhimõte===
  
 
NFS (Network File System) võimaldab ühe arvuti failisüsteemi kasutada teisest arvutist. NFS serveri ülesanne on jagada võrgus olevatele NFS klientidele serveri failisüsteemi sealjuures kontrollitakse, millisele osale NFS serveri failisüsteemist millised kliendid ligi pääsevad ja milliste privileegidega.
 
NFS (Network File System) võimaldab ühe arvuti failisüsteemi kasutada teisest arvutist. NFS serveri ülesanne on jagada võrgus olevatele NFS klientidele serveri failisüsteemi sealjuures kontrollitakse, millisele osale NFS serveri failisüsteemist millised kliendid ligi pääsevad ja milliste privileegidega.
 +
 +
NFS puhul on oluline asjaolu, et võrku jagatakse olemasolevat failisüsteemi, mis võib iseenesest olla nt ext3 võis xfs kusjuures võrku välja jagatud failisüsteem on serveris külge-monteeritud olekus ning kasutatav.
  
 
===NFS tarkvara paigaldamine===
 
===NFS tarkvara paigaldamine===
  
Kasutajal ei ole vaja midagi ise seadistama asuda, aga infoks, et Debian Lenny tuum on seadistatud NFS osas selliselt
+
Üldiselt Debiani kasutajal ei ole vaja NFS tarkvara ise kompileerida, kõik praktiliselt vajalik on paketihaldusest kättesaadav, nt Debian Lenny tuum on seadistatud NFS osas selliselt
  
   # grep NFS /boot/config-2.6.26-1-686
+
   # grep NFS /boot/config-2.6.26-2-amd64
 
   CONFIG_NFS_FS=m
 
   CONFIG_NFS_FS=m
 
   CONFIG_NFS_V3=y
 
   CONFIG_NFS_V3=y
39. rida: 41. rida:
 
===NFSv3 kasutamine===
 
===NFSv3 kasutamine===
  
NFSv3 võimaldab ühe arvuti failisüsteemi kasutada teisest arvutist kusjuures kliendi autentimine toimub ip aadressi ja kasutaja UID põhiselt.
+
NFSv3 võimaldab ühe arvuti failisüsteemi kasutada teisest arvutist, kusjuures kliendi autentimine toimub ip aadressi ja kasutaja UID põhiselt.
  
 
====NFSv3 server====
 
====NFSv3 server====
  
Lisaks tuleb NFS serveri seadistusfailis /etc/exports kirjeldada, milliseid kohalikke katalooge NFS server võrku jagab ja milliste ligipääsupiirangutega. Nt selliste omadustega ressursside
+
NFS serveri seadistusfailis /etc/exports kirjeldatakse, milliseid katalooge oma failisüsteemist NFS server võrku jagab ja milliste ligipääsupiirangutega. Nt selline rida
  
   * 192.168.10.0/24 võrgu arvutid saavad ..
+
   # cat /etc/exports
 +
  /srv/home 192.168.10.0/24(rw,no_root_squash,async,no_subtree_check)
  
väljajagamine toimub sellise seadistusfailiga
+
jagab välja selliste omadustega ressursi
  
  # cat /etc/exports
+
* /srv/home - milline kataloog võrku jagatakse
  /srv/data 192.168.10.0/24(rw,no_root_squash,async,no_subtree_check)
+
* 192.168.10.0/24 - võrgu arvutid saavad kasutada
 +
* rw - kataloog on kasutajatele loetav ja kirjutatav
 +
* no_root_squash - nfs kliendi juurkasutajal on nfs ressursi suhtes nö tavalised juurkasutaja privileegid
 +
* async - nfs failisüsteemi kasutatakse asünkroonselt, st nfs klient ei oota nfs serverilt kinnitust, et muudatused on jõudnud serveri failisüsteemi
  
 
====NFSv3 klient====
 
====NFSv3 klient====
56. rida: 62. rida:
 
Ressursi monteerimiseks sobib öelda
 
Ressursi monteerimiseks sobib öelda
  
  # mount 10.0.9.19:/srv/nfs /srv/nfs
+
  # mount 10.0.9.19:/srv/home /srv/home
  
või lisada /etc/fstab'i rida
+
või lisada /etc/fstab faili rida
  
  10.0.9.19:/srv/nfs /srv/nfs nfs defaults 0 0
+
  10.0.9.19:/srv/home /srv/home nfs defaults 0 0
  
 
===NFSv4 kasutamine ilma Kerberoseta===
 
===NFSv4 kasutamine ilma Kerberoseta===
93. rida: 99. rida:
  
 
  # mount -t nfs4 nfs-server:/home /home
 
  # mount -t nfs4 nfs-server:/home /home
 +
 +
või kasutada /etc/fstab failis rida
 +
 +
nfs-server:/home /home nfs4 rw 0 0
  
 
===NFSv4 kasutamine Kerberosega===
 
===NFSv4 kasutamine Kerberosega===
98. rida: 108. rida:
 
NFSv4 üks oluline eelis varasemate versioonide ees on võimalus kasutada teda koos Kerberosega ja korraldada nii oluliselt turvalisem andmevahetus.
 
NFSv4 üks oluline eelis varasemate versioonide ees on võimalus kasutada teda koos Kerberosega ja korraldada nii oluliselt turvalisem andmevahetus.
  
====Tööpõhimõte====
+
====Eesmärk====
  
 
Olgu skeemis kolm osalist
 
Olgu skeemis kolm osalist
122. rida: 132. rida:
 
====Kerberose ettevalmistamine====
 
====Kerberose ettevalmistamine====
  
Eeldame, et käesoleva teksti kasutajal on üldiselt on Kerberose kasutamisest ettekujutus olemas, nt teksti [[:MIT Kerberose kasutamine Debianiga]] põhjal, ja Kerberose server on juurutatud.
+
Eeldame, et käesoleva teksti kasutajal on üldiselt on Kerberose kasutamisest ettekujutus olemas, nt teksti [[:MIT Kerberose kasutamine Debianiga]] põhjal, ja Kerberose server on juurutatud.  
 +
 
 +
Lisaks tuleb Kerberose serveri seadistusfaili /etc/krb5.conf sektsiooni [libdefaults] lisada rida
 +
 
 +
[libdefaults]
 +
  ....
 +
  allow_weak_crypto = true
  
====NFSv4 serveri ettevalmistamine====
+
ja muudatuste kehtestamiseks öelda
 +
 
 +
# /etc/init.d/krb5-admin-server restart
 +
# /etc/init.d/krb5-kdc restart
 +
 
 +
====NFSv4 server====
  
 
NFSv4 serverisse tuleb lisaks paigaldada paketid
 
NFSv4 serverisse tuleb lisaks paigaldada paketid
136. rida: 157. rida:
 
Seejärel tuleb kopeerida NFS serveri failisüsteemi NFS serverile vastav saladus
 
Seejärel tuleb kopeerida NFS serveri failisüsteemi NFS serverile vastav saladus
  
  # kadmin -p root/admin -q "ktadd -k /etc/krb5.keytab nfs/nfs-server.loomaaed"
+
  # kadmin -p root/admin -q "ktadd -e des-cbc-crc:normal -k /etc/krb5.keytab nfs/nfs-server.loomaaed"
  
 
NFS serveri seadistusfailis /etc/default/nfs-kernel-server peab sisalduma rida
 
NFS serveri seadistusfailis /etc/default/nfs-kernel-server peab sisalduma rida
158. rida: 179. rida:
 
* gss/krb5p - privaatsus
 
* gss/krb5p - privaatsus
  
====NFSv4 kliendis ressursi külge monteerimine====
+
Seadistuste kehtestamiseks tuleb restartida nfs-kernel-server öeldes
 +
 
 +
# /etc/init.d/nfs-kernel-server restart
 +
...
 +
Exporting directories for NFS kernel daemon....
 +
Starting NFS kernel daemon: nfsd svcgssd.
 +
 
 +
====NFSv4 klient====
  
 
NFSv4 klienti tuleb lisaks paigaldada paketid
 
NFSv4 klienti tuleb lisaks paigaldada paketid
170. rida: 198. rida:
 
Seejärel tuleb kopeerida NFS kliendi failisüsteemi NFS kliendile vastav saladus
 
Seejärel tuleb kopeerida NFS kliendi failisüsteemi NFS kliendile vastav saladus
  
  # kadmin -p root/admin -q "ktadd -k /etc/krb5.keytab nfs/nfs-klient.loomaaed"
+
  # kadmin -p root/admin -q "ktadd -e des-cbc-crc:normal -k /etc/krb5.keytab nfs/nfs-klient.loomaaed"
  
 
NFS kliendi seadistusfailis /etc/default/nfs-common peavad sisalduma read
 
NFS kliendi seadistusfailis /etc/default/nfs-common peavad sisalduma read
183. rida: 211. rida:
 
  Starting NFS common utilities: statd idmapd gssd.
 
  Starting NFS common utilities: statd idmapd gssd.
  
Ressursi kasutamiseks sobib öelda nt
+
Ressursi kasutamiseks sobib juurkasutajal öelda
  
  # mount -t nfs4 -o sec=krb5p debian-testing-kdc.auul:/homes /srv/homes
+
  # mount -t nfs4 -o sec=krb5p nfs-server.loomaaed:/home /srv/home
  
või /etc/fstab failis reaga
+
või kasutada NFS kliendi /etc/fstab failis rida
  
  debian-testing-kdc:/homes /srv/homes nfs4 rw,users,sec=krb5p 0 0
+
  nfs-server.loomaaed:/home /srv/home nfs4 rw,sec=krb5p 0 0
 +
 
 +
Ja seejärel saab kasutaja oma TGT pileti olemasolul pääseda juurde oma nfs andmetele kataloogi /srv/home/priit
 +
 
 +
Alternatiiviks on, et kasutaja ise ühendab oma ressurssi külge nfs serverist
 +
 
 +
$ mount -t nfs4 -o sec=krb5p,users nfs-server.loomaaed:/home/priit /home/priit/nfs
 +
 
 +
===Märkused===
 +
 
 +
* Probleemide jälitamiseks sobib kasutada failis /etc/default/nfs-common rida
 +
 
 +
RPCGSSDOPTS="-vvv"
 +
 
 +
ning failis /etc/default/nfs-kernel-server rida
 +
 
 +
RPCSVCGSSDOPTS="-vvv"
 +
 
 +
* Kui on ebaselge, miks /etc/fstab failis kirjeldatud ressursse ei ühendata külge, maksab vaadata, kas konsoolile ei kirjutata
 +
 
 +
if-up.d/mountnfs[eth0]: lock /var/run/network/mountnfs exist, not mounting ... failed!
 +
 
 +
ning tuleks eemaldada mainitud kataloog, mis tõenäoliselt jäi süsteemi krahhist vms sündmusest.
 +
 
 +
* Tundub, et üldiselt saab NFS klient aru, kui NFS serverist välja jagatud ressurssi online'is suurendatakse. Põhjusel, et NFS klient kasutab NFS serveri teenust nö objektipõhiselt, mitte plokkseadme või failisüsteemi kui tervikuna.
  
 
===Kasulikud lisamaterjalid===
 
===Kasulikud lisamaterjalid===
  
 
* http://wiki.debian.org/NFS/Kerberos
 
* http://wiki.debian.org/NFS/Kerberos
* [[:NFS]]
 
 
* http://en.wikipedia.org/wiki/Network_File_System_(protocol)
 
* http://en.wikipedia.org/wiki/Network_File_System_(protocol)
* https://help.ubuntu.com/community/NFSv4Howto
+
* https://help.ubuntu.com/community/NFSv4Howto
 +
* https://help.ubuntu.com/community/SettingUpNFSHowTo
 
* http://nfsv4.bullopensource.org/doc/kerberosnfs/krbnfs_howto.pdf
 
* http://nfsv4.bullopensource.org/doc/kerberosnfs/krbnfs_howto.pdf
 
* http://www.cs.rug.nl/~jurjen/ApprenticesNotes/ch29s08.html
 
* http://www.cs.rug.nl/~jurjen/ApprenticesNotes/ch29s08.html
 
* [[:MIT Kerberose kasutamine Debianiga]]
 
* [[:MIT Kerberose kasutamine Debianiga]]
 +
* [[:Root-over-NFS]]
 +
* [[:Diskless OpenBSD]]
 +
* [[:Diskless Debian]]
 +
* [[:NFS]]
 +
* http://www-theorie.physik.unizh.ch/~dpotter/howto/kerberos

Viimane redaktsioon: 26. september 2011, kell 12:25

Sissejuhatus

NFS (Network File System) failisüsteemi töötas 1984 aastal välja Sun Microsystems ja seda toetavad erineval määral paljud operatsioonisüsteemid sh Linux ja BSD. Protokollist on levinud mitmeid versioone, 2010 aastal valdavalt v3 ja v4, Debian Lenny paketihaldus sisaldab tarkvara NFSv3 ja NFSv4 kasutamiseks. Linuxi NFSv4 http://nfs.sourceforge.net/ on protokolli http://tools.ietf.org/html/rfc3530 implementatsioon.

Tööpõhimõte

NFS (Network File System) võimaldab ühe arvuti failisüsteemi kasutada teisest arvutist. NFS serveri ülesanne on jagada võrgus olevatele NFS klientidele serveri failisüsteemi sealjuures kontrollitakse, millisele osale NFS serveri failisüsteemist millised kliendid ligi pääsevad ja milliste privileegidega.

NFS puhul on oluline asjaolu, et võrku jagatakse olemasolevat failisüsteemi, mis võib iseenesest olla nt ext3 võis xfs kusjuures võrku välja jagatud failisüsteem on serveris külge-monteeritud olekus ning kasutatav.

NFS tarkvara paigaldamine

Üldiselt Debiani kasutajal ei ole vaja NFS tarkvara ise kompileerida, kõik praktiliselt vajalik on paketihaldusest kättesaadav, nt Debian Lenny tuum on seadistatud NFS osas selliselt

 # grep NFS /boot/config-2.6.26-2-amd64
 CONFIG_NFS_FS=m
 CONFIG_NFS_V3=y
 CONFIG_NFS_V3_ACL=y
 CONFIG_NFS_V4=y
 CONFIG_NFSD=m
 CONFIG_NFSD_V2_ACL=y
 CONFIG_NFSD_V3=y
 CONFIG_NFSD_V3_ACL=y
 CONFIG_NFSD_V4=y
 CONFIG_NFS_ACL_SUPPORT=m
 CONFIG_NFS_COMMON=y
 CONFIG_NCPFS_NFS_NS=y

NFS server

NFS serveri tarkvara esineb kahel kujul, nfs-user-server ja nfs-kernel-server, antud juhtumil tutvustatakse nfs-kernel-serveri kasutamist. Serveri tarkvara paigaldamiseks tuleb öelda

 # apt-get install nfs-kernel-server

NFS klient

NFS kliendile vajaliku tarkvara paigaldamiseks tuleb öelda

# apt-get install nfs-common

NFSv3 kasutamine

NFSv3 võimaldab ühe arvuti failisüsteemi kasutada teisest arvutist, kusjuures kliendi autentimine toimub ip aadressi ja kasutaja UID põhiselt.

NFSv3 server

NFS serveri seadistusfailis /etc/exports kirjeldatakse, milliseid katalooge oma failisüsteemist NFS server võrku jagab ja milliste ligipääsupiirangutega. Nt selline rida

 # cat /etc/exports
 /srv/home 192.168.10.0/24(rw,no_root_squash,async,no_subtree_check)

jagab välja selliste omadustega ressursi

  • /srv/home - milline kataloog võrku jagatakse
  • 192.168.10.0/24 - võrgu arvutid saavad kasutada
  • rw - kataloog on kasutajatele loetav ja kirjutatav
  • no_root_squash - nfs kliendi juurkasutajal on nfs ressursi suhtes nö tavalised juurkasutaja privileegid
  • async - nfs failisüsteemi kasutatakse asünkroonselt, st nfs klient ei oota nfs serverilt kinnitust, et muudatused on jõudnud serveri failisüsteemi

NFSv3 klient

Ressursi monteerimiseks sobib öelda

# mount 10.0.9.19:/srv/home /srv/home

või lisada /etc/fstab faili rida

10.0.9.19:/srv/home /srv/home nfs defaults 0 0

NFSv4 kasutamine ilma Kerberoseta

NFSv4 kasutamisel võrrelded varasema versiooniga on iseloomulik

  • kliendi ja serveri poolel peab töötama idmapd deemon
  • väljajagatud ressursi poole pöördumisel kasutatakse nö virtuaalset juurikat, mida seadistusfailis tähistab fsid=0

NFSv4 server

Seadistusfailis /etc/default/nfs-common peab sisalduma rida

NEED_IDMAPD=yes

Seadistusfailis /etc/exports näidatakse, millised ressursid kuidas välja jagatakse, nt

/srv       192.168.10.0/24(rw,fsid=0,insecure,no_subtree_check,async)
/srv/home  192.168.10.0/24(rw,nohide,insecure,no_subtree_check,async)

Muudatuste kehtestamiseks tuleb öelda

# /etc/init.d/nfs-kernel-server restart

NFSv4 klient

Seadistusfailis /etc/default/nfs-common peab sisalduma rida

NEED_IDMAPD=yes

Serveri ressursi monteerimiseks tuleb öelda nt

# mount -t nfs4 nfs-server:/home /home

või kasutada /etc/fstab failis rida

nfs-server:/home /home nfs4 rw 0 0

NFSv4 kasutamine Kerberosega

NFSv4 üks oluline eelis varasemate versioonide ees on võimalus kasutada teda koos Kerberosega ja korraldada nii oluliselt turvalisem andmevahetus.

Eesmärk

Olgu skeemis kolm osalist

  • Kerberose server
  • Failiserver nfs-server.loomaaed
  • Failiserveri klient nfs-klient.loomaaed
     kerberos.loomaaed 
          ___
         |   | krb5kdc - 88/tcp
         |___| kadmind - 749/tcp
           |   /etc/krb5kdc/principal
           |
       ----|----------|-------------------------|---
                      |                         |
                    __|__                     __|__
                   |     | /tmp/krb5cc_1000  |     |  /etc/krb5.keytab
                   |_____|                   |_____|

              nfs-klient.loomaaed        nfs-server.loomaaed

Kerberose ettevalmistamine

Eeldame, et käesoleva teksti kasutajal on üldiselt on Kerberose kasutamisest ettekujutus olemas, nt teksti MIT Kerberose kasutamine Debianiga põhjal, ja Kerberose server on juurutatud.

Lisaks tuleb Kerberose serveri seadistusfaili /etc/krb5.conf sektsiooni [libdefaults] lisada rida

[libdefaults]
  ....
  allow_weak_crypto = true

ja muudatuste kehtestamiseks öelda

# /etc/init.d/krb5-admin-server restart
# /etc/init.d/krb5-kdc restart

NFSv4 server

NFSv4 serverisse tuleb lisaks paigaldada paketid

# apt-get install nfs-kernel-server krb5-config krb5-user libkadm55

ning seadistada /etc/krb5.conf faili sisu nt nii nagu Kerberose serveris. Lisaks tuleb registreerida Kerberose andmebaasis NFS teenusele vastav osapool öeldes NFS serveris

# kadmin -p root/admin -q "addprinc -randkey nfs/nfs-server.loomaaed"

Seejärel tuleb kopeerida NFS serveri failisüsteemi NFS serverile vastav saladus

# kadmin -p root/admin -q "ktadd -e des-cbc-crc:normal -k /etc/krb5.keytab nfs/nfs-server.loomaaed"

NFS serveri seadistusfailis /etc/default/nfs-kernel-server peab sisalduma rida

NEED_SVCGSSD=yes

ja seadistusfailis /etc/default/nfs-common rida

NEED_IDMAPD=yes

NFS tuleb ressurss välja jagada nt selliselt

# cat /etc/fstab
/srv/nfs4        gss/krb5p(rw,sync,fsid=0,insecure,no_subtree_check)
/srv/nfs4/homes  gss/krb5p(rw,nohide,sync,insecure,no_subtree_check)

kusjuures gss/krb5p kohal saab kasutada selliseid väärtusi

  • gss/krb5 - autentimine
  • gss/krb5i - terviklikkus
  • gss/krb5p - privaatsus

Seadistuste kehtestamiseks tuleb restartida nfs-kernel-server öeldes

# /etc/init.d/nfs-kernel-server restart
...
Exporting directories for NFS kernel daemon....
Starting NFS kernel daemon: nfsd svcgssd.

NFSv4 klient

NFSv4 klienti tuleb lisaks paigaldada paketid

# apt-get install nfs-kernel-common krb5-config krb5-user libkadm55

ning seadistada /etc/krb5.conf faili sisu nt nii nagu Kerberose serveris. Lisaks tuleb registreerida Kerberose andmebaasis NFS teenusele vastav osapool öeldes NFS serveris

# kadmin -p root/admin -q "addprinc -randkey nfs/nfs-klient.loomaaed"

Seejärel tuleb kopeerida NFS kliendi failisüsteemi NFS kliendile vastav saladus

# kadmin -p root/admin -q "ktadd -e des-cbc-crc:normal -k /etc/krb5.keytab nfs/nfs-klient.loomaaed"

NFS kliendi seadistusfailis /etc/default/nfs-common peavad sisalduma read

NEED_IDMAPD=yes
NEED_GSSD=yes

Muudatuste kehtestamiseks tuleb uuesti startida nfs-commons öeldes

# /etc/init.d/nfs-common restart
...
Starting NFS common utilities: statd idmapd gssd.

Ressursi kasutamiseks sobib juurkasutajal öelda

# mount -t nfs4 -o sec=krb5p nfs-server.loomaaed:/home /srv/home

või kasutada NFS kliendi /etc/fstab failis rida

nfs-server.loomaaed:/home /srv/home nfs4 rw,sec=krb5p 0 0

Ja seejärel saab kasutaja oma TGT pileti olemasolul pääseda juurde oma nfs andmetele kataloogi /srv/home/priit

Alternatiiviks on, et kasutaja ise ühendab oma ressurssi külge nfs serverist

$ mount -t nfs4 -o sec=krb5p,users nfs-server.loomaaed:/home/priit /home/priit/nfs

Märkused

  • Probleemide jälitamiseks sobib kasutada failis /etc/default/nfs-common rida
RPCGSSDOPTS="-vvv"

ning failis /etc/default/nfs-kernel-server rida

RPCSVCGSSDOPTS="-vvv"
  • Kui on ebaselge, miks /etc/fstab failis kirjeldatud ressursse ei ühendata külge, maksab vaadata, kas konsoolile ei kirjutata
if-up.d/mountnfs[eth0]: lock /var/run/network/mountnfs exist, not mounting ... failed!

ning tuleks eemaldada mainitud kataloog, mis tõenäoliselt jäi süsteemi krahhist vms sündmusest.

  • Tundub, et üldiselt saab NFS klient aru, kui NFS serverist välja jagatud ressurssi online'is suurendatakse. Põhjusel, et NFS klient kasutab NFS serveri teenust nö objektipõhiselt, mitte plokkseadme või failisüsteemi kui tervikuna.

Kasulikud lisamaterjalid