Network File System v.3

From ICO wiki
Revision as of 15:31, 30 November 2009 by Ajoonsaa (talk | contribs)
Jump to navigationJump to search

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.
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 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"


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 15:19


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 varundamine

Serveris tee koopia failist

/etc/exports

Kliendi arvutis tee koopia failist

/etc/fstab

Taastamine

Taastamiseks kopeerida varem varundatud failid algupärastesse asukohtadesse.


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 ühendumisel muudetakse tema UID ja GID 'nobody' ja 'nogroup'


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 varundamine

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

Taastamine

Taastamiseks kopeerida varem varundatud failid algupärastesse asukohtadesse.

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)