Network File System v.3
Grupi liikmed
-Thomas Tomson A31
-Laas Siimon A31
-Arno Joonsaar A32
Eeldused
-NFS 3 installeerimiseks on vaja eraldi virtuaalmasinaid serveri ja kliendi jaoks.
-Hetkel testitud Ubuntu Serveri versiooniga 9.04.
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.
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 üks rida
/var/nfs <kliendi masina ip>(rw,fsid=0,insecure,no_subtree_check,async) /var/nfs/files <kliendi masina ip>(rw,nohide,insecure,no_subtree_check,async)
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.
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 faildest
/etc/exports
/etc/default/nfs-kernel-server
/etc/default/nfs-common
/etc/idmapd.conf
Kliendi arvutis tee koopia failidest
/etc/fstab
/etc/idmapd.conf