Tavallisten Linux-tiedostojärjestelmien määrittäminen ja NFSv4-palvelimen määrittäminen - Osa 2


Linux Foundation Certified Engineer (LFCE) on koulutettu määrittämään, konfiguroimaan, hallitsemaan ja vianmääritykseen Linux-järjestelmien verkkopalveluita, ja hän on vastuussa järjestelmäarkkitehtuurin suunnittelusta ja toteutuksesta sekä päivittäisiin liittyvistä ratkaisuista. kysymyksiä.

Esittelyssä Linux Foundation Certification Program (LFCE).

Tämän sarjan osassa 1 selitimme kuinka NFS-palvelin (Network File System) asennetaan ja palvelu käynnistyy automaattisesti käynnistyksen yhteydessä. Jos et ole vielä tehnyt niin, tutustu kyseiseen artikkeliin ja noudata kuvattuja vaiheita ennen kuin jatkat.

  1. Verkkopalvelujen asentaminen ja automaattisen käynnistyksen määrittäminen käynnistyksen yhteydessä – Osa 1

Näytän nyt, kuinka NFSv4-palvelin määritetään oikein (ilman todennussuojausta), jotta voit määrittää verkkoosuudet käytettäväksi Linux-asiakkaissa ikään kuin tiedostojärjestelmät olisi asennettu paikallisesti. Huomaa, että voit käyttää LDAP:tä tai NIS:ää todennustarkoituksiin, mutta molemmat vaihtoehdot eivät kuulu LFCE-sertifioinnin piiriin.

NFSv4-palvelimen määrittäminen

Kun NFS-palvelin on valmis, keskitymme seuraaviin asioihin:

  1. määrittää ja määrittää paikalliset hakemistot, jotka haluamme jakaa verkon kautta, ja
  2. asentaa nämä verkkoosuudet asiakkaisiin automaattisesti joko /etc/fstab-tiedoston tai automaattisen asennuksen ydinpohjaisen apuohjelman (autofs) kautta.

Selitämme myöhemmin, milloin valita yksi tai toinen menetelmä.

Ennen kuin aloitamme, meidän on varmistettava, että idmapd-daemon on käynnissä ja määritetty. Tämä palvelu suorittaa NFSv4 -nimien (käyttäjä@omaverkkotunnus) yhdistämisen käyttäjä- ja ryhmätunnuksiin, ja se tarvitaan NFSv4-palvelimen toteuttamiseen.

Ota idmapd käyttöön muokkaamalla /etc/default/nfs-common.

NEED_IDMAPD=YES

Ja muokkaa /etc/idmapd.conf-tiedostoa paikallisella verkkotunnuksellasi (oletus on isännän FQDN).

Domain = yourdomain.com

Käynnistä sitten idmapd.

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

Verkkoosuuksien vienti

/etc/exports-tiedosto sisältää NFS-palvelimemme tärkeimmät määritysohjeet, määrittää tiedostojärjestelmät, jotka viedään etäisäntään, ja määrittää käytettävissä olevat asetukset. Tässä tiedostossa jokainen verkkoosuus on merkitty erillisellä rivillä, jolla on oletusarvoisesti seuraava rakenne:

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

Missä /filesystem/to/export on absoluuttinen polku vietylle tiedostojärjestelmälle, kun taas asiakas1 (asiakasnumeroon asti) edustaa tiettyä asiakasta (isäntänimi tai IP-osoite) tai verkkoa (jokerimerkit ovat sallittuja), johon osuus viedään. Lopuksi vaihtoehdot ovat luettelo pilkuilla erotetuista arvoista (optioista), jotka otetaan huomioon osuutta vietäessä. Huomaa, että jokaisen isäntänimen ja sitä edeltävien sulkeiden välillä ei ole välilyöntejä.

Tässä on luettelo yleisimmistä vaihtoehdoista ja niiden kuvaus:

  1. ro (lyhenne sanoista vain luku): Etäasiakkaat voivat liittää viedyt tiedostojärjestelmät vain lukuoikeuksin.
  2. rw (lyhenne sanoista read-write): Sallii etäisäntien tehdä kirjoitusmuutoksia vietyihin tiedostojärjestelmiin.
  3. wdelay (lyhenne sanoista kirjoitusviive): NFS-palvelin viivästää levymuutosten tekemistä, jos se epäilee, että jokin muu siihen liittyvä kirjoituspyyntö on välitön. Jos NFS-palvelin kuitenkin vastaanottaa useita pieniä toisiinsa liittymättömiä pyyntöjä, tämä vaihtoehto heikentää suorituskykyä, joten no_wdelay-vaihtoehtoa voidaan käyttää sen poistamiseen.
  4. synkronointi: NFS-palvelin vastaa pyyntöihin vasta, kun muutokset on siirretty pysyvään tallennustilaan (eli kiintolevylle). Sen vastakohta, async-vaihtoehto, voi lisätä suorituskykyä, mutta tietojen katoamisen tai vioittumisen kustannuksella palvelimen epäpuhtaan uudelleenkäynnistyksen jälkeen.
  5. root_squash: Estää etäroot-käyttäjiä saamasta pääkäyttäjän oikeuksia palvelimessa ja antaa heille käyttäjätunnuksen käyttäjälle ei kukaan. Jos haluat "squash" kaikkiin käyttäjiin (eikä vain pääkäyttäjään), voit käyttää all_squash-vaihtoehtoa.
  6. anonuid/anongid: Asettaa nimenomaisesti anonyymin tilin (ei kukaan) UID:n ja GID:n.
  7. subtree_check: Jos vain tiedostojärjestelmän alihakemisto viedään, tämä vaihtoehto varmistaa, että pyydetty tiedosto sijaitsee kyseisessä viedyssä alihakemistossa. Toisaalta, jos koko tiedostojärjestelmä viedään, tämän asetuksen poistaminen käytöstä komennolla no_subtree_check nopeuttaa siirtoja. Nykyään oletusvaihtoehto on no_subtree_check, koska alipuun tarkistus aiheuttaa yleensä enemmän ongelmia kuin se kannattaa, man 5 -viennin mukaan.
  8. fsid=0 | juuri (nolla tai juuri): Määrittää, että määritetty tiedostojärjestelmä on useiden vietyjen hakemistojen juuri (koskee vain NFSv4:ssä).

Tässä artikkelissa käytämme hakemistoina /NFS-SHARE ja /NFS-SHARE/mydir osoitteessa 192.168.0.10 (NFS-palvelin). testaa tiedostojärjestelmiä.

Voimme aina luetella käytettävissä olevat verkko-osuudet NFS-palvelimessa käyttämällä seuraavaa komentoa:

showmount -e [IP or hostname]

Yllä olevassa tulosteessa voimme nähdä, että /NFS-SHARE ja /NFS-SHARE/mydir osuudet osoitteessa 192.168.0.10 on viety asiakkaalle, jonka IP-osoite on 192.168.0.17.

Alkukokoonpanomme (katso NFS-palvelimesi /etc/exports-hakemistoa) vietylle hakemistolle on seuraava:

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

Kun olet muokannut asetustiedostoa, meidän on käynnistettävä NFS-palvelu uudelleen:

service nfs-kernel-server restart 		[sysvinit / upstart based system]
systemctl restart nfs-server			[systemd based systems]
Vietyjen verkkoosuuksien asentaminen autofs:n avulla

Voit katsoa LFCS-sarjan osasta 5 ("Paikallisten ja verkkojen (Samba & NFS) tiedostojärjestelmien liittäminen/poistaminen Linuxissa") saadaksesi lisätietoja NFS-etäjakojen liittämisestä tarpeen mukaan. mount-komennolla tai pysyvästi /etc/fstab-tiedoston kautta.

Verkkotiedostojärjestelmän liittämisen haittapuoli näillä menetelmillä on se, että järjestelmän on varattava tarvittavat resurssit pitääkseen jaetun osan aina asennettuna, tai ainakin siihen asti, kunnes päätämme irrottaa ne manuaalisesti. Vaihtoehtona on liittää haluttu tiedostojärjestelmä tarvittaessa automaattisesti (käyttämättä mount-komentoa) autofs:n kautta, joka voi liittää tiedostojärjestelmiä, kun niitä käytetään, ja purkaa ne käytön jälkeen. toimettomuuden aika.

Autofs lukee /etc/auto.master-tiedoston, jonka muoto on seuraava:

[mount point]	[map file]

Missä [karttatiedosto] on tarkoitettu osoittamaan useita liitoskohtia sisällä [liitoskohta].

Tätä pääkarttatiedostoa (/etc/auto.master) käytetään sitten määrittämään, mitkä liitoskohdat on määritetty, ja sitten se aloittaa automaattisen liittämisprosessin määritetyillä parametreilla kullekin liitospisteelle.

Vietyjen NFS-osuuksien asentaminen autofs:n avulla

Muokkaa /etc/auto.master-tiedostoa seuraavasti:

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

ja luo karttatiedosto nimeltä /etc/auto.nfs-share, jossa on seuraava sisältö:

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

Huomaa, että ensimmäinen kenttä tiedostossa /etc/auto.nfs-share on alihakemiston nimi hakemistossa /media/nfs. Autofs luo dynaamisesti jokaisen alihakemiston.

Käynnistä nyt autofs-palvelu uudelleen:

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

ja lopuksi, jotta autofs käynnistyy käynnistyksen yhteydessä, suorita seuraava komento:

chkconfig --level 345 autofs on
systemctl enable autofs 			[systemd based systems]
Liitettyjen tiedostojärjestelmien tutkiminen autofs-demonin käynnistämisen jälkeen

Kun käynnistämme autofs:n uudelleen, mount-komento näyttää, että karttatiedosto (/etc/auto.nfs-share) on liitetty määritettyyn hakemistossa /etc/auto.master:

Huomaa, että yhtään hakemistoa ei ole vielä liitetty, mutta se tehdään automaattisesti, kun yritämme käyttää tiedostossa /etc/auto.nfs-share määritettyjä jakoja:

Kuten näemme, autofs-palvelu "liittää" karttatiedoston niin sanotusti, mutta odottaa, kunnes tiedostojärjestelmille tehdään pyyntö liittää ne.

Kirjoitustestien suorittaminen vietyissä tiedostojärjestelmissä

Vaihtoehdot anonuid ja anongid sekä ensimmäisessä jaossa määritetty root_squash antavat meille mahdollisuuden kartoittaa pääkäyttäjän suorittamat pyynnöt asiakas paikalliselle tilille palvelimessa.

Toisin sanoen, kun asiakkaan pääkäyttäjä luo tiedoston kyseiseen vietyyn hakemistoon, sen omistajuus yhdistetään automaattisesti käyttäjätiliin, jonka UID ja GID=1000, edellyttäen, että tällainen tili on olemassa palvelimella:

Johtopäätös

Toivon, että pystyit asentamaan ja määrittämään ympäristöllesi sopivan NFS-palvelimen käyttämällä tätä artikkelia oppaana. Voit myös hakea lisäapua asiaankuuluvilta man-sivuilta (esimerkiksi man exports ja man idmapd.conf).

Voit vapaasti kokeilla muita vaihtoehtoja ja testitapauksia, kuten aiemmin on kuvattu, ja älä epäröi käyttää alla olevaa lomaketta lähettääksesi kommenttisi, ehdotuksesi tai kysymyksesi. Kuulemme mielellämme sinusta.