Sun Microsystems NFS (tīkla failu sistēma) ir uz RPC balstīta sadalīta failu sistēmas struktūra, kas ļauj tīkla ierīcēm izmantot serverus, kuros tīklā darbojas NFS, kā lokālos diskus.
Šeit ir sniegta detalizēta rokasgrāmata par NFS servera iestatīšanu un konfigurēšanu Linux datorā.
Kas ir tīkla failu sistēma?
NFS failu sistēmai ir četri protokoli. Kad serveris ir gatavs, tas paziņo portmap (serveris, kas pārvērš protokolu par portu numuriem) par izmantojamo portu un nodrošina kontrolētās RPC programmas numuru.
Izmantojot iegulto Linux sistēmu, ir ļoti ērti palaist ierīci, izmantojot NFS failu koplietošanu tīklā, nevis palaist to tieši no atmiņas ierīces (NAND flash, eMMC, MMC, utt.).
Lai gan tas notiek retāk, iespējams, vēlēsities arī pievienot NFS koplietojumu un veikt failu koplietošanu, izmantojot to pēc sistēmas sāknēšanas, pat ja nepalaidāt sistēmu tieši no NFS koplietojuma. Lai abi scenāriji darbotos, datorā, kurā izstrādājat, vispirms jāinstalē NFS serveris.
Kā instalēt NFS operētājsistēmā Linux
Ja lietojat a Uz Debian balstīta sistēma piemēram, Ubuntu vai Linux Mint, jums vajadzētu instalēt nfs-kernel-serveris iepakojumā šādi:
sudo apt uzstādīt nfs-kernel-serveris
Operētājsistēmā Arch Linux:
sudo pacman -S nfs-utils
Fedora, CentOS un RHEL:
sudo dnf -y uzstādīt nfs-utils
Procesa beigās jūsu NFS serveris darbosies automātiski. Tomēr šobrīd tas vēl nezina, kurus jūsu datora direktorijus vēlaties koplietot tīklā. Tāpēc pēc noklusējuma tas nenodrošina nekādu koplietošanu.
Varat atvērt vairākus direktorijus vienā serverī, lai atļautu tīkla koplietošanu ar dažādām atļaujām un ierobežojumiem.
NFS servera konfigurēšana operētājsistēmā Linux
Lai koplietotu jebkuru direktoriju NFS serverī, ir jākonfigurē ar direktoriju saistīts iestatījums /etc/exports failu. Atveriet failu ar jebkuru teksta redaktoru pēc jūsu izvēles. Noteikti pievienojiet komandai sudo prefiksu.
sudo vim /etc/eksportu
Jums var rasties jautājums, ko nozīmē šeit redzamās kartēšanas opcijas:
- root_squash: Atzīmē sudo autorizētos klientu lietotājus kā nevienu lietotāju un grupu NFS
- no_root_squash: Atspējo sakņu saspiešanu
- all_squash: Atšķirībā no root_squash, tas ļauj visus lietotājus kartēt kā neviena lietotāju un grupu. To parasti izmanto publiskai piekļuvei.
- no_all_squash: All_squash pretstats; šī opcija ir noklusējuma opcija
Ja sistēma, kas atrodas ārpus IP diapazoniem, kurus jūs atļaujat NFS servera failā /etc/exports, mēģina piekļūt attiecīgajam resursam, NFS serveris pieprasījumu noraidīs.
Uzstādīšanas laikā iegultajā sistēmā varat saņemt ziņojumus “serveris liedz piekļuvi”. Kļūdu ziņojumi, kas līdzīgi tālāk norādītajam, tiks parādīti beigās /var/log/syslog failu datorā, kurā darbojas NFS serveris:
rpc.mountd[1041]: atteikts pievienošanas pieprasījums no192.168.2.2priekš /home/example/casper/target (/home/example/casper/target): nepārspējams saimniekdators
Ja redzat nesaskaņotu resursdatora žurnāla ziņojumu, piemēram, iepriekš norādīto, failā /etc/exports izvērsiet attiecīgās kārtulas IP/tīkla maskas sadaļu vai izmantojiet zvaigznīte (*) īpašā rakstzīme, ja vēlaties piešķirt piekļuvi visām IP adresēm.
Pēc izmaiņu veikšanas NFS pakalpojums ir jārestartē /etc/exports fails:
sudo pakalpojums nfs-kernel-server restart
Vai arī, ja jūsu izplatīšana tiek piegādāta ar systemctl, palaidiet šo komandu:
sudosystemctlrestartētnfs-serveris.apkalpošana
Jūs varat arī dot -r parametru uz eksportfs komandu, lai tā atkārtoti koplietotu direktorijus, kuros ir mainīti visi ar kopīgošanu saistītie iestatījumi:
sudo exportfs -r
Montāžas latentuma problēmas novēršana
Ja savā serverī izmantojat NFS protokola versiju 4 un jaunāku, var rasties aizkave līdz 15 sekundēm. klienta puses montāžas process tradicionālajos darbības scenārijos ar NFS noklusējuma konfigurācijām serveris. Šī problēma var parādīties dažās Debian, Fedora un Ubuntu versijās.
Ja jums ir līdzīga stiprinājuma nobīde, varat pārbaudiet servera puses žurnālfailus (/var/log/syslog, /var/log/messages) žurnāla ziņojumam, kas līdzīgs šim:
... RPC: AUTH_GSS upcall noildze
Šis ziņojums norāda, ka Kerberos autentifikācija neizdevās un iestājās taimauts. Iespējams, jums nebūs nepieciešams Kerberos protokols drošības autentifikācijai tīklā jūsu vidē. Pat ja atrodaties tīklā, kas konfigurēts šādi, vismaz ar iegultajām Linux sistēmām, jums nav jāiespējo Kerberos autentifikācija.
Lai gan problēmas novēršanai ir piedāvātas alternatīvas GSSD pakalpojuma palaišanai ar NFS, šīm pieejām nav vienāda ietekme visos izplatījumos un pakotņu versijās, un tāpēc visracionālāk ir šo problēmu risināt no sakne.
Jums ir jābloķē (vai melnajā sarakstā). rpcec_gss_krb5 kodola modulis no ielādes Linux sistēmā, kurā tiek izpildīts NFS serveris.
Lai šī opcija stātos spēkā ikreiz, kad restartējat datoru, izveidot jaunu failu sauca /etc/modprobe.d/nfs-gss-blacklist.conf un pievienojiet tam šādas rindas:
melnais saraksts rpcsec_gss_krb5
Kad esat saglabājis failu un restartējis sistēmu, montāžas latentuma problēma pazudīs.
Kāpēc izmantot NFS serveri?
NFS iestatīšana ir vienkārša un pieņemama. Tas nodrošina centralizētu pārvaldību, kas samazina vajadzību pēc papildu programmatūras un atmiņas vietas individuāla lietotāja datorā. Vienā datorā vairāki lietotāji var koplietot vienu un to pašu diska vietu. Viņi var ievietot šos diskus savā failu sistēmā, lai paplašinātu atmiņas vietu.
NFS koplietošana ļauj programmas, kurām nepieciešams daudz vietas, grupēt vienā serverī. Tas var radīt milzīgu diska vietas ietaupījumu. Lai gan iepriekšējās NFS versijas ir neaizsargātas, jaunākajās versijās ir ieviesti papildu aizsardzības līmeņi, tostarp Kerberos autentifikācija.
Tomēr ir arī daži trūkumi. Ir konstatēts, ka NFS dažos gadījumos palēninās intensīvas tīkla trafika laikā. Kopīgošana ar Windows ir iespējama, taču var būt nepieciešamas dažas trešās puses lietojumprogrammas. Taču drošības ziņā tā nav īpaši saprātīga prakse. Ja konfigurācija nav pareiza, var rasties nesankcionēta piekļuve.
Failu sistēmu koplietošana ir vienkārša operētājsistēmā Linux, izmantojot NFS
Drošības problēmu pārzināšana un risinājumu meklēšana ir viens no svarīgākajiem sistēmas administratora uzdevumiem. Ir jāzina visu failu koplietošanas sistēmu un pārvaldības rīku drošības procedūras, nevis tikai NFS.