Network File System v.3: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Ajoonsaa (talk | contribs)
No edit summary
Ajoonsaa (talk | contribs)
 
(89 intermediate revisions by 3 users not shown)
Line 4: Line 4:
-Arno Joonsaar A32
-Arno Joonsaar A32


=Eeldused=
=Versioon=
-NFS 3 installeerimiseks on vaja eraldi virtuaalmasinaid serveri ja kliendi jaoks.<br>
1.0
-Hetkel testitud Ubuntu Serveri versiooniga 9.04.
 
==Viimase muutmise aeg==
15.12.2009 13:15
 
=Sissejuhatus=
Network File System (NFS) võimaldab serveri failisüsteemi välja jagamist klientidele nii, et see näib nende jaoks lokaalse failisüsteemina. Vaatluse all on varasem NFSv3 ja uus ning põnev NFSv4. Võrguketas võimaldab lihtsamat failide haldamist, varundamist ja monitooringut.<br>  
Järgnev artikkel kirjeldab Network File System v.3 ja v.4 serveri ja kliendi seadistust, testimist ja varundamist Ubuntu 9.04 ja 9.10 versiooniga.
   
   
=Töö käik=
==Legend==
Eduka väikefirma töötajate töökal grupil on käsil uus ja põnev projekt, mille edukaks edendamiseks on vaja ligipääsu tsentreeritud serveris asuvatele dokumentidele. Nad kuuluvad kõik samasse gruppi ning sellel grupil on vaja pidevalt viimast versiooni töös olevatest failidest.
 
 
*Kõik teenuse kasutajad kuuluvad gruppi "nfsusers"
*Serveris on NFSv3 puhul jagatud kaust nimega /var/nfs
*Kliendile näib see mounditud kaustana /var/files
*Kõikidele klientidele on antud lugemis- ja kirjutamisõigus.
*Root kasutaja serverisse ühendumist ei lubata
 
==Eeldused==
-NFS-i testimiseks on vaja eraldi virtuaalmasinaid serveri ja kliendi jaoks.<br>
-Hetkel testitud Ubuntu Linuxi versioonidega 9.04 ja 9.10.
 
 
=NFS serveri installeerimine=
 
Logime ennast root kasutajaks:
Logime ennast root kasutajaks:
<pre>
<pre>
sudo -i
sudo -i
</pre>
</pre>
Enne installerimist tasub uuendada tarkvara nimekirja:
Enne installerimist tasub uuendada tarkvara nimekirja:
<pre>
<pre>
apt-get update
apt-get update
</pre>
</pre>
=NFS serveri installeerimine=


Installeerimine apt-käsu abil:
Installeerimine apt-käsu abil:
Line 42: Line 62:
<pre>
<pre>
chgrp nfsusers /var/nfs
chgrp nfsusers /var/nfs
</pre>
Lisa loodud kausta grupiõigustele lugemis- ja kirjutamisbitt
<pre>
chmod g+rw /var/nfs
</pre>
</pre>


Line 51: Line 76:
Lisada faili lõppu rida
Lisada faili lõppu rida
<pre>
<pre>
/var/nfs            <kliendi masina ip>(rw,no_root_squash)
/var/nfs            <kliendi masina ip>(rw,root_squash,no_subtree_check)
</pre>
</pre>
Selgitus:
Selgitus:
rw - read/write<br>
rw - lubame klientidele lugemist ja kirjutamist.<br>
no_root_squash - võimaldab NFS kliendil ühenduda root õiguste all.
root_squash - Serveriga ühenduda püüdev root kasutaja UID-ga 0 mapitakse anonüümseks kasutajaks. (st. turvariskide vähendamiseks ei lubada sharele ligi)<br>
no_subtree_check - suurendab mõningatel juhtudel natuke süsteemi töökindlust.




Serveri reloadiks kasuta järgmist käsklust:
NFS serveri reloadiks kasuta järgmist käsklust:
<pre>
<pre>
sudo /etc/init.d/nfs-kernel-server restart
/etc/init.d/nfs-kernel-server restart
</pre>
</pre>


Kui muudad faili /etc/exports töötaval masinal, saad tehtud muudatused rakendada käsuga
Ainult failis /etc/exports tehtud muudatusi saad rakendada ka serverile restarti tegemata, kasutades käsku
<pre>
<pre>
sudo exportfs -a
exportfs -a
</pre>
</pre>


Line 73: Line 99:
</pre>
</pre>


Kontrollida et kuulatakse järgmiseid porte
Vaata, et kuulatakse järgmiseid porte
<pre>
<pre>
2049
#Väljundist huvitavad meid read:
111
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address      Foreign Address    State
tcp        0      0 0.0.0.0:2049       0.0.0.0:*          LISTEN
tcp        0      0 0.0.0.0:111       0.0.0.0:*          LISTEN
</pre>
</pre>
Selgitus: 2049 - standard pordi number NFSi jaoks.<br>
Selgitus: 2049 - standard pordi number NFSi jaoks.<br>
Line 95: Line 124:
</pre>
</pre>


Failide jagamise kontrollimiseks tekita kausta /var/nfs suvaline fail.
Hiljem kliendi seadistamisel failide jagamise kontrollimiseks on abiks kui tekitada kausta /var/nfs mingi suvaline fail.
<pre>
<pre>
touch foo.txt
touch foo.txt
</pre>
</pre>


=NFS kliendi installeerimine=


=NFS kliendi installeerimine=
Logime ennast root kasutajaks:
<pre>
sudo -i
</pre>
 
Enne installerimist tasub uuendada tarkvara nimekirja:
<pre>
apt-get update
</pre>


Installeerimine apt-käsu abil:
Installeerimine apt-käsu abil:
<pre>
<pre>
sudo apt-get install portmap nfs-common
apt-get install portmap nfs-common
</pre>
</pre>




==NFS kliendi seadistamine==
==NFS kliendi seadistamine==
Luua kasutajagrupp ''nfsusers'':
<pre>
groupadd nfsusers
</pre>


Jälgida et NFSi kasutaja kuuluks gruppi ''nfsusers''. Et kontrollida mis gruppi kasutaja kuulub kasuta ''groups'' käsku.  
Jälgida et NFSi kasutaja kuuluks gruppi ''nfsusers''. Et kontrollida mis gruppi kasutaja kuulub kasuta ''groups'' käsku.  
Line 117: Line 160:


Juhul kui kasutaja ei kuulu nimetatud gruppi lisada ta sinna.
Juhul kui kasutaja ei kuulu nimetatud gruppi lisada ta sinna.
 
<pre>
addgroup <kasutajanimi> nfsusers
</pre>


Loo kataloog, näiteks /var/files, salvestatavate failide jaoks
Loo kataloog, näiteks /var/files, salvestatavate failide jaoks
Line 124: Line 169:
</pre>
</pre>


Testimiseks tuleb mountida eelmises punktis loodud kataloog käsitsi kasutades ''mount'' käsku
Määrata loodud kausta grupiks ''nfsusers''.
<pre>
chgrp nfsusers /var/files
</pre>
 
Testimiseks tuleb mountida eelmises punktis loodud kataloog esialgu käsitsi kasutades selleks ''mount'' käsku
<pre>
<pre>
mount <serveri ip>:/var/nfs /var/files
mount <serveri ip>:/var/nfs /var/files
Line 159: Line 209:
</pre>
</pre>


=NFSv3 varundamine=


=Taastamine=
Luua serveris ja kliendi masinas kaustad varunduskoopiate jaoks, näiteks ''/var/backup''.
<pre>
mkdir /var/backup
</pre>


Serveris tee koopia failist  
Serveris tee koopia failist  
<pre>
<pre>
/etc/exports
cp /etc/exports /var/backup
</pre>
</pre>


Kliendi arvutis tee koopia failist  
Kliendi arvutis tee koopia failist  
<pre>
<pre>
/etc/fstab
cp /etc/fstab /var/backup
</pre>
</pre>


=Taastamine=
Taastamiseks kopeerida varem varundatud failid algupärastesse asukohtadesse.
Serveris:
<pre>
cp /var/backup/exports /etc
</pre>
Kliendi masinas:
<pre>
cp /var/backup/fstab /etc
</pre>


=NFSv3 ja NFSv4 võrdlus=
=Network File System version 4=
==NFSv3 ja NFSv4 võrdlus==


-NFSv4 peamine eelis on Kerberosega autentimise võimalus, muutes turvalisuse tunduvalt kõrgemaks.<br>
-NFSv4 peamine eelis on mitmed keerukad turvamehhanismid mis on kliendile kohustuslikud. Nende mehhanismide seas on Kerberos 5 ja SPKM3, lisaks tradistsioonilisele AUTH_SYS autentimisele. Uus API võimaldab lihtsat turvamehhanismide lisamist tulevikus.<br>
-NFSv4 võimaldab kliendi poolt anda failile seisundi (lukustamine, lugemine, kirjutamine jne) ning teavitada sellest serverit.<br>
-NFSv4 võimaldab kliendi poolt anda failile seisundi (lukustamine, lugemine, kirjutamine jne) ning teavitada sellest serverit.<br>
-NFSv4 võimaldab faili delegeerimist - server võimaldab kliendil muuta faili oma cache'is, saatmata serverile päringuid kuni serverisse tuleb päring teiselt kliendilt sama faili kohta. See omakorda vähendab liiklust serveri ja kliendi vahel juhul kui mitu kasutajat ei soovi ligi pääseda samaaegselt ühele failile.<br>
-NFSv4 võimaldab faili delegeerimist - server võimaldab kliendil muuta faili oma cache'is, saatmata serverile päringuid kuni serverisse tuleb päring teiselt kliendilt sama faili kohta. See omakorda vähendab liiklust serveri ja kliendi vahel juhul kui teised kasutajad ei soovi ligi pääseda samaaegselt ühele failile.<br>
-NFSv4 kasutab kokkuliidetud RPCsid. NFSv4 klient suudab kombineerida mitu traditsioonilist NFS operatsiooni ühte RPC päringusse.
-NFSv4 kasutab kokkuliidetud RPCsid. NFSv4 klient suudab kombineerida mitu traditsioonilist NFS operatsiooni ühte RPC päringusse ning seega viia läbi keerulisi operatsioone tõhusamalt.<br>
-NFSv4 toetab nimedega atribuute. Kasutajate ja gruppide info talletatakse stringi, mitte numbrilise väärtuse kujul. ACLid, kasutajnimed, grupi nimed ja nimedega atribuudid talletatakse, kasutades UTF-8 kodeeringut.<br>
-NFSv4 kombineerib erinevad NFS protokollid ühte protokolli et võimaldada paremat ühilduvust võrgu tulemüüridega.


=NFSv4 uuendamine=
 
-Uuendame NFSv3 NFSv4-ks, kuid ei võta kasutusele Kerberose vastu autentimist.<br>
==Legend==
-Kui Kerberost mitte kasutada, siis ei tule midagi lisaks paigaldada vaid tuleb olemasolevat konfiguratsiooni täiendada.
Otsustatakse üle minna NFSv4-le seoses Kerberose autentimise võimalusega. Hetkel toimub ainult NFS protokolli muutus ja Kerberost kasutusele ei võeta. Kui Kerberost mitte kasutada, tuleb ainult olemasolevat süsteemi konfiguratsiooni täiendada.
 
*Kasutajad kuuluvad gruppi "nfsusers"
*Pseudo failisüsteemi juur on kaust /var/nfs
*Kasutajatele on jagatud kaust nimega /var/nfs/files
*Kliendile näib see mounditud kaustana /var/files
*Kõikidele klientidele on antud lugemis- ja kirjutamisõigus.
*Root kasutaja serverisse ühendumist ei lubata




==Serveri uuendamine==  
==Serveri uuendamine==  


Muuta nanoga faili /etc/default/nfs-kernel-server
Luua kausta /var/nfs kaust nimega ''files''
<pre>
mkdir /var/nfs/files
</pre>
 
Avada nanoga fail /etc/default/nfs-kernel-server
<pre>
nano /etc/default/nfs-kernel-server
</pre>
 
Muuta faili sisu vastavalt
<pre>
<pre>
NEED_SVCGSSD=no # no is default
NEED_SVCGSSD=no
</pre>
</pre>
Selgitus: SVCGSSD on Kerberose deemon mille lülitame välja.
Selgitus: SVCGSSD on deemon Kerberosega ühendumiseks, mille lülitame välja. 'No' on vaikimisi seadistus juhul kui Kerberost ei kasutata.
 


Avada nanoga fail /etc/default/nfs-common
<pre>
nano /etc/default/nfs-common
</pre>


Muuta nanoga faili /etc/default/nfs-common, muuta faili sisu vastavalt
Muuta faili sisu vastavalt
<pre>
<pre>
NEED_IDMAPD=yes
NEED_IDMAPD=yes
NEED_GSSD=no # no is default
NEED_GSSD=no
</pre>
</pre>
Selgitus: IDMAPD  vajalik ainult NFS 4 puhul. Transleerib UID ja GID nimedeks.<br>
Selgitus: IDMAPD  vajalik ainult NFS 4 puhul. Transleerib UID ja GID nimedeks.<br>
GSSD - Kerberose deemoni osa.
GSSD - võimaldab kasutada GSS teenuseid. Vastutab Kerberose mountide eest. 'No' on vaikimisi seadistus juhul kui Kerberost ei kasutata.
 


Avada nanoga fail /etc/exports
<pre>
nano /etc/exports
</pre>


Muuta nanoga faili /etc/exports, muuta varem faili lõppu lisatud rida
Muuta varem faili lõppu lisatud rida ja lisada rida:
<pre>
<pre>
/var/nfs <kliendi masina ip>(rw,nohide,insecure,no_subtree_check,async)
/var/nfs         <kliendi masina ip>(rw,fsid=0,no_subtree_check,async,root_squash)
/var/nfs/files  <kliendi masina ip>(rw,no_subtree_check,async,root_squash)
</pre>
</pre>


Avada nanoga fail /etc/idmapd.conf, muuta domeeni parameeter õigeks.
Avada nanoga fail /etc/idmapd.conf
<pre>
nano /etc/idmapd.conf
</pre>
 
Muuta failis domeeni parameeter õigeks.
<pre>
<pre>
Domain = <sinu domeeni nimi>
Domain = <sinu domeeni nimi>
Line 215: Line 317:
Tehke teenusele restart
Tehke teenusele restart
<pre>
<pre>
# service nfs-kernel-server restart
service nfs-kernel-server restart
</pre>
</pre>


Failide jagamise kontrollimiseks tekita kausta /var/nfs/files suvaline fail.
<pre>
touch foo.txt
</pre>


==NFSv4 kliendi uuendamine==
 
==Kliendi uuendamine==


Mountida salvestatavate failide jaoks loodud kataloog esialgu käsitsi
Mountida salvestatavate failide jaoks loodud kataloog esialgu käsitsi
<pre>
<pre>
# mount -t nfs4 -o proto=tcp,port=2049 nfs-server:/ /var/files
mount -t nfs4 <serveri ip>:/files /var/files
</pre>
</pre>


Avada nanoga fail /etc/fstab, muuta viimast rida
Mountimise õnnestumise kontrollimiseks sisesta käsk
<pre><serveri ip>:/nfs    /var/files  nfs4    _netdev,auto  0  0
<pre>
df -h
</pre>
</pre>


Avada nanoga fail /etc/idmapd.conf, muuta domeeni parameeter õigeks.
Kontrollida et serverisse loodud foo.txt oleks nähtav kliendi /var/files kaustast.
 
Kontrollida kas on võimalik luua kliendi arvutist uut faili.
 
 
Avada nanoga fail /etc/fstab
<pre>
nano /etc/fstab
</pre>
 
Muuta viimast rida
<pre>
<serveri ip>:/files    /var/files  nfs4    _netdev,auto  0  0
</pre>
 
Avada nanoga fail /etc/idmapd.conf
<pre>
nano /etc/idmapd.conf
</pre>
 
Muuta failis domeeni parameeter õigeks.
<pre>
<pre>
Domain = <sinu domeeni nimi>
Domain = <sinu domeeni nimi>
</pre>
</pre>


Kui tegu on aeglase võrguga või peale alglaadimist on mountimisega probleeme, muuta faili /etc/rc.local
<pre>
sleep 5
mount /var/files
</pre>
=NFSv4 varundamine=
Serveris tee koopia failidest
<pre>
cp /etc/exports /var/backup
</pre>
<pre>
cp /etc/default/nfs-kernel-server /var/backup
</pre>
<pre>
cp /etc/default/nfs-common /var/backup
</pre>
<pre>
cp /etc/idmapd.conf /var/backup
</pre>
Kliendi arvutis tee koopia failidest
<pre>
cp /etc/fstab /var/backup
</pre>
<pre>
cp /etc/idmapd.conf /var/backup
</pre>
=Taastamine=
Taastamiseks kopeerida varem varundatud failid algupärastesse asukohtadesse.
Serveris:
<pre>
cp /var/backup/exports /etc
</pre>
<pre>
cp /var/backup/nfs-kernel-server /etc/default
</pre>
<pre>
cp /var/backup/nfs-common /etc/default
</pre>
<pre>
cp /var/backup/idmapd.conf /etc
</pre>
Kliendi masinas:
<pre>
cp /var/backup/fstab /etc
</pre>
<pre>
cp /var/backup/idmapd.conf /etc
</pre>
=Logid=
NFS saadab oma logiteateid syslogisse, kust neid saab vajadusel grepiga otsida. Kuna NFS töötab kerneli teenusena (syslog prefix kernel), ei ole võimalik  NFSi logisid eraldi välja suunata. Lahendseks oleks NFS kasutamine userspace teenusena, kuid sellel on jällegi omad puudused.
=Lingid=
-http://nfs.sourceforge.net/ (ülevaate saamiseks NFS-ist tervikuna)<br>
-http://www.ubuntugeek.com/nfs-server-and-client-configuration-in-ubuntu.html (väga hea step-by-step õpetus NFSv3 jaoks)<br>
-https://help.ubuntu.com/community/NFSv4Howto (väga hea step-by-step õpetus NFSv4 jaoks)<br>
-http://www.redhat.com/docs/manuals/enterprise/RHEL-5-manual/Deployment_Guide-en-US/s1-nfs-client-config-options.html (veel mountimise optioneid)


[[Category: IT infrastruktuuri teenused]]
[[Category: IT infrastruktuuri teenused]]

Latest revision as of 20:02, 15 December 2009

Grupi liikmed

-Thomas Tomson A31
-Laas Siimon A31
-Arno Joonsaar A32

Versioon

1.0

Viimase muutmise aeg

15.12.2009 13:15

Sissejuhatus

Network File System (NFS) võimaldab serveri failisüsteemi välja jagamist klientidele nii, et see näib nende jaoks lokaalse failisüsteemina. Vaatluse all on varasem NFSv3 ja uus ning põnev NFSv4. Võrguketas võimaldab lihtsamat failide haldamist, varundamist ja monitooringut.
Järgnev artikkel kirjeldab Network File System v.3 ja v.4 serveri ja kliendi seadistust, testimist ja varundamist Ubuntu 9.04 ja 9.10 versiooniga.

Legend

Eduka väikefirma töötajate töökal grupil on käsil uus ja põnev projekt, mille edukaks edendamiseks on vaja ligipääsu tsentreeritud serveris asuvatele dokumentidele. Nad kuuluvad kõik samasse gruppi ning sellel grupil on vaja pidevalt viimast versiooni töös olevatest failidest.


  • Kõik teenuse kasutajad kuuluvad gruppi "nfsusers"
  • Serveris on NFSv3 puhul jagatud kaust nimega /var/nfs
  • Kliendile näib see mounditud kaustana /var/files
  • Kõikidele klientidele on antud lugemis- ja kirjutamisõigus.
  • Root kasutaja serverisse ühendumist ei lubata

Eeldused

-NFS-i testimiseks on vaja eraldi virtuaalmasinaid serveri ja kliendi jaoks.
-Hetkel testitud Ubuntu Linuxi versioonidega 9.04 ja 9.10.


NFS serveri installeerimine

Logime ennast root kasutajaks:

sudo -i

Enne installerimist tasub uuendada tarkvara nimekirja:

apt-get update

Installeerimine apt-käsu abil:

apt-get install nfs-kernel-server nfs-common portmap


NFS serveri seadistamine

Luua kasutajagrupp nfsusers:

groupadd nfsusers

Luua jagatavate failide jaoks kataloog, näiteks.

mkdir /var/nfs

Määrata loodud kausta grupiks nfsusers.

chgrp nfsusers /var/nfs

Lisa loodud kausta grupiõigustele lugemis- ja kirjutamisbitt

chmod g+rw /var/nfs

Ava nanoga fail /etc/exports

nano /etc/exports

Lisada faili lõppu rida

/var/nfs            <kliendi masina ip>(rw,root_squash,no_subtree_check)

Selgitus: rw - lubame klientidele lugemist ja kirjutamist.
root_squash - Serveriga ühenduda püüdev root kasutaja UID-ga 0 mapitakse anonüümseks kasutajaks. (st. turvariskide vähendamiseks ei lubada sharele ligi)
no_subtree_check - suurendab mõningatel juhtudel natuke süsteemi töökindlust.


NFS serveri reloadiks kasuta järgmist käsklust:

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

Ainult failis /etc/exports tehtud muudatusi saad rakendada ka serverile restarti tegemata, kasutades käsku

exportfs -a

Kontrollida kasutusel olevaid porte käsuga

netstat -lntu

Vaata, et kuulatakse järgmiseid porte

#Väljundist huvitavad meid read:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address      Foreign Address     State
tcp        0      0 0.0.0.0:2049       0.0.0.0:*           LISTEN
tcp        0      0 0.0.0.0:111        0.0.0.0:*           LISTEN

Selgitus: 2049 - standard pordi number NFSi jaoks.
111-portmapper


Kontrollida et NFS on töökorras

rpcinfo -p

#Väljundist huvitavad meid read:
   program vers proto   port
    100000    2   tcp    111  portmapper
    100000    2   udp    111  portmapper
    100003    2   udp   2049  nfs
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs

Hiljem kliendi seadistamisel failide jagamise kontrollimiseks on abiks kui tekitada kausta /var/nfs mingi suvaline fail.

touch foo.txt

NFS kliendi installeerimine

Logime ennast root kasutajaks:

sudo -i

Enne installerimist tasub uuendada tarkvara nimekirja:

apt-get update

Installeerimine apt-käsu abil:

apt-get install portmap nfs-common


NFS kliendi seadistamine

Luua kasutajagrupp nfsusers:

groupadd nfsusers

Jälgida et NFSi kasutaja kuuluks gruppi nfsusers. Et kontrollida mis gruppi kasutaja kuulub kasuta groups käsku.

groups <kasutajanimi>

Juhul kui kasutaja ei kuulu nimetatud gruppi lisada ta sinna.

addgroup <kasutajanimi> nfsusers

Loo kataloog, näiteks /var/files, salvestatavate failide jaoks

mkdir /var/files

Määrata loodud kausta grupiks nfsusers.

chgrp nfsusers /var/files

Testimiseks tuleb mountida eelmises punktis loodud kataloog esialgu käsitsi kasutades selleks mount käsku

mount <serveri ip>:/var/nfs /var/files

Mountimise õnnestumise kontrollimiseks sisesta käsk

df -h

Kontrollida et serverisse loodud foo.txt oleks nähtav kliendi /var/files kaustast.

Kontrollida kas on võimalik luua kliendi arvutist uut faili.


Mountimise lõpetamiseks kasutada käsku:

umount /var/files 

Kui mountimine ja kausta jagamine õnnestusid muuda faili /etc/fstab

nano /etc/fstab

Faili lõppu lisada rida

<serveri ip>:/var/nfs /var/files nfs rw 0 0

Ühenda automaatselt kõik mis kuulub automaatsesse ühendamisesse

mount -a

NFSv3 varundamine

Luua serveris ja kliendi masinas kaustad varunduskoopiate jaoks, näiteks /var/backup.

mkdir /var/backup

Serveris tee koopia failist

cp /etc/exports /var/backup

Kliendi arvutis tee koopia failist

cp /etc/fstab /var/backup

Taastamine

Taastamiseks kopeerida varem varundatud failid algupärastesse asukohtadesse.

Serveris:

cp /var/backup/exports /etc

Kliendi masinas:

cp /var/backup/fstab /etc

Network File System version 4

NFSv3 ja NFSv4 võrdlus

-NFSv4 peamine eelis on mitmed keerukad turvamehhanismid mis on kliendile kohustuslikud. Nende mehhanismide seas on Kerberos 5 ja SPKM3, lisaks tradistsioonilisele AUTH_SYS autentimisele. Uus API võimaldab lihtsat turvamehhanismide lisamist tulevikus.
-NFSv4 võimaldab kliendi poolt anda failile seisundi (lukustamine, lugemine, kirjutamine jne) ning teavitada sellest serverit.
-NFSv4 võimaldab faili delegeerimist - server võimaldab kliendil muuta faili oma cache'is, saatmata serverile päringuid kuni serverisse tuleb päring teiselt kliendilt sama faili kohta. See omakorda vähendab liiklust serveri ja kliendi vahel juhul kui teised kasutajad ei soovi ligi pääseda samaaegselt ühele failile.
-NFSv4 kasutab kokkuliidetud RPCsid. NFSv4 klient suudab kombineerida mitu traditsioonilist NFS operatsiooni ühte RPC päringusse ning seega viia läbi keerulisi operatsioone tõhusamalt.
-NFSv4 toetab nimedega atribuute. Kasutajate ja gruppide info talletatakse stringi, mitte numbrilise väärtuse kujul. ACLid, kasutajnimed, grupi nimed ja nimedega atribuudid talletatakse, kasutades UTF-8 kodeeringut.
-NFSv4 kombineerib erinevad NFS protokollid ühte protokolli et võimaldada paremat ühilduvust võrgu tulemüüridega.


Legend

Otsustatakse üle minna NFSv4-le seoses Kerberose autentimise võimalusega. Hetkel toimub ainult NFS protokolli muutus ja Kerberost kasutusele ei võeta. Kui Kerberost mitte kasutada, tuleb ainult olemasolevat süsteemi konfiguratsiooni täiendada.

  • Kasutajad kuuluvad gruppi "nfsusers"
  • Pseudo failisüsteemi juur on kaust /var/nfs
  • Kasutajatele on jagatud kaust nimega /var/nfs/files
  • Kliendile näib see mounditud kaustana /var/files
  • Kõikidele klientidele on antud lugemis- ja kirjutamisõigus.
  • Root kasutaja serverisse ühendumist ei lubata


Serveri uuendamine

Luua kausta /var/nfs kaust nimega files

mkdir /var/nfs/files

Avada nanoga fail /etc/default/nfs-kernel-server

nano /etc/default/nfs-kernel-server

Muuta faili sisu vastavalt

NEED_SVCGSSD=no

Selgitus: SVCGSSD on deemon Kerberosega ühendumiseks, mille lülitame välja. 'No' on vaikimisi seadistus juhul kui Kerberost ei kasutata.


Avada nanoga fail /etc/default/nfs-common

nano /etc/default/nfs-common

Muuta faili sisu vastavalt

NEED_IDMAPD=yes
NEED_GSSD=no

Selgitus: IDMAPD vajalik ainult NFS 4 puhul. Transleerib UID ja GID nimedeks.
GSSD - võimaldab kasutada GSS teenuseid. Vastutab Kerberose mountide eest. 'No' on vaikimisi seadistus juhul kui Kerberost ei kasutata.


Avada nanoga fail /etc/exports

nano /etc/exports

Muuta varem faili lõppu lisatud rida ja lisada rida:

/var/nfs         <kliendi masina ip>(rw,fsid=0,no_subtree_check,async,root_squash)
/var/nfs/files   <kliendi masina ip>(rw,no_subtree_check,async,root_squash)

Avada nanoga fail /etc/idmapd.conf

nano /etc/idmapd.conf

Muuta failis domeeni parameeter õigeks.

Domain = <sinu domeeni nimi>

Tehke teenusele restart

service nfs-kernel-server restart

Failide jagamise kontrollimiseks tekita kausta /var/nfs/files suvaline fail.

touch foo.txt


Kliendi uuendamine

Mountida salvestatavate failide jaoks loodud kataloog esialgu käsitsi

mount -t nfs4 <serveri ip>:/files /var/files

Mountimise õnnestumise kontrollimiseks sisesta käsk

df -h

Kontrollida et serverisse loodud foo.txt oleks nähtav kliendi /var/files kaustast.

Kontrollida kas on võimalik luua kliendi arvutist uut faili.


Avada nanoga fail /etc/fstab

nano /etc/fstab

Muuta viimast rida

<serveri ip>:/files    /var/files   nfs4    _netdev,auto  0  0

Avada nanoga fail /etc/idmapd.conf

nano /etc/idmapd.conf

Muuta failis domeeni parameeter õigeks.

Domain = <sinu domeeni nimi>

Kui tegu on aeglase võrguga või peale alglaadimist on mountimisega probleeme, muuta faili /etc/rc.local

sleep 5
mount /var/files

NFSv4 varundamine

Serveris tee koopia failidest

cp /etc/exports /var/backup
cp /etc/default/nfs-kernel-server /var/backup
cp /etc/default/nfs-common /var/backup
cp /etc/idmapd.conf /var/backup

Kliendi arvutis tee koopia failidest

cp /etc/fstab /var/backup
cp /etc/idmapd.conf /var/backup

Taastamine

Taastamiseks kopeerida varem varundatud failid algupärastesse asukohtadesse.

Serveris:

cp /var/backup/exports /etc
cp /var/backup/nfs-kernel-server /etc/default
cp /var/backup/nfs-common /etc/default
cp /var/backup/idmapd.conf /etc

Kliendi masinas:

cp /var/backup/fstab /etc
cp /var/backup/idmapd.conf /etc

Logid

NFS saadab oma logiteateid syslogisse, kust neid saab vajadusel grepiga otsida. Kuna NFS töötab kerneli teenusena (syslog prefix kernel), ei ole võimalik NFSi logisid eraldi välja suunata. Lahendseks oleks NFS kasutamine userspace teenusena, kuid sellel on jällegi omad puudused.

Lingid

-http://nfs.sourceforge.net/ (ülevaate saamiseks NFS-ist tervikuna)
-http://www.ubuntugeek.com/nfs-server-and-client-configuration-in-ubuntu.html (väga hea step-by-step õpetus NFSv3 jaoks)
-https://help.ubuntu.com/community/NFSv4Howto (väga hea step-by-step õpetus NFSv4 jaoks)
-http://www.redhat.com/docs/manuals/enterprise/RHEL-5-manual/Deployment_Guide-en-US/s1-nfs-client-config-options.html (veel mountimise optioneid)