Postavljanje standardnih Linux datotečnih sustava i konfiguriranje NFSv4 poslužitelja - 2. dio


Ovlašteni inženjer za Linux Foundation (LFCE) obučen je za postavljanje, konfiguriranje, upravljanje i rješavanje problema s mrežnim uslugama u Linux sustavima te je odgovoran za dizajn i implementaciju arhitekture sustava i rješavanje svakodnevnih problema pitanja.

Predstavljamo program certifikacije Linux Foundation (LFCE).

U 1. dijelu ove serije objasnili smo kako instalirati NFS (Network File System) poslužitelj i postaviti uslugu da se automatski pokrene pri dizanju. Ako to već niste učinili, pogledajte taj članak i slijedite navedene korake prije nego što nastavite.

  1. Instaliranje mrežnih usluga i konfiguriranje automatskog pokretanja pri dizanju – 1. dio

Sada ću vam pokazati kako ispravno konfigurirati vaš NFSv4 poslužitelj (bez sigurnosti provjere autentičnosti) tako da možete postaviti mrežna dijeljenja za korištenje u Linux klijentima kao da su ti sustavi datoteka instalirani lokalno. Imajte na umu da možete koristiti LDAP ili NIS za potrebe provjere autentičnosti, ali obje opcije su izvan opsega LFCE certifikacije.

Konfiguriranje NFSv4 poslužitelja

Nakon što se NFS poslužitelj pokrene i pokrene, svoju ćemo pozornost usmjeriti na:

  1. određivanje i konfiguriranje lokalnih direktorija koje želimo dijeliti preko mreže, i
  2. montiranje tih mrežnih dijeljenja u klijentima automatski, bilo kroz datoteku /etc/fstab ili pomoćni program temeljen na jezgri (autofs).

Kasnije ćemo objasniti kada odabrati jednu ili drugu metodu.

Prije nego što budemo, moramo se uvjeriti da demon idmapd radi i konfiguriran. Ova usluga vrši mapiranje imena NFSv4 (korisnik@mojadomena) u ID-ove korisnika i grupa i potrebna je za implementaciju NFSv4 poslužitelja.

Uredite /etc/default/nfs-common da omogućite idmapd.

NEED_IDMAPD=YES

I uredite /etc/idmapd.conf s vašim lokalnim nazivom domene (zadano je FQDN hosta).

Domain = yourdomain.com

Zatim pokrenite idmapd.

service nfs-common start 	[sysvinit / upstart based systems]
systemctl start nfs-common 	[systemd based systems]

Izvoz mrežnih dijeljenja

Datoteka /etc/exports sadrži glavne konfiguracijske direktive za naš NFS poslužitelj, definira datotečne sustave koji će se izvesti na udaljena računala i specificira dostupne opcije. U ovoj je datoteci svaki mrežni dio označen korištenjem zasebnog retka, koji prema zadanim postavkama ima sljedeću strukturu:

/filesystem/to/export client1([options]) clientN([options])

Gdje je /filesystem/to/export apsolutni put do izvezenog datotečnog sustava, dok client1 (do clientN) predstavlja određenog klijenta (naziv glavnog računala ili IP adresa) ili mrežu (dopušteni su zamjenski znakovi) u koji se dionica izvozi. Konačno, opcije su popis vrijednosti odvojenih zarezima (opcija) koje se uzimaju u obzir prilikom izvoza udjela, odnosno. Imajte na umu da nema razmaka između svakog naziva glavnog računala i zagrada ispred njega.

Evo popisa najčešćih opcija i njihovih odgovarajućih opisa:

  1. ro (skraćenica za samo za čitanje): Udaljeni klijenti mogu montirati izvezene datotečne sustave samo s dozvolama za čitanje.
  2. rw (skraćeno od read-write): Omogućuje udaljenim hostovima da izvrše promjene pisanja u izvezenim datotečnim sustavima.
  3. wdelay (skraćenica za odgodu pisanja): NFS poslužitelj odgađa uvrštavanje promjena na disk ako sumnja da je drugi povezani zahtjev za pisanje neizbježan. Međutim, ako NFS poslužitelj primi više malih nepovezanih zahtjeva, ova opcija će smanjiti performanse, tako da se opcija no_wdelay može koristiti za isključivanje.
  4. sinkronizacija: NFS poslužitelj odgovara na zahtjeve tek nakon što se promjene pošalju u trajnu pohranu (tj. tvrdi disk). Njena suprotnost, opcija async, može povećati performanse, ali po cijenu gubitka ili oštećenja podataka nakon ponovnog pokretanja nečistog poslužitelja.
  5. root_squash: Sprječava udaljene root korisnike da imaju privilegije superkorisnika na poslužitelju i dodjeljuje im korisnički ID za korisnika nitko. Ako želite “squash ” sve korisnike (a ne samo root), možete koristiti opciju all_squash.
  6. anonuid/anongid: Eksplicitno postavlja UID i GID anonimnog računa (nitko).
  7. subtree_check: Ako se izvozi samo poddirektorij datotečnog sustava, ova opcija provjerava nalazi li se tražena datoteka u tom izvezenom poddirektoriju. S druge strane, ako se izvozi cijeli sustav datoteka, onemogućavanje ove opcije s no_subtree_check će ubrzati prijenose. Današnja zadana opcija je no_subtree_check jer provjera podstabla uzrokuje više problema nego što se isplati, prema man 5 exports.
  8. fsid=0 | korijen (nula ili korijen): Određuje da je navedeni datotečni sustav korijen višestrukih izvezenih direktorija (primjenjuje se samo u NFSv4).

U ovom ćemo članku koristiti direktorije /NFS-SHARE i /NFS-SHARE/mydir na 192.168.0.10 (NFS poslužitelj) kao naš testiranje datotečnih sustava.

Uvijek možemo ispisati dostupna mrežna dijeljenja na NFS poslužitelju pomoću sljedeće naredbe:

showmount -e [IP or hostname]

U izlazu iznad, možemo vidjeti da su dijeljenja /NFS-SHARE i /NFS-SHARE/mydir na 192.168.0.10 izvezena klijentu s IP adresom 192.168.0.17.

Naša početna konfiguracija (pogledajte /etc/exports direktorij na vašem NFS poslužitelju) za izvezeni direktorij je sljedeća:

/NFS-SHARE  	192.168.0.17(fsid=0,no_subtree_check,rw,root_squash,sync,anonuid=1000,anongid=1000)
/NFS-SHARE/mydir    	192.168.0.17(ro,sync,no_subtree_check)

Nakon uređivanja konfiguracijske datoteke, moramo ponovno pokrenuti NFS uslugu:

service nfs-kernel-server restart 		[sysvinit / upstart based system]
systemctl restart nfs-server			[systemd based systems]
Montiranje izvezenih mrežnih dijeljenja pomoću autofs-a

Možda ćete htjeti pogledati 5. dio serije LFCS (“Kako montirati/demontirati lokalne i mrežne (Samba & NFS) datotečne sustave u Linuxu”) za detalje o montiranju udaljenih NFS dijeljenja na zahtjev koristeći naredbom mount ili trajno kroz datoteku /etc/fstab.

Loša strana montiranja mrežnog datotečnog sustava korištenjem ovih metoda je ta što sustav mora dodijeliti potrebne resurse kako bi udio bio montiran cijelo vrijeme, ili barem dok ih ne odlučimo ručno demontirati. Alternativa je automatsko montiranje željenog datotečnog sustava na zahtjev (bez korištenja naredbe mount) putem autofs, koji može montirati datotečne sustave kada se koriste i demontirati ih nakon razdoblje neaktivnosti.

Autofs čita /etc/auto.master, koji ima sljedeći format:

[mount point]	[map file]

Gdje se [map file] koristi za označavanje više točaka montiranja unutar [mount point].

Ova glavna datoteka mape (/etc/auto.master) se zatim koristi za određivanje koje su točke montiranja definirane, a zatim pokreće proces automatskog montiranja sa specificiranim parametrima za svaku točku montiranja.

Montiranje izvezenih NFS dijeljenja pomoću autofs

Uredite svoj /etc/auto.master na sljedeći način:

/media/nfs	/etc/auto.nfs-share	--timeout=60

i kreirajte datoteku karte pod nazivom /etc/auto.nfs-share sa sljedećim sadržajem:

writeable_share  -fstype=nfs4 192.168.0.10:/
non_writeable_share  -fstype=nfs4 192.168.0.10:/mydir

Imajte na umu da je prvo polje u /etc/auto.nfs-share naziv poddirektorija unutar /media/nfs. Autofs dinamički stvara svaki poddirektorij.

Sada ponovno pokrenite uslugu autofs:

service autofs restart 			[sysvinit / upstart based systems]
systemctl restart autofs 			[systemd based systems]

i na kraju, da omogućite autofs da se pokrene pri dizanju, pokrenite sljedeću naredbu:

chkconfig --level 345 autofs on
systemctl enable autofs 			[systemd based systems]
Ispitivanje montiranih datotečnih sustava nakon pokretanja autofs demona

Kada ponovno pokrenemo autofs, naredba mount nam pokazuje da je datoteka karte (/etc/auto.nfs-share) montirana na navedeno direktorij u /etc/auto.master:

Imajte na umu da nijedan direktorij još nije montiran, ali bit će automatski kada pokušamo pristupiti dionicama navedenim u /etc/auto.nfs-share:

Kao što možemo vidjeti, autofs servis “montira” datoteku karte, da tako kažemo, ali čeka dok se ne uputi zahtjev datotečnim sustavima da ih stvarno montira.

Izvođenje testova pisanja u izvezenim datotečnim sustavima

Opcije anonuid i anongid, zajedno s root_squash postavljenim u prvom dijeljenju, omogućuju nam mapiranje zahtjeva koje izvodi root korisnik u klijent na lokalni račun na poslužitelju.

Drugim riječima, kada root u klijentu kreira datoteku u tom izvezenom direktoriju, njegovo će se vlasništvo automatski preslikati na korisnički račun s UID-om i GID-om=1000, pod uvjetom da takav račun postoji na poslužitelju:

Zaključak

Nadam se da ste uspjeli uspješno postaviti i konfigurirati NFS poslužitelj koji odgovara vašem okruženju koristeći ovaj članak kao vodič. Možda ćete također htjeti pogledati relevantne stranice priručnika za dodatnu pomoć (man izvozi i man idmapd.conf, na primjer).

Slobodno eksperimentirajte s drugim opcijama i testnim slučajevima kao što je ranije navedeno i nemojte se ustručavati koristiti obrazac u nastavku za slanje svojih komentara, prijedloga ili pitanja. Bit će nam drago da nam se javite.