2014. május 21., szerda

Hálózatos fájlmegosztás Linuxon (NFS)

NFS - Hálózatos fájlrendszer 

Hálózatos fájlmegosztás az egyik leggyakoribb szolgáltatás a hálózatokon. Ennek is több formája létezik. A most bemutatásra kerülő módszer a hálózatba kötött Linux gépek közti megosztást és elérést teszi lehetővé. Ezzel a módszerrel egy másik Linux gépen lévő könyvtárat hasonló módon lehet elérni mintha a helyi gépen lenne.
A Linuxon egyetlen fájlrendszer létezik, amibe befűzhetünk (mount) különböző akár távoli fájlrendszereket. Ehhez el kell indítani a távoli gépen az úgynevezett NFS szolgáltatást, illetve a helyi gépen telepíteni kell az NFS kezeléséhez szükséges programcsomagot. A távoli gépen egy egyszerű konfigurációs fájlban megadjuk az exportálandó fájlrendszer részeket, végül a helyi gépen a mount paranccsal befűzzük a távoli exportált fájlrendszer részt a sajátunkba.

A kiszolgáló telepítése

Első lépésként telepítsük a távoli gépre a kiszolgáló (server) programot.

sudo apt-get install nfs-kernel-server

Miután települtek a szükséges programcsomagok a /etc/exports fájlban megadhatjuk hogy milyen fájlrendszer részeket, kiknek és milyen opciókkal akarunk kiajánlani.

sudo nano /etc/exports

Példaként a /srv/share és a /srv/backup könyvtárak kiajánlását láthatjuk:

/srv/share     *(rw,sync,no_root_squash)
/srv/backup    192.168.1.200(rw,sync,no_root_squash)

A fenti exportálás esetében a /srv/share könyvtárat (aminek léteznie kell) minden IP címről elérhetővé teszi. A /srv/backup könyvtárat csak a 192.168.1.200 IP címről teszi elérhetővé (pl. egy levelezőszerverről a mentések ide készülnek)
Figyeljünk hogy az IP cím (illetve a *) után közvetlenül, szóköz nélkül kezdődjön az opciókat tartalmazó nyitó zárójel!
A példában használt opciók jelentése a következő:
  • rw - 
  • sync -
  • no_root_squash - 
  • no_subtree_check - 
Természetesen ennél több opció áll rendelkezésre. Ehhez lásd a manual oldalakat:

man exports

Miután megadtuk a konfigurációt, indítsuk el a szolgáltatást:

sudo service nfs-kernel-server start

Ezzel a kiszolgáló oldalon készen vagyunk, az NFS szerver működik mégpedig a 2049 porton.

Teendők a kliens oldalon

A kliens oldalon első teendőnk a nfs-common csomag telepítése.

apt-get install nfs-common

Ezek után hozzuk létre a csatolási pontok helyét (azaz a könyvtárat ahová csatolni szeretnénk a távoli megosztott könyvtárat):

mkdir -i /mnt/nfs/share
mkdir -i /mnt/nfs/backup

ezután csatolhatjuk a távoli könyvtárat:

sudo mount 192.168.1.100:/srv/backup /mnt/nfs/backup

A csatolást ellenőrizhetjük:

df -h

A manuális csatolás helyett használhatjuk /etc/fstab fájlt is az automatikus csatoláshoz. Ehhez írjuk bele a következő sort:

192.168.1.100:/srv/backup /mnt/nfs/backup nfs rsize=8192,wsize=8192,timeo=14,intr

A /etc/fstab fájlban megadható NFS csatolási opciókról részletesen a manualban lehet olvasni:

man nfs

Az NFS csatolás tesztelése

A csatolt fájlrendszert ezek után használhatjuk, mintha a helyi fájlrendszer része lenne.

Ellenőrzésként hozzunk létre egy proba nevű fájlt:

sudo touch /mnt/nfs/backup/proba

ellenőrizzük hogy létre jött-e a fájl:

ls -l /mnt/nfs/backup

A fájllistában ott kell lennie a proba nevű fájlnak.

Jogosultságok

Ahhoz, hogy az NFS csatolási pontokra legyen írási jogunk a kliens oldalon, szükséges hogy a szerver oldalon a felhasználók létezzenek és megfelelő jogokkal rendelkezzenek a megosztott könyvtárhoz. Tehát fel kell venni a szerveren a felhasználókat (adduser) és a könyvtár jogosultságokat be kell állítani (chmod).

Záradék

Megjegyzések:

  • A fenti példákban a 192.168.1.200 IP címen egy Backup szerver, a 192.168.1.100 címen pedig egy Samba kiszolgáló működik. A Backup szerveren telepítettem az NFS kiszolgálót, a Samba szerveren pedig a klienst, majd csatoltam a Samba szerver fájlrendszerébe a Backup tárhelyét. Ezután egy egyszerű tar paranccsal már meg is oldható a Samba szerveren lévő windowsos megosztások tartalma.
  • A csatolási művelet nálam elég lassan (5-10 mp) történt, bár hozzá kell tennem hogy egy nagyon minimalista kis teljesítményű servert helyeztem üzembe.

Használt források: 




Nincsenek megjegyzések:

Megjegyzés küldése