Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Windows telefon
  • NFSv4 pruža objedinjeni pristup mreži. Instaliranje i konfigurisanje NFS servera

NFSv4 pruža objedinjeni pristup mreži. Instaliranje i konfigurisanje NFS servera

Nisu svi upoznati s protokolima prijenosa podataka. Ali mnogi bi željeli povezati svoje računare na jednu mrežu ili koristiti server za skladištenje datoteka. Jedan od načina da se to uradi je NFS. Kako postaviti NFS server u Ubuntu - čitajte dalje.

Pravilnom konfiguracijom NFS-a možete kombinovati računare na različitim operativnim sistemima u jednu mrežu.

Mrežni sistem datoteka je protokol za mrežni pristup datotekama. Kao i obično, sastoji se od dva dijela. Jedan - klijent, koji se nalazi na računaru sa kojeg se pregledavaju udaljeni podaci. Drugi - server - nalazi se na računaru na kojem se ti podaci čuvaju. Prilično je zgodno koristiti dodatni prostor na disku, posebno na lokalnoj mreži. A ako govorimo o nekim korporativnim računarima, onda je to jednostavno neophodno.

Koja je razlika?

Danas postoji veliki broj protokola i širok izbor softvera koji obavljaju iste funkcije. Šta izdvaja NFS?

  • Mogućnost povezivanja u jednu mrežu računara na različitim operativnim sistemima. Često je zgodno povezati Windows OS preko NFS-a na Unix sistem, na primjer, Ubuntu. Samba postoji i koristi se za iste svrhe, ali je NFS lakši, jednostavniji i brži od ovog programa, jer se implementira na nivou kernela. Stoga će postavljanje pristupa preko njega, po pravilu, biti lakše.
  • NFS omogućava transparentan pristup datotekama. To znači da se svi udaljeni fajlovi reproduciraju potpuno isto kao i lokalni. Programi ne moraju biti nadograđeni za reprodukciju bilo koje datoteke koja se nalazi na serveru.
  • NFS šalje samo traženi dio datoteke, a ne cijeli fajl.

Za potpuni rad morate instalirati mrežni sistem datoteka na najmanje dva računara: server i klijent. Naravno, početnik će se najviše morati oznojiti oko serverskog dijela, jer je tu potrebno “dijeliti” (otvoreni pristup) foldere. Međutim, sve je to prilično lako za napraviti.

Kao i većina protokola za prijenos podataka, NFS je sve samo ne mlad. Razvijen je 1984. godine i namijenjen je UNIX sistemima. Ovo je i dalje glavna uloga NFS-a, ali mnogi su otkrili da je vrlo zgodno koristiti ga za povezivanje Windows računara sa Linux računarima. Osim toga, NFS je odličan za reprodukciju multimedijalnog sadržaja preko lokalne kućne mreže. Samba u ovoj ulozi često visi i usporava.

Instaliranje pozadine NFS-a

Instalirat ćemo serverski dio protokola na Ubuntu 16.04. Naravno, ako imate serversko izdanje, onda se proces ni na koji način ne razlikuje. Samo što se u tradicionalnoj verziji Ubuntua neke radnje mogu izvesti pomoću grafičkog interfejsa.

Instaliramo program. Da biste to učinili, možete koristiti centar za preuzimanje aplikacija ili jednostavno unesite naredbu:

sudo apt install nfs-kernel-server

Nakon toga će biti korisno provjeriti ispravnost instalacije. Ne morate to da radite, ali ćemo svejedno provjeriti. Unosimo naredbu:

Luka mora biti 2049 svuda.

Sada provjeravamo da li kernel podržava NFS. Da biste to učinili, unesite:

cat /proc/filesystems | grep nfs

Rezultirajuća vrijednost bi trebala izgledati ovako: nodev nfsd

To znači da sve funkcioniše kako treba. Ako ne, onda unesite naredbu:

Uz to, sami instaliramo modul kernela.

Dodajte protokol u automatsko pokretanje. To nije potrebno činiti, ali je vrlo nezgodno uključiti ga svaki put. Opet, možete ga dodati pomoću posebne stavke menija u postavkama ili to možete učiniti sami pomoću naredbe:

sudo systemctl omogući nfs

Dakle, instalirali smo serverski dio, ostaje da ga ispravno konfiguriramo i prijeđemo na klijentski dio.

Podešavanje

Postavljanje NFS-a u Ubuntu uključuje dijeljenje određenih foldera.

Osim jednostavnog otvaranja pristupa, morate odrediti i parametre koji određuju mogućnosti korisnika u odnosu na ovu mapu.

  • rw - čitanje i pisanje ova opcija omogućava čitanje i pisanje datoteka u folderu.
  • ro - samo za čitanje - dozvoljava samo čitanje fascikle.
  • sync (podrazumevano) - parametar osigurava pouzdanost prijenosa. Ako je omogućeno, neće biti moguće prenijeti više datoteka u isto vrijeme ili na različite računare. Ova postavka će spriječiti odgovore na druge zahtjeve. Sprečava gubitak podataka, ali prijenos može biti sporiji.
  • async - obrnuto od prethodnog parametra. Prijenos je brži, ali postoji rizik od gubitka informacija.
  • bezbedno - ova opcija dozvoljava korišćenje samo portova ispod 1024. Omogućeno podrazumevano.
  • nesigurno - omogućava korištenje bilo kojeg porta.
  • nohide - ako montirate nekoliko direktorija, među kojima ima ugniježđenih, tada će ugniježđeni, za razliku od roditeljskog, biti prikazani kao prazni. Parametar će pomoći da se ovo popravi.
  • anonuid - specificira uid za anonimne. Ovo je poseban korisnički ID.
  • anongid - specificira gid za anonimne. GID (ID grupe) - drugi korisnički ID.
  • no_subtree_check - funkcija onemogućuje provjeru podstabla. Činjenica je da bez njega NFS dodatno provjerava da li korisnici pristupaju samo potrebnim dijelovima direktorija. Ovo usporava stvari. Parametar vam omogućava da ga ubrzate, ali smanjuje sigurnost.

Koristit ćemo ih ovisno o tome šta je potrebno u određenoj situaciji.

Kreirajmo novi folder. Možete koristiti i nove. Naš folder će biti /var/network.

Sada treba da dodamo ovaj folder u /etc/exports fajl. Tu se pohranjuju svi fajlovi i fascikle sa otvorenim pristupom mreži. Unos bi trebao izgledati ovako:

/var/network168.1.1(rw,async,no_subtree_check)

192.168.1.1 je IP preko kojeg prenosimo. Obavezno ga navedite.

Ažurirajte tabelu za izvoz:

Sada pokušajmo da pristupimo folderu sa strane klijenta.

Instalacija i konfiguracija NFS klijenta

ubuntu

Povezivanje konfigurisanog servera na Ubuntu nije teško. Ovo se radi u samo nekoliko naredbi.

Instalirajte poseban klijentski paket:

sudo apt install nfs-common

sudo mount 192.168.1.1:/var/network/ /mnt/

Mrežni folder je povezan. Koristeći df, možete provjeriti sve povezane mrežne mape:

Svoj nivo pristupa možete provjeriti i posebnom komandom:

Demontirajte sistem datoteka na sljedeći način:

Komanda mount se koristi skoro svuda. On je odgovoran za proces montiranja, odnosno priprema prostora na tvrdom disku za korištenje od strane operativnog sistema. Zvuči komplikovano, ali ako pojednostavimo, ispada da jednostavno prenosimo mrežne datoteke na naš računar u novom folderu. Ovdje se zove /mnt/.

Windows

Sa Windowsom je, po pravilu, sve mnogo komplikovanije. NFS klijent se može pokrenuti na svim Windows serverima bez ikakvih problema. Od standarda je prisutan na:

  • Windows 7 Ultimate/Enterprise
  • Windows 8/8.1 Enterprise
  • Windows 10 Enterprise

Nigdje se više ne može naći. Ako imate jednu od ovih verzija, učinite sljedeće:

  1. Otvorite meni "Programi i funkcije".
  2. Kliknite na "Dodaj komponente".
  3. Tamo nalazimo NFS i postavljamo samo "Klijent za NFS", nije nam potrebna druga komponenta.

Nakon povezivanja, sve se montira istom komandom:

montirati 192.168.1.1:/var/network/ /mnt/

Možete ga demontirati ovako:

Komande se unose u komandnu liniju koja se pokreće kao administrator. Nakon toga možete lako pronaći željeni mrežni disk pomoću Explorera.

Ali šta ako na računaru nema klijenta za NFS? Softver možete pokušati da preuzmete putem Microsoftove web stranice ili iz izvora treće strane. Moguće je da su ovdje potrebne druge naredbe ili radnje.

Sada imate osnovno razumijevanje o tome kako možete koristiti NFC i napraviti jednostavno podešavanje. Ovo znanje je dovoljno za uspostavljanje pristupa sa jednog računara na drugi. Štaviše, Windows PC takođe može delovati kao klijent.

Svi znaju da je na UNIX sistemima sistem datoteka logički skup fizičkih sistema datoteka povezanih na jednu tačku. Jedna od najosnovnijih ljepota takve organizacije, po mom mišljenju, je sposobnost da se dinamički modificira struktura postojećeg sistema datoteka. Također, zahvaljujući naporima programera, danas imamo priliku da povežemo sistem datoteka gotovo bilo kojeg tipa i na bilo koji prikladan način. Govoreći o "metodu", prije svega želim da istaknem sposobnost kernela OS-a da radi sa sistemima datoteka putem mrežnih veza.

Mnogi mrežni protokoli nam daju mogućnost rada sa udaljenim datotekama, bilo da se radi o FTP, SMB, Telnet ili SSH. Zahvaljujući sposobnosti kernela, na kraju, da ne zavisi od tipa sistema datoteka koji se povezuje, imamo mogućnost da povežemo bilo šta i na bilo koji način pomoću programa za montiranje.

Danas želim da pričam o NFS - sistemu mrežnih datoteka. Ova tehnologija vam omogućava da povežete pojedinačne FS tačke na udaljenom računaru sa sistemom datoteka lokalnog računara. Sam NFS protokol vam omogućava da brzo, sigurno i pouzdano obavljate operacije sa datotekama. Šta nam još treba? :-)

Šta je potrebno da bi ovo funkcioniralo

Kako ne bismo dugo gunđali na temu NFS verzija i njihove podrške u raznim kernelima, odmah ćemo pretpostaviti da je vaša verzija kernela najmanje 2.2.18. U službenoj dokumentaciji, programeri obećavaju punu podršku za NFS verziju 3 funkcionalnost u ovom kernelu i novijim.

Instalacija

Da bih pokrenuo NFS server na mom Ubuntu 7.10 - Gutsy Gibbon, morao sam da instaliram pakete nfs-common i nfs-kernel-server. Ako je potreban samo NFS klijent, onda nfs-kernel-server ne mora biti instaliran.

Podešavanje servera

Nakon što su svi paketi uspješno instalirani, morate provjeriti da li je NFS demon pokrenut:

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

Ako demon nije pokrenut, mora se pokrenuti naredbom

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

Nakon što je sve uspješno započelo, možete započeti izvoz sistema datoteka. Sam proces je vrlo jednostavan i traje minimalno vrijeme.

Glavna konfiguracijska datoteka NFS servera nalazi se u /etc/exports i ima sljedeći format:

Imenik mašina1(opcija11,opcija12) mašina2(opcija21,opcija22)

imenik— apsolutna putanja do direktorija FS servera kojem želite dati pristup

machineX— DNS ime ili IP adresa klijentskog računara sa kojeg je pristup dozvoljen

opcijaXX- FS izvozni parametri, najčešće korišteni od njih:

  • ro- pristup fajlovima je dozvoljen samo za čitanje
  • rw- pristup je odobren za čitanje/pisanje
  • no_root_squash- podrazumevano, ako se povežete na NFS resurs kao root, server će, radi sigurnosti, pristupiti datotekama na svojoj strani u ime ničijeg korisnika. Međutim, ako omogućite ovu opciju, datotekama na strani servera će se pristupati kao root. Budite oprezni s ovom opcijom.
  • no_subtree_check- podrazumevano, ako ne izvozite celu particiju na serveru, već samo deo sistema datoteka, demon će proveriti da li se traženi fajl fizički nalazi na istoj particiji ili ne. Ako izvozite cijelu particiju ili tačka montiranja izvezenog FS-a ne utiče na datoteke iz drugih fizičkih volumena, tada možete omogućiti ovu opciju. Ovo će vam dati povećanje brzine servera.
  • sync— omogućite ovu opciju ako postoji mogućnost iznenadnog prekida veze ili nestanka napajanja servera. Ako ova opcija nije omogućena, rizik od gubitka podataka kada se NFS server iznenada zaustavi je znatno povećan.

Dakle, recimo da želimo da ashep-desktop računaru damo pristup direktorijumu /var/backups na ashep-laptop računaru. Pristup direktoriju je neophodan za kopiranje sigurnosne kopije datoteka sa ashep-desktop-a. Moj fajl je ovakav:

/var/backups ashep-desktop(rw,no_subtree_check,sync)

Nakon što dodate red u /etc/exports, morate ponovo pokrenuti NFS server da bi promjene stupile na snagu.

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

To je sve. Možete započeti povezivanje izvezenog FS-a na klijentskom računaru.

Podešavanje klijenta

Na strani klijenta, udaljeni sistem datoteka se montira na isti način kao i svi ostali - komandom mount. Takođe, niko vam ne zabranjuje da koristite /etc/fstab ako treba da povežete sistem datoteka automatski kada se OS pokrene. Dakle, opcija montiranja će izgledati ovako:

Mount -t nfs ashep-laptop:/var/backups/ /mnt/ashep-laptop/backups/

Ako je sve prošlo dobro i morate se automatski povezati na udaljeni sistem datoteka pri pokretanju, samo dodajte red u /etc/fstab:

Ashep-laptop:/var/backups /mnt/ashep-laptop/backups nfs auto 0 0

Šta još

Tako smo dobili praktičan, mali pregled mogućnosti NFS-a. Naravno, ovo je samo mali dio onoga što NFS može učiniti. Ovo je dovoljno za upotrebu kod kuće ili u maloj kancelariji. Ako vam ovo nije dovoljno, preporučujem da prvo pročitate

Za distribuciju datoteka unutar lokalne mreže, mogu se razlikovati sljedeće tehnologije (razmatraju se sistemi zasnovani na Linuxu):

  • Mrežni sistem datoteka (NFS) - protokol za mrežni pristup sistemima datoteka;
  • Datoteke se prenose preko Shell protokola (FISH) - mrežnog protokola koji koristi ili RSH za prijenos datoteka između računala;
  • Secure Shell FileSystem (SSHFS) - klijent sistema datoteka za montiranje disk uređaja na udaljenim sistemima, koji se koristi za interakciju sa udaljenim sistemom SFTP;
  • Samba - softverski paket koji vam omogućava pristup mrežnim diskovima i štampačima na različitim operativnim sistemima koristeći SMB / CIFS protokol;

U ovoj napomeni ćemo govoriti o NFS.

NFS (mrežni sistem datoteka) korisno kada trebate distribuirati datoteke/direktorije svima unutar mreže. Transparentnost pristupa kroz NFS omogućava klijentima da montiraju udaljeni sistem datoteka kao lokalni direktorij, a sistemi datoteka mogu biti različitih tipova. To znači da svaka klijentska aplikacija koja može raditi s lokalnom datotekom može jednako dobro raditi i sa datotekom povezanom putem NFS bez ikakvih modifikacija samog programa.

U korist NFS može se pripisati:

  • smanjenje opterećenja procesora;
  • prikaz zajedničkih resursa kao redovnih direktorija u sistemu;
  • Trenutno dostupno NFS v4.1, koji je uveo novu funkciju pNFS omogućavajući paralelizaciju implementacije dijeljenja datoteka. Postoji i ekstenzija za NFS 2 i 3 - WebNFS, koji omogućavaju lakšu integraciju u web pretraživače i mogućnost rada kroz zaštitni zid.

    Šema rada NFS protokol.

    Instaliranje i konfigurisanje NFS servera pod Linuxom

    Provjerite podržava li sistem NFS

    Cat /proc/filesystems | grep nfs

    Ispod Arch Linux server i klijent su u istom paketu

    Yaourt -S nfs-utils

    Da instaliram server nfs-kernel-server) i klijent ( nfs-common) ispod ubuntu potrebni paketi

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

    Dalje u napomeni, IP će se koristiti za server 192.168.1.100 . Da bi serveru uvijek bio dodijeljen isti IP, potrebno je specificirati distribuciju određene IP adrese na određenu MAC adresu u DHCP serveru (najčešće ruteru). Ili podignite svoj lokalni DNS server. Na primjer ili .

    MAC adresu možete saznati koristeći ifconfig (polje eter in Arch Linux).

    NFSv4 pretpostavlja da postoji korijenski direktorij, unutar kojeg se već nalaze datoteke za distribuciju. Na primjer, /srv/nfs- korijen, /srv/nfs/audio- imenik za distribuciju muzike. Ako ne slijedite ovaj novi smjer u verziji 4 , tada možete dobiti grešku prilikom povezivanja od strane klijenta:

    Mount.nfs: server odbija pristup dok montira 192.168.1.100:/home/proft/torrents

    Ako i dalje želite koristiti pristup bez korijenskog direktorija na poslužitelju za NFS, onda kada montirate od strane klijenta, morate eksplicitno navesti verziju 3

    # za naredbu mount mount -o "vers=3" 192.168.1.100:/home/proft/torrents /home/proft/nfs/torrents # za fstab 192.168.1.100:/home/proft/torrents /home/proft/nfs/ torrents nfs soft,nfsvers=3 0 0

    Ja ću koristiti NFSv4 sa osnovnim direktorijumom /srv/nfs/ i montiranje ugniježđenih direktorija s mount --bind.

    Pretpostavimo da želimo

    • distribuirati direktorij ~/torrents od rw pristup za sve unutar lokalne mreže;
    • distribuirati direktorij ~/fotografije od ro pristup za host sa IP-om 192.168.1.101 ;

    Prvo, napravimo korijenski direktorij i potrebne poddirektorije.

    Sudo mkdir -p /srv/nfs/(torrenti,fotografije)

    Montirajte postojeće direktorije torenti, fotografije in /srv/nfs.

    # sudo vim /etc/fstab /home/proft/torrents /srv/nfs/torrents none bind 0 0 /home/proft/photos /srv/nfs/photos none bind 0 0

    edit /etc/exports, koji opisuje sve dijeljene direktorije

    # sudo vim /etc/exports # format datoteke: direktorij dozvoljeni-hostovi(opcije) /srv/nfs/torrents 192.168.1.1/24(rw,async) /srv/nfs/photos 192.168.1.101(ro,async)

    Obratite pažnju da između njih nema razmaka dozvoljeni-hostovi I (opcije). Prisustvo razmaka uvodi drugačije tumačenje pravila.

    Dostupne opcije:

    • ro (rw) - dozvoli pristup samo za čitanje (čitanje/pisanje);
    • subtree_check (no_subtree_check) - u nekim slučajevima morate izvesti ne cijeli odjeljak, već samo dio. Istovremeno, server NFS moraju izvršiti dodatne provjere na zahtjevima klijenta kako bi osigurali da oni samo pokušavaju pristupiti datotekama u odgovarajućim poddirektorijumima. Takva kontrola podstabla ( provjere podstabla) donekle usporava interakciju sa korisnicima, ali ako to odbijete, možete imati problema sa bezbednošću sistema. Možete otkazati kontrolu podstabla koristeći opciju no_subtree_check. Opcija subtree_check, koji uključuje takvu kontrolu, pretpostavlja se po defaultu. Kontrola podstabla se može izostaviti ako je izvezeni direktorij isti kao particija diska;
    • sync (async) Određuje da server treba odgovoriti na zahtjeve samo nakon što su promjene napravljene od strane tih zahtjeva zapisane na disk. Opcija async nalaže serveru da ne čeka da se informacije zapišu na disk, što poboljšava performanse, ali smanjuje pouzdanost, jer u slučaju prekida veze ili kvara opreme, podaci mogu biti izgubljeni;
    • noaccess - odbija pristup navedenom direktoriju. Može biti korisno ako ste prethodno postavili pristup za sve korisnike mreže određenom direktoriju, a sada želite ograničiti pristup u poddirektorijumu samo na neke korisnike;
    • no_root_squash - zadani korisnik root na klijentskoj mašini neće imati ista prava na direktorijum na serveru. Ova opcija uklanja ovo ograničenje;
    • sakriti- NFS ne prikazuje automatski nelokalne resurse (na primjer, montirane pomoću mount --bind), ova opcija omogućava prikaz takvih resursa;
    • nesigurno - korištenje neprivilegiranih portova (> 1024);

    Pokretanje NFS servera

    # pod archlinux sudo systemctl start rpc-idmapd.service rpc-mountd.service # pod ubuntu sudo /etc/init.d/nfs-kernel-server start

    U budućnosti, kada promijenite konfiguracijski fajl, dovoljno ga je ponovo pročitati naredbom:

    sudo exportfs -rav

    rpcinfo -p naredba | grep nfs vam omogućava da proverite da li je server uspešno pokrenut.

    Klijent za Linux

    Instalacija

    # pod archlinux yaourt -S nfs-utils # pod ubuntu sudo apt-get install portmap nfs-common

    Kreirajte direktorije za montiranje mrežnih resursa torrents I fotografije

    Mkdir -p ~/nfs/(torrenti,fotografije)

    Za ručno montiranje, pokrenite

    sudo mount -t nfs -o rw,soft 192.168.1.100:/srv/nfs/torrents /home/proft/nfs/torrents sudo mount -t nfs -o rw,soft 192.168.1.100:/srv/nfs/ /proft/nfs/photos

    Opcija soft određuje tiho otkazivanje pokušaja povezivanja dijeljenja nakon određenog vremena (vrijeme je postavljeno opcijom retrans). Pročitajte više u man nfs.

    Ova metoda nije baš zgodna, jer ćete svaki put nakon ponovnog pokretanja morati pokrenuti ove naredbe. Napravimo montažu automatskim.

    Za automatsko montiranje, uredite datoteku /etc/fstab

    # sudo vim /etc/fstab 192.168.1.100:/srv/nfs/torrents /home/proft/net/torrents nfs rw,soft 0 0 192.168.1.100:/srv/nfs/photos /home/proft/nfs/ ro,soft 0 0

    Ali ova metoda ima i svoje nedostatke, na primjer, ako server nije dostupan, tada se učitavanje klijenta može zamrznuti zbog pokušaja povezivanja na NFS server. Da biste to popravili, pogledajte u nastavku o AutoFS.

    AutoFS - automatsko povezivanje mrežnih resursa

    Moguće je montirati udaljeni resurs koristeći AutoFS pri prvom pristupu i automatski isključite kada nema aktivnosti.

    AutoFS koristi šablone koji se nalaze u /etc/autofs. Glavni obrazac se zove auto.master, može ukazivati ​​na jedan ili više drugih šablona za određene vrste medija.

    Instalacija

    # pod archlinux yaourt -S autofs # pod ubuntu sudo apt-get install autofs

    Postoji nekoliko načina za određivanje metoda automatskog montiranja. koristim ovaj: /home/proft/nfs automatski se kreira direktorij sa imenom NFS servera u kojem se automatski kreiraju dostupni direktoriji na serveru.

    # sudo vim /etc/autofs/auto.master /home/proft/nfs /etc/autofs/auto.nfs --timeout=60

    Dodatni parametar vrijeme je isteklo postavlja broj sekundi nakon kojih će uređaj biti isključen. Parametar duh specificira da će konfigurirani resursi uvijek biti prikazani, ne samo kada su dostupni (ova opcija je po defaultu omogućena u AutoFS 5)

    Opisaćemo u /etc/autofs/auto.nfs NFS server i korijenski direktorij.

    # sudo vim /etc/autofs/auto.nfs nfsserver 192.168.1.100:/srv/nfs

    Sada na prvom pozivu /home/proft/nfs/torrents NFS deljenje će se automatski montirati.

    Ponovo pokrenite autofs uslugu:

    # pod archlinux sudo systemctl restart autofs # pod ubuntu sudo /etc/init.d/autofs restart

    Također možete odrediti vrijeme čekanja na dostupnost NFS resursa. Da biste to učinili, morate promijeniti vrijednosti MOUNT_WAIT.

    # pod archlinuxom # sudo vim /etc/conf.d/autofs MOUNT_WAIT=5 # pod ubuntu sudo /etc/default/autofs MOUNT_WAIT=5

    Prisilno korištenje NFS v3

    U nekim slučajevima NFSv4 može raditi sporo. Da biste to popravili, možete natjerati da se koristi treća verzija.

    Dajem uputstva za instalaciju i konfigurisanje NFS-a (mrežni sistem datoteka). NFS je mrežni sistem datoteka koji vam omogućava pristup datotekama i direktorijima na udaljenom računaru (serveru) kao da su te datoteke i direktoriji lokalni. Glavna prednost ovakvog sistema je što pojedinačne radne stanice mogu koristiti manje vlastitog prostora na disku, budući da se zajednički podaci pohranjuju na posebnoj mašini (skladište podataka) i dostupni su drugim mašinama na mreži. NFS je klijent-server aplikacija u kojoj je uloga skladištenja dodijeljena serveru. Svaki član mreže je NFS klijent koji montira mrežni disk servera u svoj sistem datoteka.

    Uzmimo Ubuntu 12.04 kao server.
    Koristićemo i testirati Centos i Winows 7 kao klijente.

    Glavni server: 192.168.2.213 (Ubuntu)

    Klijenti: 192.168.2.72 (Centos), 192.168.2.180 (Windows)

    Podešavanje servera

    Prvo morate podesiti server. Pošto ćemo koristiti Ubuntu kao server, potrebno je da instaliramo odgovarajući paket

    [email protected]:~# apt-get install nfs-kernel-server

    Nakon instaliranja potrebnog paketa, kreirali smo dva konfiguraciona fajla. Iz dnevnika instalacije:

    … Kreiranje konfiguracionog fajla /etc/idmapd.conf sa novom verzijom Kreiranje konfiguracionog fajla /etc/default/nfs-common sa novom verzijom…

    Prvi fajl opisuje korisnika (kreiran prilikom instaliranja paketa) i grupu , za učešće u mapiranju-e (identifikacija korisnika).

    [email protected]:~# cat /etc/idmapd.conf Verbosity = 0 Pipefs-Directory = /run/rpc_pipefs # postavite svoju vlastitu domenu ovdje, ako se id razlikuje od FQDN minus ime hosta # Domain = localdomain Nobody-User = nobody Nitko-Group = nogroup

    Kao što znamo, u Linuxu svaka datoteka pripada određenom korisniku koji ima svoj (UID, GID), ali na Windows sistemima shema je malo drugačija. I u tom smislu, izmišljen je mehanizam mapiranja, koji čini prevođenje različitih korisnika iz različitih operativnih sistema u oblik razumljiv za Linux sistem datoteka.
    Druga datoteka je potrebna za konfiguraciju Kerberos provjere autentičnosti i konfiguraciju nestandardnog porta na kojem će demon slušati. Još nam ne treba. Kerberos konfiguracija će biti razmatrana u sljedećem članku.

    [email protected]:~# cat /etc/default/nfs-common # Ako ne postavite vrijednosti za NEED_ opcije, one će biti pokušane # automatski; ovo bi trebalo biti dovoljno za većinu ljudi. Važeće alternative # za NEED_ opcije su "da" i "ne". # Želite li pokrenuti statd demon? Nije potrebno za NFSv4. NEED_STATD= # Opcije za rpc.statd. # Da li rpc.statd treba da sluša na određenom portu? Ovo je posebno korisno # kada imate zaštitni zid baziran na portovima. Da biste koristili fiksni port, postavite ovu # ovu varijablu na statd argument kao što je: "--port 4000 --outgoing-port 4001". # Za više informacija pogledajte rpc.statd(8) ili http://wiki.debian.org/SecuringNFS STATDOPTS= # Želite li pokrenuti gssd demon? Potreban je za Kerberos montiranje. NEED_GSSD=

    Sada nastavimo sa podešavanjem.
    Svi direktoriji za dijeljenje moraju biti registrirani u datoteci /etc/exports. Za početak, napravimo 2 foldera u početnom direktoriju i ispustimo datoteke u njih. Stablo direktorija i datoteka za izvoz:

    [email protected]:~# drvo /home/alex/ /home/alex/

    Sada trebate dodijeliti korisnika i grupu za ove direktorije (preuzeto je iz /etc/idmapd.conf datoteke).

    [email protected]:~# chown -R niko:nogroup nfs_dir1/ [email protected]:~# chown -R niko:nogroup nfs_dir2/

    Prvo, izvezimo direktorij nfs_dir1 za određenu IP adresu. Uređivanje datoteke /etc/exprots.

    [email protected]:~# vim /etc/exports # Za određeni host (Windows) /home/alex/nfs_dir1 192.168.2.180(rw,sync,all_squash,no_subtree_check,insecure) # Za bilo koji host na podmreži /home/alex2/nfs_dir. .2.0/ 24(rw,no_root_squash,sync,no_subtree_check)

    Ovdje možete vidjeti minimalni skup opcija za ispravan rad skladišta sa Windows OS-om.

    • /home/alex/nfs_dir1– putanja do fascikle za koju se distribuira pristup;
    • 192.168.2.180 – IP adresa na koju se distribuira pristup folderu (možete odrediti cijelu mrežu, tada će unos izgledati kao 192.168.2.0/24)
    • (rw,sync,all_squash,no_subtree_check)- skup opcija.

    Popularne opcije:

    • rw–read/write (može uzeti vrijednost ro-read-only);
    • no_root_squash– po defaultu, root korisnik na klijentskoj mašini neće imati pristup dijeljenom direktoriju servera. Ovom opcijom uklanjamo ovo ograničenje. Iz sigurnosnih razloga, bolje je to ne raditi;
    • sync- sinhroni način pristupa (može uzeti suprotnu vrijednost - async);
    • zabranjen pristup– Zabranjuje pristup navedenom direktoriju. Može biti korisno ako ste prethodno postavili pristup za sve korisnike mreže određenom direktoriju, a sada želite ograničiti pristup u poddirektorijumu samo na neke korisnike.
    • all_squash- podrazumijeva da će sve veze biti napravljene od anonimnog korisnika (potrebno za Windows klijenta)
    • anonuid= 1000 - vezuje anonimnog korisnika za "lokalnog" korisnika;
    • anongid= 1000 - povezuje anonimnog korisnika sa grupom "lokalnog" korisnika.
    • no_subtree_check(subtree_check)– ako se izvozi poddirektorij sistema datoteka, ali ne i cijeli sistem datoteka, server provjerava da li se tražena datoteka nalazi u izvezenom poddirektoriju. Onemogućavanje verifikacije smanjuje sigurnost, ali povećava brzinu prijenosa podataka.
    • Obično Linux (i drugi operativni sistemi slični Unixu) rezervišu TCP i UDP portove od 1-1023 (tzv. sigurni portovi) za upotrebu od strane root korisničkih procesa. Da bi se osiguralo da je root pokrenuo udaljenu NFS vezu, NFS server obično zahtijeva da udaljeni klijenti koriste sigurne portove. Ovu konvenciju, međutim, ne poštuju neki operativni sistemi (npr. Windows). U takvim slučajevima, opcija nesiguran omogućava NFS klijentu da koristi bilo koji TCP/UDP port. Obično je potreban prilikom servisiranja Windows klijenata.

    Sve dostupne opcije i sintaksa za snimanje hostova, grupa domaćina itd. može se pročitati u priručniku

    [email protected]:~# exportfs -a

    Sada provjeravamo šta smo izvezli.

    [email protected]:~# exportfs -v /home/alex/nfs_dir1 192.168.2.180(rw,wdelay,all_squash,no_subtree_check,nesigurno) /home/alex/nfs_dir2 192.168.2.0/24)(rw_tresh_delay_)

    Server je konfigurisan.

    Postavljanje klijenata

    Podešavanje Windows klijenta

    Ako nije bilo poruka o grešci. Možete započeti montažu na strani klijenta.
    Prvo, morate dodati uslugu (usluga klijenta) NFS. Da biste to učinili, idite na Start —> Kontrolna tabla —> Programi i funkcije i kliknite na stavku menija sa leve strane Uključite ili isključite Windows funkcije. U prozoru koji se pojavi odaberite Klijent za NFS i kliknite uredu(Sl. 1).


    Slika 1

    Zatim morate montirati disk. Da biste to učinili, možete koristiti komandnu liniju ili jednostavno kliknuti Desni klik na My Computer i odaberite Map Network Drive. I unesite red \\192.168.2.213\home\alex\nfs_dir1. Ovo je IP servera i putanja do foldera (slika 2).


    Slika 2

    Ako je sve u redu, videćemo disk (slika 3).


    Slika 3

    Isto se može učiniti pomoću komandne linije (slika 4).


    Slika 4

    Moguće greške:

    Nećete moći mapirati NFS mrežni disk na Windows OS (slika 5) ako
    1. NFS klijent nije instaliran
    2. Omogućen (nije konfigurisan) zaštitni zid
    3. Nema mrežnog pristupa serveru
    4. Unešene su netačne opcije montiranja
    5. Izvoz nije konfigurisan (nisu primijenjene postavke) na serveru.
    6. Dodajte nesigurnu opciju u postavkama izvoza


    Slika 5 – Greška pri povezivanju mrežnog NFS diska

    Nećete moći dodati datoteku montiranom sistemu datoteka (slika 6) ako:
    1. Prava na folder nisu postavljena na serveru (nobody:nogroup)
    2. Opcija all_squash nije postavljena u postavkama izvoza
    3. Opcija rw nije postavljena u postavkama izvoza


    Slika 6 – Greška prilikom dodavanja datoteke na NFS disk

    Konfiguriranje Centos klijenta

    Postavljanje Linux sistema je prilično jednostavno i bezbolno. Vi samo trebate instalirati potrebne pakete i montirati disk. Centosu su potrebni sljedeći paketi

    # yum install nfs-utils nfs-utils-lib

    # mkdir -p /mnt/nfs # mount 192.168.2.213:/home/alex/nfs_dir1 /mnt/nfs # mount /dev/mapper/vg_slave-lv_root na / type ext4 (rw) proc na /proc tip proc (rw) sysfs na /sys tip sysfs (rw) devpts na /dev/pts tip devpts (rw,gid=5,mode=620) tmpfs na /dev/shm tip tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0" ) /dev/sda1 na /boot type ext4 (rw) nema na /proc/sys/fs/binfmt_misc tip binfmt_misc (rw) sunrpc na /var/lib/nfs/rpc_pipefs tip rpc_pipefs (rw) 192.168:/2home 192.168:/2. alex/nfs_dir1 na /mnt/nfs tip nfs (rw,vers=4,addr=192.168.2.213,clientaddr=192.168.2.72)

    U ovom slučaju, možemo dodati bilo koju datoteku i direktorij u nfs_dir1 montiranu mapu u ime bilo kojeg korisnika sistema ( all_squash). Ali ako montiramo drugi folder nfs_dir2, SAMO root može pisati u njega, jer postoji opcija no_root_squash. Provjeravamo.

    # mkdir /mnt/dir1 # mkdir /mnt/dir2 # mount 192.168.2.213:/home/alex/nfs_dir1 /mnt/dir1 # mount 192.168.2.213:/home/alex/nfs_dir2 /mnt/dirtn ili # mount -o rw,hard,intr,bg 192.168.2.213:/home/alex/nfs_dir2 /mnt/dir2 # echo "Zdravo" > /mnt/dir1/file1 # echo "Zdravo" > /mnt/dir2/file1 # su alex $ echo "Zdravo" > /mnt/dir1/file1 $ echo "Zdravo" > /mnt/dir2/file1 bash: /mnt/dir2/file1: Dozvola odbijena

    Moguće montiranje zastavica.

    Zastava Opis
    rw Montiranje sistema datoteka za čitanje/pisanje (mora ga izvesti server u načinu čitanja/pisanja)
    th Montiranje sistema datoteka samo za čitanje
    bg Ako montiranje sistema datoteka ne uspije (server ne reaguje), trebali biste staviti operaciju u pozadinu i nastaviti s obradom drugih zahtjeva za montiranje
    teško Ako server padne, operacije koje pokušavaju da mu pristupe blokiraju se sve dok se server ponovo ne uključi
    soft Ako server ne radi, operacije koje pokušavaju da mu pristupe ne uspijevaju s porukom o grešci. Ovu zastavicu je korisno postaviti kako bi se spriječili procesi visi u slučaju neuspješnog montiranja ne baš važnih sistema datoteka.
    intr Omogućava vam da prekinete blokirane operacije s tastature (emitovat će se poruke o grešci)
    nointr Ne dozvoljava vam da prekinete blokirane operacije sa tastature
    retrans=n Određuje koliko puta se zahtjev mora ponoviti prije nego što se vrati poruka o grešci (za sisteme datoteka montirane sa mekom zastavicom)
    timeo=n Određuje vremenski interval za zahtjeve (u desetinkama sekunde)
    veličina=n Postavlja veličinu bafera za čitanje na n bajtova
    wsize=fl Postavlja veličinu bafera za pisanje na n bajtova
    sec=mode Postavlja sigurnosni način rada
    vers=n Postavlja verziju NFS protokola
    proto = protokol Bira transportni protokol; to bi trebao biti tcp protokol za NVS verziju 4

    Također možete provjeriti sa konzole da li je server ispravno izvezao sistem datoteka.

    [email protected]~# showmount -e 192.168.2.213 Izvozna lista za 192.168.2.213: /home/alex/nfs_dir2 192.168.2.0/24 /home/alex/nfs_dir1 192.168.2.180

    Dodaj mount za automatsko učitavanje

    # cat /etc/fstab ... 192.168.2.213:/home/alex/nfs_dir2 /mnt/dir2 nfs4 rw,bg,intr,hard,nodev,nosuid 0 0

    [email protected]~# mount -a -t nfs4

    Moguće greške.

    [email protected]~# mount -a -t nfs4 mount.nfs4: tačka montiranja /mnt/dir2 ne postoji [email protected]~# mount -a -t nfs4 mount.nfs4: udaljeno dijeljenje nije u "host:dir" formatu

    U prvom slučaju morate kreirati folder. U drugom - sintaksičke greške u fstab.
    Ako naiđete na greške prilikom montiranja NFS particija, prođite kroz listu Moguće greške iz prethodnog odeljka.
    Također možete koristiti autofs za montiranje NFS particija. O čemu će biti reči u.

    Mrežni sistem datoteka (NFS)- Protokol za mrežni pristup sistemima datoteka, omogućava povezivanje udaljenih sistema datoteka.
    Prvobitno razvijen od strane Sun Microsystems 1984. Zasnovano na Sun RPC: Remote Procedure Call. NFS je nezavisan od tipova serverskog i klijentskog sistema datoteka. Postoji mnogo implementacija NFS servera i klijenata za različite operativne sisteme. Koristi se trenutna verzija NFS v.4, koja podržava različite načine autentifikacije (posebno Kerberos i LIPKEY koristeći RPCSEC GSS protokol) i liste kontrole pristupa (i POSIX i Windows tipovi).
    NFS omogućava klijentima transparentan pristup datotekama i sistemu datoteka servera. Za razliku od FTP-a, NFS protokol pristupa samo onim dijelovima datoteke kojima proces pristupa, a njegova glavna prednost je što ovaj pristup čini transparentnim. Zbog toga, svaka klijentska aplikacija koja može raditi s lokalnom datotekom može jednako dobro raditi i sa NFS datotekom, bez promjene samog programa.
    NFS klijenti pristupaju datotekama na NFS serveru tako što šalju RPC zahteve serveru. Ovo se može implementirati korištenjem normalnih korisničkih procesa – naime, NFS klijent može biti korisnički proces koji upućuje specifične RPC pozive serveru, što također može biti korisnički proces.

    Verzije
    NFSv1 je bio za internu upotrebu samo u eksperimentalne svrhe. Detalji implementacije su definirani u RFC 1094.
    NFSv2 (RFC 1094, mart 1989) je prvobitno u potpunosti radio preko UDP-a.
    NFSv3 (RFC 1813, jun 1995.). Deskriptori datoteka u verziji 2 su niz fiksne veličine od 32 bajta. U verziji 3, ovo je niz varijabilne veličine sa veličinom do 64 bajta. Niz varijabilne dužine u XDR-u je definiran brojanjem od 4 bajta iza kojeg slijede stvarni bajtovi. Ovo smanjuje veličinu deskriptora datoteke u implementacijama kao što je UNIX, gdje je potrebno samo oko 12 bajtova, ali omogućava implementacijama koje nisu Unix da razmjenjuju dodatne informacije.
    Verzija 2 ograničava broj bajtova po RPC proceduri READ ili WRITE na 8192 bajta. Ovo ograničenje nije na snazi ​​u verziji 3, što zauzvrat znači da će korištenjem UDP-a ograničenje biti samo IP veličina datagrama (65535 bajtova). Ovo omogućava korištenje velikih paketa za čitanje i pisanje na brzim mrežama.
    Veličine datoteka i pomaci početnih bajtova za rutine READ i WRITE sada koriste 64-bitno adresiranje umjesto 32-bitnog, što vam omogućava rad s većim datotekama.
    Atributi datoteke se vraćaju u svakom pozivu koji može utjecati na atribute.
    Upisi (WRITE) mogu biti asinhroni, dok su u verziji 2 morali biti sinhroni.
    Jedna rutina je uklonjena (STATFS) i dodato je sedam: ACCESS (provjeri dozvole datoteke), MKNOD (kreiraj poseban Unix fajl), READDIRPLUS (vraća imena datoteka u direktoriju zajedno sa njihovim atributima), FSINFO (vraća statističke informacije o sistem datoteka ), FSSTAT (vraća informacije o dinamičkom sistemu datoteka), PATHCONF (vraća informacije o datoteci POSIX.1) i COMMIT (urezuje prethodno napravljeno asinhrono upisivanje u trajno skladište).
    U vrijeme uvođenja verzije 3, programeri su počeli više koristiti TCP kao transportni protokol. Dok su neki programeri već koristili TCP za NFSv2, Sun Microsystems je dodao TCP podršku u NFS verziji 3. Ovo je učinilo korišćenje NFS-a preko Interneta izvodljivijim.
    NFSv4 (RFC 3010, decembar 2000, RFC 3530, revidiran aprila 2003), pod uticajem AFS i CIFS, uključivao je poboljšanja performansi, visoku sigurnost i pojavio se kao kompletan protokol. Verzija 4 je bila prva verzija razvijena u saradnji sa Internet Engineering Task Force (IETF) nakon što je Sun Microsystems predao razvoj NFS protokola. NFS verziju v4.1 odobrio je IESG u januaru 2010. kao RFC 5661. Važna nova karakteristika u verziji 4.1 je specifikacija pNFS - Parallel NFS, mehanizma za paralelni NFS klijentski pristup podacima sa više distribuiranih NFS servera. Prisustvo takvog mehanizma u standardu mrežnog sistema datoteka pomoći će u izgradnji distribuiranih "cloud" sistema za skladištenje i informacije.

    NFS struktura
    NFS struktura uključuje tri komponente na različitim nivoima:
    Aplikacioni sloj (sam NFS) su pozivi udaljenih procedura (rpc), koji izvode potrebne operacije sa datotekama i direktorijumima na strani servera.
    Funkcije sloja prezentacije obavlja XDR (eXternal Data Representation) protokol, koji je međuplatformski standard za apstrakciju podataka. XDR protokol opisuje objedinjeni, kanonski oblik predstavljanja podataka koji ne zavisi od arhitekture računarskog sistema. Prilikom prijenosa paketa, RPC klijent pretvara lokalne podatke u kanonski oblik, a server radi suprotno.
    RPC (Remote Procedure Call) usluga, koja obezbjeđuje zahtjev za udaljenim procedurama od strane klijenta i njihovo izvršavanje na serveru, predstavlja funkcije na nivou sesije. Povezivanje mrežnih resursa
    Procedura za povezivanje mrežnog resursa pomoću NFS-a naziva se "izvoz". Klijent može tražiti od servera listu eksportabilnih resursa koje on predstavlja. Sam NFS server ne emituje listu svojih izvezenih resursa.
    Ovisno o navedenim opcijama, izvezeni resurs se može montirati (prikačiti) "samo za čitanje", možete odrediti listu hostova kojima je dozvoljeno montiranje, specificirati korištenje sigurnog RPC-a (secureRPC) itd. Jedna od opcija određuje način montaže: "tvrdo" (tvrdo) ili "meko" (meko).
    Sa "tvrdim" montiranjem, klijent će pokušati montirati sistem datoteka bez obzira na sve. Ako server ne radi, to će uzrokovati da cijeli NFS servis visi, takoreći: procesi koji pristupaju sistemu datoteka preći će u stanje čekanja da se RPC zahtjevi završe sa izvršavanjem. Sa stanovišta korisničkih procesa, sistem datoteka će izgledati kao vrlo spor lokalni disk. Kada se server vrati u radno stanje, NFS servis će nastaviti da funkcioniše.
    Sa mekim montiranjem, NFS klijent će nekoliko puta pokušati da se poveže sa serverom. Ako server ne odgovori, sistem izdaje poruku o grešci i prestaje s pokušajem montiranja. Sa tačke gledišta logike operacija datoteka, kada server pokvari, meko montiranje emulira grešku lokalnog diska.
    Izbor načina rada ovisi o situaciji. Ako podaci na klijentu i serveru moraju biti sinhronizovani tokom privremenog kvara usluge, tada je poželjno "tvrdo" montiranje. Ovaj režim je takođe neophodan u slučajevima kada montirani sistem datoteka sadrži programe i datoteke koje su od vitalnog značaja za rad klijenta, posebno za mašine bez diska. U drugim slučajevima, posebno kada su u pitanju sistemi samo za čitanje, čini se da je meki način montiranja praktičniji.

    Dijeljenje u mješovitoj mreži
    NFS je idealan za mreže zasnovane na UNIX-u, jer dolazi sa većinom verzija ovog operativnog sistema. Štaviše, NFS podrška je implementirana na nivou UNIX kernela. Upotreba NFS-a na Windows klijentskim računarima stvara određene probleme povezane sa potrebom za instaliranjem specijalizovanog i prilično skupog klijentskog softvera. U takvim mrežama, čini se da je poželjnija upotreba alata za dijeljenje resursa zasnovanih na SMB/CIFS protokolu, posebno softvera Samba.

    Standardi
    RFC 1094 NFS: Specifikacija protokola mrežnog sistema datoteka] (mart 1989.)
    RFC 1813 NFS verzija 3 specifikacija protokola] (jun 1995.)
    RFC 2224 NFS URL šema
    RFC 2339 Ugovor između Internet društva, IETF-a i Sun Microsystems, Inc. u pitanju NFS V.4 protokola
    RFC 2623 NFS verzija 2 i verzija 3 Sigurnosni problemi i upotreba RPCSEC_GSS i Kerberos V5 NFS protokola
    RFC 2624 NFS verzija 4 Razmatranje dizajna
    RFC 3010 NFS verzija 4 protokol
    RFC 3530 Mrežni sistem datoteka (NFS) verzija 4 Protokol
    RFC 5661 Mrežni sistem datoteka (NFS) Verzija 4 Minor Verzija 1 Protokol

    Korišteni izvori
    1. en.wikipedia.org
    2. en.science.wikia.com
    3.phone16.ru
    4.4stud.info
    5.yandex.ru
    6.google.com

    Top Related Articles