Network File System v.3
Grupi liikmed
-Thomas Tomson A31
-Laas Siimon A31
-Arno Joonsaar A32
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.
Legend
Eduka firma 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 ühendumisel muudetakse tema UID ja GID "nobody" ja "nogroup"
Skoop
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.
Eeldused
-NFS 3 installeerimiseks on vaja eraldi virtuaalmasinaid serveri ja kliendi jaoks.
-Hetkel testitud Ubuntu Serveri versiooniga 9.04 ja 9.10.
Viimase muutmise aeg
30.11.2009 14:24
Töö käik
Logime ennast root kasutajaks:
sudo -i
Enne installerimist tasub uuendada tarkvara nimekirja:
apt-get update
NFS serveri installeerimine
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,no_root_squash,no_subtree_check)
Selgitus:
rw - read/write
no_root_squash - NFS klient ei saa ühenduda serverisse root õiguste all.
no_subtree_check - suurendab natuke süsteemi töökindlust.
Serveri reloadiks kasuta järgmist käsklust:
sudo /etc/init.d/nfs-kernel-server restart
Kui muudad faili /etc/exports töötaval masinal, saad tehtud muudatused rakendada käsuga
sudo exportfs -a
Kontrollida kasutusel olevaid porte käsuga
netstat -lntu
Kontrollida et kuulatakse järgmiseid porte
2049 111
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
Failide jagamise kontrollimiseks tekita kausta /var/nfs suvaline fail.
touch foo.txt
NFS kliendi installeerimine
Installeerimine apt-käsu abil:
sudo apt-get install portmap nfs-common
NFS kliendi seadistamine
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
Testimiseks tuleb mountida eelmises punktis loodud kataloog käsitsi kasutades 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 taastamine
Serveris tee koopia failist
/etc/exports
Kliendi arvutis tee koopia failist
/etc/fstab
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. Külastage meie wikit seoses uuendustega.
- Kasutajad kuuluvad gruppi "nfsusers"
- Serveris on NFSv4 puhul 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 ühendumisel muudetakse tema UID ja GID 'nobody' ja 'nogroup'
NFSv3 uuendamine NFSv4-ks
-Uuendame NFSv3 NFSv4-ks, kuid ei võta kasutusele Kerberose protokolli vastu autentimist.
-Kui Kerberost mitte kasutada, tuleb ainult olemasolevat süsteemi konfiguratsiooni täiendada.
Serveri uuendamine
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 read:
/var/nfs <kliendi masina ip>(rw,fsid=0,insecure,no_subtree_check,async,no_root_squash) /var/nfs/files <kliendi masina ip>(rw,nohide,insecure,no_subtree_check,async,no_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 -o proto=tcp,port=2049 <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.
Kui tegu on aeglase võrguga või peale rebootimist on mountimisega probleeme, muuta faili /etc/rc.local
# sleep 5 # mount /var/files
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>
NFSv4 taastamine
Serveris tee koopia failidest
/etc/exports
/etc/default/nfs-kernel-server
/etc/default/nfs-common
/etc/idmapd.conf
Kliendi arvutis tee koopia failidest
/etc/fstab
/etc/idmapd.conf