Opsætning af standard Linux-filsystemer og konfiguration af NFSv4-server - del 2


En Linux Foundation Certified Engineer (LFCE) er uddannet til at opsætte, konfigurere, administrere og fejlfinde netværkstjenester i Linux-systemer og er ansvarlig for design og implementering af systemarkitektur og løsning af hverdagsrelaterede problemer.

Introduktion til Linux Foundation Certification Program (LFCE).

I del 1 af denne serie forklarede vi, hvordan du installerer en NFS (Network File System) -server, og indstiller tjenesten til at starte automatisk ved opstart. Hvis du ikke allerede har gjort det, skal du henvise til denne artikel og følge de skitserede trin, inden du fortsætter.

  1. Installation af netværkstjenester og konfiguration af automatisk opstart ved opstart - del 1

Jeg vil nu vise dig, hvordan du korrekt konfigurerer din NFSv4 -server (uden godkendelsessikkerhed), så du kan konfigurere netværksshares, der skal bruges i Linux-klienter, som om disse filsystemer blev installeret lokalt. Bemærk, at du kan bruge LDAP eller NIS til godkendelsesformål, men begge muligheder er uden for LFCE-certificeringens omfang.

Konfiguration af en NFSv4-server

Når NFS-serveren er i gang, vil vi fokusere vores opmærksomhed på:

  1. at specificere og konfigurere de lokale mapper, som vi vil dele over netværket, og
  2. automatisk montering af disse netværksandele i klienter, enten via filen /etc/fstab eller det automatiske kernelbaserede værktøj (autofs).

Vi forklarer senere, hvornår man skal vælge den ene eller den anden metode.

Før vi er, skal vi sørge for, at idmapd dæmonen kører og konfigureres. Denne tjeneste udfører kortlægning af NFSv4 navne ( [e-mailbeskyttet] ) til bruger- og gruppe-id'er og er påkrævet for at implementere en NFSv4-server.

Rediger /etc/default/nfs-common for at aktivere idmapd.

NEED_IDMAPD=YES

Og rediger /etc/idmapd.conf med dit lokale domænenavn (standard er FQDN for værten).

Domain = yourdomain.com

Start derefter idmapd.

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

Filen /etc/exports indeholder hovedkonfigurationsdirektiverne for vores NFS-server, definerer de filsystemer, der eksporteres til eksterne værter og specificerer de tilgængelige indstillinger. I denne fil angives hver netværksshare ved hjælp af en separat linje, som som standard har følgende struktur:

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

Hvor /filsystem/til/eksport er den absolutte sti til det eksporterede filsystem, mens klient1 (op til klientN) repræsenterer den specifikke klient (værtsnavn eller IP-adresse) eller netværk (jokertegn er tilladt) som andelen eksporteres til. Endelig er optioner en liste over komma-adskilte værdier (optioner), der tages i betragtning under henholdsvis eksport af aktien. Bemærk, at der ikke er mellemrum mellem hvert værtsnavn og de parenteser, det går forud for.

Her er en liste over de mest hyppige muligheder og deres respektive beskrivelse:

  1. ro (forkortelse for skrivebeskyttet): Fjernklienter kan kun montere de eksporterede filsystemer med læsetilladelser.
  2. rw (forkortelse for read-write): Tillader fjernhostere at foretage skriveændringer i de eksporterede filsystemer.
  3. wforsinkelse (forkortelse for skriveforsinkelse): NFS-serveren forsinker at foretage ændringer på disken, hvis den har mistanke om, at en anden relateret skriveanmodning er forestående. Men hvis NFS-serveren modtager flere små ikke-relaterede anmodninger, reducerer denne indstilling ydeevnen, så indstillingen no_wdelay kan bruges til at slå den fra.
  4. synkronisering : NFS-serveren svarer kun på anmodninger, efter at ændringer er forpligtet til permanent lagring (dvs. harddisken). Det modsatte, indstillingen async , kan øge ydeevnen, men på bekostning af datatab eller korruption efter en uren servergenstart.
  5. root_squash : Forhindrer fjernrodbrugere i at have superbrugerrettigheder på serveren og tildeler dem bruger-id'et til brugeren ingen. Hvis du vil " squash " alle brugere (og ikke kun root), kan du bruge indstillingen all_squash .
  6. anonuid / anongid : Angiver eksplicit UID og GID for den anonyme konto (ingen).
  7. subtree_check : Hvis der kun eksporteres en underkatalog til et filsystem, bekræfter denne indstilling, at en anmodet fil er placeret i den eksporterede underkatalog. På den anden side, hvis hele filsystemet eksporteres, vil deaktivering af denne mulighed med no_subtree_check fremskynde overførslerne. Standardindstillingen er i dag no_subtree_check , da undertræskontrol har tendens til at forårsage flere problemer, end det er værd ifølge man 5-eksport.
  8. fsid = 0 | rod (nul eller rod): Angiver, at det angivne filsystem er roden til flere eksporterede mapper (gælder kun i NFSv4).

I denne artikel bruger vi mapperne /NFS-SHARE og /NFS-SHARE/mydir 192.168.0.10 (NFS-server) som vores test filsystemer.

Vi kan altid liste de tilgængelige netværksandele på en NFS-server ved hjælp af følgende kommando:

# showmount -e [IP or hostname]

I outputen ovenfor kan vi se, at /NFS-SHARE og /NFS-SHARE/mydir -aktierne på 192.168.0.10 er blevet eksporteret til klient med IP-adresse 192.168.0.17 .

Vores oprindelige konfiguration (se kataloget /etc/eksport på din NFS-server) for den eksporterede mappe er som følger:

/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)

Efter redigering af konfigurationsfilen skal vi genstarte NFS-tjenesten:

# service nfs-kernel-server restart 		[sysvinit / upstart based system]
# systemctl restart nfs-server			[systemd based systems]

Det kan være en god idé at henvise til del 5 i LFCS-serien ("Sådan monteres/afmonteres lokale og netværk (Samba & NFS) filsystemer i Linux") for detaljer om montering af eksterne NFS-aktier efter behov ved hjælp af kommandoen monter eller permanent gennem filen /etc/fstab .

Ulempen ved at montere et netværksfilsystem ved hjælp af disse metoder er, at systemet skal tildele de nødvendige ressourcer til at holde aktien monteret til enhver tid, eller i det mindste indtil vi beslutter at afmontere dem manuelt. Et alternativ er at montere det ønskede filsystem on-demand automatisk (uden at bruge kommandoen mount ) gennem autofs , som kan montere filsystemer, når de bruges og afmontere dem efter en periode med inaktivitet.

Autofs læser /etc/auto.master , som har følgende format:

[mount point]	[map file]

Hvor [kortfil] bruges til at angive flere monteringspunkter inden for [monteringspunkt] .

Denne masterkortfil ( /etc/auto.master ) bruges derefter til at bestemme, hvilke monteringspunkter der er defineret, og starter derefter en automatiseringsproces med de angivne parametre for hvert monteringspunkt.

Rediger din /etc/auto.master som følger:

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

og opret en kortfil med navnet /etc/auto.nfs-share med følgende indhold:

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

Bemærk, at det første felt i /etc/auto.nfs-share er navnet på en underkatalog i /media/nfs . Hver underkatalog oprettes dynamisk af autofs.

Genstart nu autofs-tjenesten:

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

og endelig, for at aktivere autofs at starte ved opstart, skal du køre følgende kommando:

# chkconfig --level 345 autofs on
# systemctl enable autofs 			[systemd based systems]

Når vi genstarter autofs , viser kommandoen mount os, at kortfilen ( /etc/auto.nfs-share ) er monteret på den angivne bibliotek i /etc/auto.master :

Bemærk, at der endnu ikke er installeret nogen mapper, men de vil automatisk ske, når vi prøver at få adgang til de aktier, der er specificeret i /etc/auto.nfs-share :

Som vi kan se, <

Indstillingerne anonuid og anongid sammen med root_squash som angivet i den første deling giver os mulighed for at kortlægge anmodninger udført af rodbrugeren i klient til en lokal konto på serveren.

Med andre ord, når root i klienten opretter en fil i den eksporterede mappe, kortlægges dens ejerskab automatisk til brugerkontoen med UID og GID = 1000, forudsat at en sådan konto findes på serveren:

Konklusion

Jeg håber, du var i stand til med succes at konfigurere og konfigurere en NFS-server, der passer til dit miljø ved hjælp af denne artikel som en vejledning. Det kan også være en god idé at henvise til de relevante mandesider for yderligere hjælp (f.eks. mandeksport og man idmapd.conf ).

Du er velkommen til at eksperimentere med andre muligheder og teste sager som beskrevet tidligere, og tøv ikke med at bruge nedenstående formular til at sende dine kommentarer, forslag eller spørgsmål. Vi hører gerne fra dig.