Network File System (NFS) er et nettverksfilsystem. Og en katalogtjeneste. NFS serveradministrasjon

dette øyeblikket du må ha en fungerende TCP/IP-tilkobling til nettverket ditt. Du bør kunne pinge andre datamaskiner på nettverket, og hvis du har konfigurert gatewayen deretter, bør du også kunne pinge datamaskiner på Internett. Som du vet er hovedformålet med å koble en datamaskin til et nettverk å få tilgang til informasjon. Mens noen kan koble en datamaskin til et nettverk akkurat slik, vil de fleste gjerne dele og få tilgang til filer og skrivere. De vil gjerne ha tilgang til dokumenter på Internett eller spille online spill. Med TCP/IP-støtte og programvare installert på ditt nye Slackware-system får du alt; Men ved å installere kun TCP/IP-støtte, vil funksjonaliteten være svært begrenset. For å dele og dele filer, må vi overføre dem frem og tilbake ved hjelp av FTP eller SCP. Vi kan ikke se på vår ny datamaskin med Slackware-filtreet via My Network Places eller Entire Network-ikoner fra Windows-datamaskiner. Vi vil gjerne ha konstant tilgang til filer på andre Unix-maskiner.

Ideelt sett vil vi gjerne bruke nettverksfilsystem slik at vi kan ha gjennomsiktig tilgang til filer på datamaskiner. Programmene vi bruker for å jobbe med informasjon som er lagret på datamaskiner, trenger egentlig ikke engang å vite hvilken datamaskin filen er lagret på. De trenger bare å vite at denne filen eksisterer og måten å få den på. Resten er allerede oppgaven til operativsystemet, og gir tilgang til denne filen ved å bruke de tilgjengelige lokale og nettverksfilsystemene. De to mest brukte nettverksfilsystemene er SMB (implementert over Samba) og NFS.

5.6.1. SMB / Samba / CIFS

SMB (Server Message Block) er en etterkommer av den eldre NetBIOS-protokollen som opprinnelig ble utviklet av IBM for deres LAN Manager-produkt. Microsoft har på sin side alltid vært interessert i NetBIOS og dets arvinger (NetBEUI, SMB og CIFS). Samba-prosjektet startet i 1991 da det ble skrevet for å gi kommunikasjon mellom en IBM PC og en Unix-server. I dag gir generell tilgang til filer og utskriftstjenester over SMB-nettverket er den foretrukne metoden for nesten hele den siviliserte verden, siden Windows også støtter det.

Samba-konfigurasjonsfilen /etc/samba/smb.conf er en av de mest veldokumenterte konfigurasjonsfilene du kan finne. Det er ferdige eksempler med innstillinger for delte ressurser, slik at du kan se og endre dem i henhold til dine behov. Hvis du trenger mer mer kontroll, smb.conf man-siden står til din tjeneste. Siden Samba har så god dokumentasjon, skal vi ikke skrive den om her. La oss imidlertid raskt dvele ved hovedpunktene.

smb.conf er delt inn i flere seksjoner: en seksjon per aksje, pluss en global seksjon for innstilling av parametere som brukes overalt. Noen parametere er bare gyldige i den globale delen, og noen er bare gyldige utenfor den. Husk at den globale delen kan overstyres av en hvilken som helst annen del. Per tilleggsinformasjon se man-sidene.

Du vil mest sannsynlig ønske å redigere smb.conf-filen din for å gjenspeile innstillingene dine. lokalt nettverk... Vi anbefaler deg å endre elementene som er oppført nedenfor:

Dette vil være beskrivelsen av Slackware-datamaskinen din, vist i mappen My Network Places (eller hele nettverket).

Du vil nesten helt sikkert ønske å bruke brukersikkerhetsnivået på Slackware-systemet ditt.

Hvis passordkryptering ikke er aktivert, vil du ikke kunne bruke Samba med NT4.0-, Win2k-, WinXP- og Win2003-systemer. Tidligere versjoner av Windows-operativsystemer krevde ikke kryptering for å gi tilgang til delte ressurser.

SMB er en autentisert protokoll, dvs. du kan oppgi et brukernavn og passord for å dra nytte av denne tjenesten. Vi forteller samba-serveren at brukernavnene og passordene er riktige gjennom smbpasswd-kommandoen. smbpasswd tillater bruk av delte nøkler for å legge til både vanlige brukere og maskinbrukere (for SMB må du legge til NETBIOS-maskinnavn som brukermaskiner, og dermed begrense utvalget av maskiner som autentisering kan finne sted fra).

Det er viktig å vurdere det fornavn brukernavn eller vertsnavn må allerede eksistere i filen / etc / passwd. Du kan oppnå dette med kommandoen adduser. Merk at når du bruker kommandoen adduser, må du legge til et dollartegn ("$") til datamaskinnavnet for å legge det til. Imidlertid dette ikke må gjøres når du arbeider med smbpasswd. smbpasswd-verktøyet legger til et dollartegn alene. Brudd på denne regelen av adduser vil resultere i en feil når vertsnavnet legges til samba.

#adduser maskin $

5.6.2. Network File System (NFS)

NFS (Network File System) ble opprinnelig skrevet av Sun for Solaris - deres implementeringer Unix-systemer... Selv om det er mye enklere å sette opp og konfigurere enn SMB, er NFS mye mindre sikkert. Den største sikkerhetssvakheten er at det er enkelt å erstatte bruker- og gruppe-ID-er fra én maskin med ID-er fra en annen maskin. Autentisering er ikke implementert i NFS-protokollen. Det er opplyst at i fremtidige versjoner NFS-protokoll sikkerheten vil bli forbedret, men når dette skrives er dette ennå ikke gjort.

NFS konfigureres gjennom / etc / eksportfilen. Når du laster standard / etc / eksportfilen inn i en editor, vil du se tom fil med en kommentar på de to øverste linjene. Vi må legge til en linje i eksportfilen for hver av katalogene vi ønsker å eksportere, og liste opp klientarbeidsstasjonene som vil få tilgang til den katalogen. For eksempel, hvis vi ønsket å eksportere katalogen / home / foo for Bar-arbeidsstasjonen, må vi legge til denne linjen i / etc / eksportfilen vår:

Som du kan se, er det flere forskjellige alternativer, men de fleste av dem bør være klare fra dette eksemplet.

NFS forutsetter at en gitt bruker på en av maskinene på nettverket har samme identitet på alle andre maskiner. Når en NFS-klient prøver å lese eller skrive til en NFS-server, sendes UID-en som en del av lese-/skriveforespørselen. Denne UIDen anses som den samme som om forespørselen ble gjort fra den lokale maskinen. Som du kan se, hvis noen vilkårlig kan spesifisere en gitt UID når de får tilgang til ressurser på en ekstern maskin, kan og skjer problemer. En del av løsningen for dette er å montere alle kataloger med parameteren root_squash. Dette overstyrer UID-en til enhver bruker som hevder å være root til en annen UID, og ​​forhindrer dermed at root får ny tilgang til filer og kataloger i den eksporterte katalogen. Det ser ut som root_squash er aktivert som standard av sikkerhetsgrunner, men forfatterne anbefaler fortsatt at du spesifiserer det eksplisitt i / etc / eksportfilen.

Du kan også eksportere en katalog på serveren direkte fra kommandolinje ved å bruke exportfs-kommandoen som vist nedenfor:

# exportfs -o rw, no_root_squash Bar: / home / foo

Denne kommandoen vil eksportere katalogen / home / foo for datamaskinen "Bar" og gi den lese- / skrivetilgang. I tillegg er ikke root_squash-parameteren aktivert på NFS-serveren, noe som betyr at enhver bruker på Bar med UID "0" (UID-rot "a) vil ha samme rettigheter på serveren som root. Syntaksen ser ganske merkelig ut (vanligvis når du spesifiserer katalog som datamaskin: / katalog / fil, refererer du til en fil i en katalog på en gitt datamaskin).

Du finner mer informasjon om eksportfilen på man-siden.

NFS-filsystemet (Network File System) ble opprettet av Sun Microsystems. Det er for øyeblikket standard nettverksfilsystem for operativsystemet. UNIX-familien i tillegg er NFS-klienter og -servere implementert for mange andre operativsystemer. Prinsippene for organisasjonen er for tiden standardisert av internettsamfunnet, den siste versjonen av NFS v.4 er beskrevet av RFC ZOJ-spesifikasjonen, utgitt i desember 2000.

NFS er et system som støtter skjemaet fjerntilgang til filer. Brukerens arbeid med eksterne filer etter monteringsoperasjonen blir helt gjennomsiktig - undertreet til filsystemet til NFS-serveren blir et undertre av det lokale filsystemet.

Et av målene til NFS-utviklerne var å støtte heterogene systemer med klienter og servere som kjører forskjellige operativsystemer på forskjellige maskinvareplattformer. Dette målet er hjulpet av Suns RFC-baserte NFS-implementering, som støtter XDR-er som standard for enhetlig representasjon av eksterne prosedyreargumenter.

For å sikre at klienter er motstandsdyktige mot serverfeil, har NFS tatt i bruk en tilstandsløs tilnærming, det vil si at når man jobber med filer, lagrer ikke servere data om filer som åpnes av klienter.

Den grunnleggende ideen bak NFS er å la en vilkårlig gruppe brukere dele et felles filsystem. Som oftest tilhører alle brukere det samme lokale nettverket, men ikke nødvendigvis. Du kan også kjøre NFS på WAN. Hver NFS-server tilbyr en eller flere av sine kataloger for ekstern klienttilgang. Katalogen er erklært tilgjengelig med alle underkatalogene. Listen over kataloger som serveren sender finnes i / etc / eksportfilen, så disse katalogene eksporteres så snart serveren starter opp. Klienter får tilgang til de eksporterte katalogene ved å montere. Mange Sun-arbeidsstasjoner er diskløse, men selv da er det mulig å montere et eksternt filsystem til rotkatalogen med hele filsystemet på serveren. Utførelsen av programmer er nesten uavhengig av hvor filen er plassert: lokalt eller på en ekstern disk. Hvis to eller flere klienter har montert samme katalog samtidig, kan de kommunisere ved å dele filen.

NFS-filsystemet bruker to protokoller i sitt arbeid.

Den første NFS-protokollen kontrollerer monteringer. Klienten sender det fullt kvalifiserte katalognavnet til serveren og ber om tillatelse til å montere den katalogen et sted i sitt eget katalogtre. I dette tilfellet er ikke serveren angitt hvor serverkatalogen skal monteres. Etter å ha mottatt navnet, validerer serveren forespørselen og returnerer en filbeskrivelse til klienten som er det eksterne monteringspunktet. Deskriptoren inkluderer en filsystemtypebeskrivelse, disknummer, inodenummer til katalogen som er det eksterne monteringspunktet og sikkerhetsinformasjon. Lese og skrive filer fra monterte filsystemer bruker filbeskrivelser i stedet for et symbolsk navn.


Montering kan gjøres automatisk ved hjelp av batch-filer ved oppstart. Det er et annet alternativ for automatisk montering: når operativsystemet starter på en arbeidsstasjon, er ikke det eksterne filsystemet montert, men når den eksterne filen åpnes for første gang, sender operativsystemet forespørsler til hver server, og etter å ha oppdaget denne filen, monterer katalogen til serveren der filen som ble funnet er plassert.

Den andre NFS-protokollen brukes til å få tilgang til eksterne filer og kataloger. Klienter kan sende en forespørsel til serveren om å utføre en handling på katalogen eller lese eller skrive en fil. I tillegg kan de spørre etter filattributter som type, størrelse, opprettelse og endringstider. NFS støttes av de fleste UNIX-systemanrop, med unntak av åpne og lukke. De åpne og lukkede unntakene er ikke tilfeldige. I stedet for å åpne en ekstern fil, sender klienten en melding til serveren som inneholder navnet på filen, ber om et oppslag og returnerer en filbeskrivelse. I motsetning til det åpne anropet, kopierer ikke oppslagskallet noen informasjon til de interne systemtabellene. Leseanropet inneholder filbeskrivelsen som skal leses, forskyvningen i filen som leses og antall byte som skal leses. Fordelen med denne ordningen er at serveren ikke husker noe om åpne filer. På denne måten, hvis serveren krasjer og deretter gjenopprettes, vil ikke informasjon om åpne filer gå tapt fordi den ikke støttes.

Hvis serveren svikter, fortsetter klienten ganske enkelt å sende kommandoer for å lese eller skrive til filer, men uten å motta et svar og ha brukt opp tidsavbruddet, gjentar klienten sine forespørsler. Etter omstart mottar serveren en ny gjentatt forespørsel fra klienten og svarer på den. Dermed forårsaker et serverkrasj bare noen pause i kundeservicen, men nei ytterligere handlinger klienter er ikke pålagt å gjenopprette tilkoblinger og åpne filer på nytt.

Dessverre gjør NFS det vanskelig å låse filer. På mange operativsystemer kan en fil åpnes og låses slik at andre prosesser ikke får tilgang til den. Når filen lukkes, frigjøres låsen. På statsløse systemer som NFS kan ikke blokkering relateres til åpningen av en fil, siden serveren ikke vet hvilken fil som er åpen. Derfor krever NFS spesielle ekstra midler blokkerende kontroll.

NFS bruker caching på klientsiden, data overføres til cachen blokk for blokk, og read-ahead brukes, der lesing av en blokk til cachen på forespørsel fra applikasjonen alltid følges av lesing av neste blokk på initiativ av system. NFS-bufringsmetoden bevarer ikke UNIX-semantikk for fildeling. I stedet brukes den kritisk kritiserte semantikken, der endringer i data i en fil bufret av en klient er synlig for en annen klient, avhengig av tidspunktet. Ved neste åpning av en fil i hurtigbufferen sjekker klienten med serveren når filen sist ble endret. Hvis dette skjer etter at filen er plassert i cachen, fjernes filen fra cachen og en ny kopi av filen mottas fra serveren. Klienter distribuerer endringer som er gjort i cachen hvert 30. sekund, slik at serveren kan motta oppdateringer med lang forsinkelse. Som et resultat av mekanismene for å tømme data fra hurtigbufferen og distribuere modifikasjoner, er dataene som mottas av enhver klient ikke alltid de nyeste.

NFS-replikering støttes ikke.

Katalogtjeneste

Formål og prinsipper for organisering

Som en stor organisasjon, må et stort datanettverk sentralt lagre så mye referanseinformasjon om seg selv som mulig. Løsningen av mange problemer i nettverket er avhengig av informasjon om nettverksbrukere - deres navn brukes for logisk pålogging, passord, tilgangsrettigheter til nettverksressurser, samt ressurser og nettverkskomponenter: servere, klientdatamaskiner, rutere, gatewayer, filvolumer systemer, skrivere osv.

Her er eksempler på de viktigste oppgavene som krever en sentralisert database med referanseinformasjon på nettverket:

  • En av de hyppigst utførte oppgavene i systemet, basert på referanseinformasjon om brukere, er deres autentisering, som deretter utføres tilgangsautorisasjon på grunnlag av. Nettverket må på en eller annen måte være sentralt lagret Kontoer brukere som inneholder navn og passord.
  • Å ha en slags sentralisert database krever støtte for åpenhet om tilgang til mange nettverksressurser. En slik database bør lagre navnene på disse ressursene og tilordningen av navn til numeriske identifikatorer (for eksempel IP-adresser) som gjør det mulig å finne denne ressursen på nettverket. Åpenhet kan gis for tilgang til servere, filsystemvolumer, RPC-prosedyregrensesnitt, distribuerte applikasjonsprogramobjekter og mange andre nettverksressurser.
  • E-post er et annet populært eksempel på en tjeneste som ønsker en enkelt online helpdesk som lagrer brukernavndata.
  • V i det siste I nettverk brukes i økende grad kvalitetsstyringsverktøy (QoS), som også krever informasjon om alle brukere og applikasjoner av systemet, deres krav til trafikkkvalitet på tjenesteparametere, samt om alle nettverksenheter som du kan administrere trafikk med (rutere, brytere, gatewayer, etc.).
  • Organiseringen av distribuerte applikasjoner kan forenkles betydelig hvis nettverket har en database som lagrer informasjon om eksisterende programmoduler-objekter og deres plassering på nettverksserverne. En applikasjon som må utføre en standard handling, sender en forespørsel til en slik database og mottar adressen til et programobjekt som kan utføre den nødvendige handlingen.
  • Nettverksstyringssystemet må ha en base for lagring av informasjon om nettverkstopologien og egenskapene til alle nettverkselementer som rutere, svitsjer, servere og klientdatamaskiner. Tilstedeværelsen av fullstendig informasjon om sammensetningen av nettverket og dets forbindelser tillater systemet automatisert kontroll nettverk for å identifisere meldinger om nødhendelser og finne rotårsaken til dem. Informasjon sortert etter divisjoner av virksomheten om tilgjengelig nettverksutstyr og etablert programvare nyttig i seg selv, siden det hjelper administratorer å få et pålitelig bilde av tilstanden til nettverket og utvikle planer for dets utvikling.

Slike eksempler kan videreføres, men det er ikke vanskelig å sitere et motargument som sår tvil om behovet for å bruke en sentralisert database med referanseinformasjon i nettverket - lang tid nettverk fungerte uten en eneste referansedatabase, og mange nettverk fungerer fortsatt uten en. Faktisk er det mange private løsninger som gjør det mulig å effektivt organisere driften av et nettverk basert på private referansedatabaser, som kan representeres av vanlige tekstfiler eller tabeller lagret i applikasjonens kropp. For eksempel bruker UNIX tradisjonelt en passwd-fil til å lagre brukernavn og passord, som kun dekker brukere på én datamaskin. Du kan også lagre navnene på e-postmottakere i en lokal fil på klientdatamaskinen. Og så privat hjelpesystemer fungerer godt - praksis bekrefter dette.

Denne innvendingen gjelder imidlertid bare for små og mellomstore nettverk; i store nettverk mister individuelle lokale referansedatabaser sin effektivitet. DNS-navnetjenesten på Internett er et godt eksempel på upassende lokale løsninger for store nettverk. Når størrelsen på Internett overskred en viss grense, ble det ineffektivt å lagre informasjon om samsvar mellom navn og IP-adresser til datamaskiner på nettverket i lokale tekstfiler. Det var nødvendig å lage en distribuert database støttet av hierarkisk koblede navneservere og en sentralisert tjeneste på toppen av databasen for å gjøre den symbolske navneløsningsprosessen på Internett rask og effektiv.

For et stort nettverk er det også ineffektivt å bruke et stort antall smale hjelpetjenester: en for autentisering, en annen for nettverksadministrasjon, tredje for å løse datamaskinnavn osv. Selv om hver av disse tjenestene er godt organisert og kombinerer en sentralisert grensesnitt med en distribuert basedata, stort antall helpdesk-tjenester dupliserer store mengder informasjon og kompliserer nettverksadministrasjon og -administrasjon. For eksempel har Windows NT minst fem forskjellige typer referansedatabaser. Hovedkatalogen til domenet (NT Domain Directory Service) lagrer informasjon om brukere, som kreves for å organisere deres logiske pålogging til nettverket. Data om de samme brukerne kan finnes i en annen katalog som brukes av elektronisk med Microsoft-post Post. Tre flere databaser støtter adresseoppløsning: WINS kartlegger Netbios-navn til IP-adresser, DNS (Domain Name Server)-katalog er nyttig når du kobler et NT-nettverk til Internett, og til slutt brukes DHCP-katalogen til å automatisk tildele IP-adresser til datamaskiner på nettverket .... Åpenbart gjør en slik variasjon av hjelpetjenester livet vanskelig for administratoren og fører til ytterligere feil når legitimasjonen til samme bruker må legges inn i flere databaser. Derfor, i det nye Windows-versjoner 2000 det meste av systemhjelpeinformasjonen kan lagres tjeneste Aktiv Directory er en enkelt sentralisert katalogtjeneste som bruker en distribuert database og er integrert med DNS.

Som et resultat av utviklingen av lagringssystemer for referanseinformasjon, dukket det opp en spesiell tjeneste i nettverksoperativsystemer - de såkalte Directory Services, også kalt en katalogtjeneste. Katalogtjenesten lagrer informasjon om alle brukere og nettverksressurser i form av enhetlige objekter med visse attributter, og lar deg også reflektere relasjonene mellom lagrede objekter, for eksempel brukernes tilhørighet til en bestemt gruppe, brukertilgangsrettigheter til datamaskiner, oppføring av flere noder i ett subnett, kommunikasjonskoblinger mellom subnett, serverproduksjon og så videre. Katalogtjenesten lar deg utføre noen grunnleggende operasjoner på lagrede objekter, som å legge til og fjerne et objekt, inkludert et objekt i et annet objekt, endre verdiene til et objektattributt, lese attributter og noen andre. Vanligvis bygges ulike spesifikke nettverksapplikasjoner på toppen av katalogtjenesten, som bruker informasjonen til tjenesten til å løse spesifikke oppgaver: nettverksadministrasjon, brukerautentisering, tjenestegjennomsiktighet og andre oppført ovenfor. En katalogtjeneste er vanligvis bygget på en klient-server-modell: servere lagrer en database med referanseinformasjon som klienter bruker ved å sende forespørsler til servere over nettverket. Det ser ut til å være det samme for katalogtjenesteklienten. sentralisert system selv om de fleste gode katalogtjenester har en distribuert struktur som inkluderer et stort antall servere, er strukturen transparent for klienter.

Et viktig spørsmål er organiseringen av referansedatabasen. En enkelt database som lagrer en stor mengde referanseinformasjon skaper alle de samme problemene som enhver annen stor database. Å implementere en helpdesk som en lokal database lagret som en enkelt kopi på en av serverne på nettverket er ikke egnet for et stort system av flere årsaker, først og fremst på grunn av lav ytelse og lav pålitelighet til en slik løsning. Ytelsen vil være lav på grunn av det faktum at forespørsler til databasen fra alle brukere og applikasjoner på nettverket vil bli sendt til en enkelt server, som med et stort antall forespørsler helt sikkert vil slutte å takle behandlingen. Det vil si at en slik løsning ikke skalerer godt i forhold til antall betjente brukere og delte ressurser. Pålitelighet kan heller ikke være høy i et system med en enkelt kopi av dataene. I tillegg til å fjerne restriksjoner på ytelse og pålitelighet, er det ønskelig at strukturen til databasen tillater logisk gruppering av ressurser og brukere etter strukturelle inndelinger av virksomheten og tilordne en administrator for hver slik gruppe.

Problemene med å opprettholde ytelse og pålitelighet etter hvert som nettverket vokser, løses vanligvis gjennom distribuerte referansedatabaser. Deling av data på tvers av flere servere reduserer belastningen på hver server, samtidig som påliteligheten opprettholdes ved å ha flere replikaer av hver del av databasen. For hver del av databasen kan du tilordne sin egen administrator, som kun har tilgangsrettigheter til objektene til sin del av informasjonen om hele systemet. For brukeren (og for nettverksapplikasjoner) ser en slik distribuert database ut til å være en enkelt database som gir tilgang til alle nettverksressurser, uavhengig av hvilken arbeidsstasjon forespørselen kom fra.

Det er to populære standarder for katalogtjenester. For det første er det X.500-standarden utviklet av ITU-T (på tidspunktet for utviklingen av standarden ble denne organisasjonen kalt CCITT). Denne standarden definerer funksjonene, organiseringen av helpdesk og protokollen for tilgang til den. X.500-standarden er designet primært for bruk med posttjenesten X.400, og tillater effektiv lagring av all referanseinformasjon og fungerer som et godt grunnlag for en universell nettverkskatalogtjeneste.

En annen standard er LDAP-standarden (Light-weight Directory Access Protocol) utviklet av internettsamfunnet. Denne standarden definerer en forenklet, siden tjenester bygget på X.500-standarden har vist seg å være for tungvint. LDAP har blitt utbredt og har blitt de facto-standarden som en klienttilgangsprotokoll for helpdesk-ressurser.

Det er også flere praktiske implementeringer katalogtjenester for nettverksoperativsystemer. Den mest brukte tjenesten er Novells NDS, utviklet i 1993 for nettverksoperativsystemet NetWare 4.0, og i dag også implementert for Windows NT/2000. Katalogtjeneste er av stor interesse Active Directory utviklet av Microsoft for Windows 2000. Begge disse tjenestene støtter LDAP-tilgangsprotokollen og kan fungere i svært store nettverk på grunn av deres distribusjon.

NDS-katalogtjeneste

NetWare Directory Services (NDS) er en global referansetjeneste basert på en distribuert objektorientert database med nettverksressurser. NDS-databasen inneholder informasjon om alle nettverksressurser, inkludert informasjon om brukere, brukergrupper, skrivere, volumer og datamaskiner. NetWare OS (og andre NDS-klienter som kjører på andre plattformer) bruker NDS-informasjon for å gi tilgang til disse ressursene.

NDS erstattet bindery-katalogen til tidligere versjoner av NetWare. Bindekatalogen er en "flat" eller enkeltlags database designet for å støtte en enkelt server. Den brukte også konseptet "objekt" for en nettverksressurs, men tolkningen av dette begrepet var forskjellig fra den generelt aksepterte. Bindeobjektene ble identifisert som enkle numeriske verdier og hadde visse egenskaper. For disse objektene var det imidlertid ingen eksplisitt arveforhold for objektklasser, så forholdet mellom bindeobjekter ble vilkårlig etablert av administratoren, noe som ofte førte til dataintegritetsbrudd.

NDS-databasen er en lagdelt database som opprettholder ressursinformasjon for alle servere på nettverket. For bakoverkompatibilitet med NetWare tilbyr NDS en bindery-emuleringsmekanisme.

NDS er en betydelig forbedring i forhold til tidligere versjoner ved:

  • fordeling;
  • replikerbarhet;
  • åpenhet;
  • globalitet.

Distribusjon betyr at informasjon ikke lagres på en enkelt server, men deles inn i deler som kalles partisjoner. NetWare lagrer disse partisjonene på flere servere på nettverket (Figur 10.8). Denne egenskapen forenkler administrasjonen og administrasjonen av et stort nettverk betydelig, siden den fremstår for administratoren som et enkelt system. Det gir også raskere tilgang til nettverksressursdatabasen ved å få tilgang til nærmeste server.

Ris. 10.8. NDS-databasepartisjoner

En replika er en kopi av NDS-partisjonsinformasjonen. Du kan lage et ubegrenset antall kopier av hver partisjon og lagre dem på forskjellige servere... Hvis en server stopper, kan kopier av denne informasjonen hentes fra en annen server. Dette øker motstandskraften til systemet fordi ingen server er ansvarlig for all informasjonen i NDS-databasen.

Åpenhet er at NDS automatisk oppretter koblinger mellom programvare- og maskinvarekomponenter som gir en bruker tilgang til nettverksressurser. NDS krever ikke at brukeren kjenner til den fysiske plasseringen av disse ressursene. Spør nettverksressurs ved navn, vil du få riktig tilgang til den selv om nettverksadressen eller plasseringen endres.

Globaliteten til NDS er at etter pålogging får du tilgang til ressursene til hele nettverket, og ikke bare én server, slik det var i tidligere versjoner... Dette oppnås gjennom den globale påloggingsprosedyren. I stedet for å logge på en egen server, logger NDS-brukeren på nettverket og får deretter tilgang til nettverksressursene han har tillatt. Informasjonen som gis under logisk pålogging brukes til å identifisere brukeren. Senere, når brukeren prøver å få tilgang til ressurser som servere, volumer eller skrivere, bakgrunnsprosess identifikasjon sjekker om en bruker har rett til en gitt ressurs.

God tid, lesere og gjester. Det var en veldig lang pause mellom innleggene, men jeg er tilbake i kamp). I dagens artikkel vil jeg vurdere NFS-protokolloperasjon, og sette opp en NFS-server og NFS-klient på Linux.

Introduksjon til NFS

NFS (Nettverksfilsystem - nettverksfilsystem) etter min mening - en ideell løsning i et lokalt nettverk hvor rask (raskere enn SAMBA og mindre ressurskrevende sammenlignet med eksterne filsystemer med kryptering - sshfs, SFTP, etc ...) datautveksling er nødvendig og ikke er i forkant sikkerhet for overført informasjon. NFS-protokoll muliggjør montere eksterne filsystemer over et nettverk i et lokalt katalogtre som om det var et montert diskfilsystem. Dermed kan lokale applikasjoner fungere med et eksternt filsystem som med et lokalt. Men du må være forsiktig (!) Med sette opp NFS, fordi med en viss konfigurasjon er det mulig å suspendere klientens operativsystem, mens du venter på uendelig I / O. NFS-protokoll basert på arbeid RPC-protokoll, som ikke egner seg til min forståelse enda)) så materialet i artikkelen vil være litt vagt ... Før du kan bruke NFS, enten det er en server eller en klient, må du sørge for at kjernen din har støtte for NFS-filsystemet. Du kan sjekke om kjernen støtter NFS-filsystemet ved å se etter tilstedeværelsen av de tilsvarende linjene i filen / proc / filsystemer:

ARCHIV ~ # grep nfs / proc / filesystems nodev nfs nodev nfs4 nodev nfsd

Hvis de angitte linjene i filen / proc / filsystemer mislykkes, må du installere pakkene beskrevet nedenfor. Dette vil mest sannsynlig installere avhengige kjernemoduler for å støtte de ønskede filsystemene. Hvis etter installasjon av pakker, vises ikke NFS-støtte i den angitte filen, da vil det være nødvendig, med inkludering av denne funksjonen.

Historie Nettverksfilsystem

NFS-protokoll utviklet av Sun Microsystems og har 4 versjoner i sin historie. NFSv1 ble utviklet i 1989 og var eksperimentell og kjørte på UDP-protokollen. Versjon 1 er beskrevet i. NFSv2 ble utgitt i samme 1989, ble beskrevet av samme RFC1094 og var også basert på UDP-protokollen, samtidig som du ikke kunne lese mer enn 2 GB fra en fil. NFSv3 revidert i 1995 og beskrevet i. De viktigste nyvinningene i den tredje versjonen var filstøtte stor størrelse, lagt til støtte for TCP-protokollen og store TCP-pakker, noe som betydelig akselererte teknologiens drift. NFSv4 ferdigstilt i 2000 og beskrevet i RFC 3010, revidert i 2003 og beskrevet i. Den fjerde versjonen inkluderte ytelsesforbedringer, støtte for ulike autentiseringsverktøy (spesielt Kerberos og LIPKEY som bruker RPCSEC GSS-protokollen) og tilgangskontrolllister (både POSIX- og Windows-typer). NFS-versjoner v4.1 ble godkjent av IESG i 2010, og fikk nummeret. En viktig nyvinning i versjon 4.1 er pNFS-spesifikasjonen - Parallel NFS, en mekanisme for parallell tilgang til en NFS-klient til data fra flere distribuerte NFS-servere. Tilstedeværelsen av en slik mekanisme i nettverksfilsystemstandarden vil bidra til å bygge distribuerte "sky"-lagringer og informasjonssystemer.

NFS server

Siden vi har NFS- dette er Nettverk filsystem er nødvendig. (Du kan også lese artikkelen). Videre er det nødvendig. På Debian er dette pakken nfs-kjerneserver og nfs-vanlig, i RedHat er dette pakken nfs-utils... Og det er også nødvendig å aktivere lanseringen av demonen på de nødvendige OS-kjørenivåene (kommandoen i RedHat er / sbin / chkconfig nfs på, i Debian - /usr/sbin/update-rc.d nfs-kernel-server standarder).

Installerte pakker i Debian kjøres i følgende rekkefølge:

ARCHIV ~ # ls -la /etc/rc2.d/ | grep nfs lrwxrwxrwx 1 rotrot 20. okt 18 15:02 S15nfs-common -> ../init.d/nfs-common lrwxrwxrwx 1 rotrot 27. okt 22 01:23 S16nfs-server ->.kerne./it-server. / nfs-kjerneserver

Det vil si at den starter først nfs-vanlig deretter selve serveren nfs-kjerneserver... I RedHat er situasjonen lik, med det eneste unntaket at det første manuset kalles nfslock og serveren kalles ganske enkelt nfs... Om nfs-vanlig debian-siden forteller oss bokstavelig talt følgende: vanlige filer for en NFS-klient og -server må denne pakken installeres på en maskin som fungerer som en NFS-klient eller -server. Pakken inkluderer programmer: lockd, statd, showmount, nfsstat, gssd og idmapd... Ved å se innholdet i oppstartsskriptet /etc/init.d/nfs-common du kan spore følgende arbeidsrekkefølge: skriptet sjekker for tilstedeværelsen av en kjørbar binær fil /sbin/rpc.statd, sjekker for tilstedeværelse i filer / etc / default / nfs-common, / etc / fstab og / etc / eksporter parametere som krever startdemoner idmapd og gssd , starter demonen /sbin/rpc.statd , så før du starter /usr/sbin/rpc.idmapd og /usr/sbin/rpc.gssd sjekker for tilstedeværelsen av disse kjørbare filene binære filer, deretter for daemon /usr/sbin/rpc.idmapd sjekker for sunrpc, nfs og nfsd, samt støtte for filsystemet rpc_pipefs i kjernen (det vil si dens tilstedeværelse i filen / proc / filsystemer), hvis alt er vellykket, kjører det /usr/sbin/rpc.idmapd ... I tillegg for demonen /usr/sbin/rpc.gssd sjekker kjernemodul rpcsec_gss_krb5 og starter demonen.

Hvis du ser innholdet NFS server oppstartsskript på Debian ( /etc/init.d/nfs-kernel-server), så kan du følge følgende sekvens: ved oppstart sjekker skriptet om filen eksisterer / etc / eksporter, Tilgjengelighet nfsd, tilgjengelighet av støtte NFS filsystem i (det vil si i filen / proc / filsystemer), hvis alt er på plass, startes demonen /usr/sbin/rpc.nfsd , sjekker deretter om parameteren er satt NEED_SVCGSSD(sett i serverinnstillingsfilen / etc / default / nfs-kernel-server) og, hvis gitt, starter demonen /usr/sbin/rpc.svcgssd , den siste som startet demonen /usr/sbin/rpc.mountd ... Fra dette skriptet kan du se det NFS serverdrift består av daemoner rpc.nfsd, rpc.mountd og hvis Kerberos-autentisering brukes, da daemonen rcp.svcgssd. Daemonen rpc.rquotad og nfslogd kjører fortsatt i den røde hatten (Av en eller annen grunn fant jeg ikke informasjon om denne demonen i Debian og årsakene til dens fravær, tilsynelatende slettet ...).

Av dette blir det klart at Network File System-serveren består av følgende prosesser (les - daemons) ligger i / sbin og / usr / sbin-katalogene:

I NFSv4, når du bruker Kerberos, startes demoner i tillegg:

  • rpc.gssd- NFSv4-demonen tilbyr autentiseringsmetoder gjennom GSS-API (Kerberos Authentication). Fungerer på klient og server.
  • rpc.svcgssd- NFSv4-serverdaemon som gir klientautentisering på serversiden.

portmap og RPC-protokoll (Sun RPC)

I tillegg til pakkene ovenfor, krever NFSv2 og v3 tilleggspakke portkart(i nyere distribusjoner, erstattet av omdøpt i rpcbind). Denne pakken installeres vanligvis automatisk med NFS som en avhengig og implementerer driften av RPC-serveren, det vil si at den er ansvarlig for den dynamiske tilordningen av porter for noen tjenester registrert på RPC-serveren. Bokstavelig talt, ifølge dokumentasjonen, er dette en server som konverterer Remote Procedure Call (RPC) programnumre til TCP / UDP-portnumre. portmap opererer på flere enheter: RPC-anrop eller -forespørsler, TCP / UDP-porter,protokollversjon(tcp eller udp), programnummer og programvareversjoner. Portmap-daemonen startes av /etc/init.d/portmap-skriptet før du starter NFS-tjenester.

Kort sagt, jobben til en RPC-server (Remote Procedure Call) er å håndtere RPC-anrop (aka RPC-prosedyrer) fra lokale og eksterne prosesser. Ved å bruke RPC-anrop registrerer eller fjerner tjenester seg selv til/fra portmapperen (aka portmapper, aka portmap, aka portmapper, aka rpcbind, i nye versjoner), og klienter som bruker RPC-anrop som dirigerer forespørsler til portmapperen, får informasjonen de trenger. Brukervennlige programtjenestenavn og deres tilsvarende numre er definert i / etc / rpc. Så snart en tjeneste har sendt en tilsvarende forespørsel og registrert seg hos RPC-serveren i portmapperen, tildeler RPC-serveren TCP- og UDP-portene til tjenesten som tjenesten ble startet på og lagrer i seg selv den tilsvarende informasjonen om kjøringen. tjeneste (om navnet), en unik nummertjeneste (i samsvar med / etc / rpc), om protokollen og porten som tjenesten kjører på og om versjonen av tjenesten, og gir den spesifiserte informasjonen til klienter på forespørsel. Selve portkonverteren har et programnummer (100000), versjonsnummer - 2, TCP-port 111 og UDP-port 111. Når jeg spesifiserte sammensetningen av NFS-serverdemonene ovenfor, indikerte jeg hoved-RPC-programnumrene. Jeg har sannsynligvis forvirret deg litt med dette avsnittet, så jeg vil si hovedsetningen som burde gjøre det klart: hovedfunksjonen til portmapperen er å returnere til ham (klienten) porten som det forespurte programmet kjører på. Følgelig, hvis en klient trenger å få tilgang til RPC med et spesifikt programnummer, må den først kontakte portmap-prosessen på servermaskinen og bestemme portnummeret for kommunikasjonen med den nødvendige RPC-tjenesten.

Driften av en RPC-server kan representeres ved følgende trinn:

  1. Portomformeren må startes først, vanligvis ved systemoppstart. Dette oppretter et TCP-endepunkt og åpner TCP-port 111. Det oppretter også et UDP-endepunkt som venter på at et UDP-datagram kommer til UDP-port 111.
  2. Ved oppstart oppretter et program som kjører gjennom en RPC-server et TCP-endepunkt og et UDP-endepunkt for hver støttet versjon av programmet. (En RPC-server kan støtte flere versjoner. Klienten spesifiserer den nødvendige versjonen når du foretar et RPC-anrop.) Et dynamisk tilordnet portnummer tildeles hver versjon av tjenesten. Serveren registrerer hvert program, versjon, protokoll og portnummer ved å foreta riktig RPC-anrop.
  3. Når RPC-klientprogrammet trenger å få informasjonen det trenger, kaller det en portmapper-rutine for å få et dynamisk tildelt portnummer for et gitt program, versjon og protokoll.
  4. Som svar på denne forespørselen returnerer nord portnummeret.
  5. Klienten sender en RPC-forespørselsmelding til portnummeret oppnådd i trinn 4. Hvis UDP brukes, sender klienten ganske enkelt et UDP-datagram som inneholder RPC-anropsmeldingen til UDP-portnummeret som den forespurte tjenesten kjører på. Som svar sender tjenesten et UDP-datagram som inneholder en RPC-svarmelding. Hvis TCP er i bruk, åpner klienten aktivt til TCP-portnummeret til den forespurte tjenesten og sender deretter en RPC-anropsmelding på etablert forbindelse... Serveren svarer med en RPC-svarmelding over tilkoblingen.

For å få informasjon fra RPC-serveren, bruk verktøyet rpcinfo... Når du spesifiserer parametere -p vert programmet viser alle registrerte RPC-programmer på verten. Uten å spesifisere en vert, vil programmet vise tjenester på localhost. Eksempel:

ARCHIV ~ # rpcinfo -p prog-ma versjon proto port 100000 2 tcp 111 portmapperen 100000 2 UDP 111 portmapperen 100024 en UDP 59451 status 100024 en tcp 60872 status 100021 en UDP 44310 nlockmgr 100021 3 UDP 44310 nlockmgr 100021 4 UDP 44310 nlock 44851 nlockmgr 100021 3 tcp 44851 nlockmgr 100021 4 tcp 44851 nlockmgr 100003 2 tcp 2049 NFS 100003 3 TCP 2049 NFS 100003 4 tcp 2049 NFS 100003 2 UDP 2049 NFS 100003 3 UDP 2049 NFS 100003 4 UD5 tcp 2049 NFS-1000030 en feste 41405 mountd 100005 2 UDP 51306 montert 100005 2 tcp 41405 montert 100005 3 utp 51306 montert 100005 3 tcp 41405 montert

Som du kan se, viser rpcinfo (i kolonner fra venstre til høyre) det registrerte programnummeret, versjonen, protokollen, porten og navnet. Ved å bruke rpcinfo kan du fjerne registreringen av et program eller få informasjon om en egen tjeneste RPC (flere alternativer i man rpcinfo). Som du kan se, er portmapper versjon 2-demonene registrert på udp- og tcp-portene, rpc.statd versjon 1 på udp- og tcp-portene, NFS lock manager versjoner 1,3,4, nfs server daemon versjon 2,3 ,4, samt mount daemon versjoner 1,2,3.

NFS-serveren (mer presist, rpc.nfsd-demonen) mottar forespørsler fra klienten i form av UDP-datagrammer på port 2049. Selv om NFS arbeider med en portmapper, som lar serveren bruke dynamisk tilordnede porter, er UDP-port 2049 hardkodet til NFS i de fleste implementeringer ...

Network File System Protocol Operation

Monter ekstern NFS

Prosessen med å montere et eksternt NFS-filsystem kan representeres av følgende diagram:

Beskrivelse av NFS-protokollen ved montering av en ekstern katalog:

  1. En RPC-server startes på serveren og klienten (vanligvis ved oppstart), betjenes av portmapper-prosessen og registreres på tcp / 111- og udp / 111-portene.
  2. Det startes tjenester (rpc.nfsd, rpc.statd, etc.), som registreres på RPC-serveren og registreres på vilkårlig nettverksporter(hvis en statisk port ikke er spesifisert i tjenesteinnstillingene).
  3. mount-kommandoen på klientdatamaskinen sender en forespørsel til kjernen om å montere en nettverkskatalog med en indikasjon på filsystemtype, vert og selve katalogen, kjernen sender en RPC-forespørsel til portmap-prosessen på NFS-serveren på udp / 111-port (hvis klienten ikke har muligheten til å jobbe via tcp)
  4. NFS-serverkjernen spør RPC for tilstedeværelsen av rpc.mountd-demonen og returnerer den til klientkjernen nettverksport at demonen kjører på.
  5. mount sender en RPC-forespørsel til porten som rpc.mountd kjører på. Nå kan NFS-serveren validere klienten basert på IP-adressen og portnummeret for å se om klienten kan montere det angitte filsystemet.
  6. Mount-demonen returnerer en beskrivelse av det forespurte filsystemet.
  7. Klientmonteringskommandoen utsteder monteringssystemkallet for å binde filbeskrivelsen oppnådd i trinn 5 til det lokale monteringspunktet på klientverten. Filbeskrivelsen lagres i NFS-klientkoden, og fra dette tidspunktet vil all tilgang fra brukerprosesser til filer på serverens filsystem bruke filbeskrivelsen som utgangspunkt.

Kommunikasjon mellom klient og NFS-server

Typisk tilgang til et eksternt filsystem kan beskrives som følger:

Beskrivelse av prosessen med å få tilgang til en fil som ligger på NFS-serveren:

  1. Klienten (brukerprosessen) bryr seg ikke om den får tilgang til en lokal fil eller en NFS-fil. Kjernen tar for seg interaksjonen med maskinvaren gjennom kjernemoduler eller innebygde systemanrop.
  2. Kjernemodul kjerne / fs / nfs / nfs.ko, som fungerer som en NFS-klient og sender RPC-forespørsler til NFS-serveren gjennom TCP/IP-modulen. NFS bruker vanligvis UDP, men nyere implementeringer kan bruke TCP.
  3. NFS-serveren mottar forespørsler fra klienten som UDP-datagrammer på port 2049. Selv om NFS kan fungere med en portmapper, som lar serveren bruke dynamisk tilordnede porter, er UDP-port 2049 hardkodet til NFS i de fleste implementeringer.
  4. Når NFS-serveren mottar en forespørsel fra en klient, sendes den til den lokale filtilgangsrutinen, som gir tilgang til den lokale disken på serveren.
  5. Resultatet av disktilgangen returneres til klienten.

Sette opp en NFS-server

Server Tuning består vanligvis av å spesifisere de lokale katalogene som kan monteres av eksterne systemer i en fil / etc / eksporter... Denne handlingen kalles eksportkataloghierarki... De viktigste kildene til informasjon om eksporterte kataloger er følgende filer:

  • / etc / eksporter- hovedkonfigurasjonsfilen som lagrer konfigurasjonen til de eksporterte katalogene. Brukes når du starter NFS og exportfs-verktøyet.
  • / var / lib / nfs / xtab- inneholder en liste over kataloger montert av eksterne klienter. Brukes av rpc.mountd-demonen når en klient prøver å montere et hierarki (en mount-post opprettes).
  • / var / lib / nfs / etab- en liste over kataloger som kan monteres av eksterne systemer, som indikerer alle parametere for de eksporterte katalogene.
  • / var / lib / nfs / rmtab- en liste over kataloger som ikke eksporteres for øyeblikket.
  • / proc / fs / nfsd- et spesielt filsystem (kjerne 2.6) for å administrere NFS-serveren.
    • eksport- en liste over aktive eksporterte hierarkier og klienter som de ble eksportert til, samt parametere. Kjernen henter denne informasjonen fra / var / lib / nfs / xtab.
    • tråder- inneholder antall tråder (kan også endres)
    • ved å bruke filehandle kan du få en filpeker
    • og så videre...
  • / proc / net / rpc- inneholder råstatistikk som kan hentes ved hjelp av nfsstat, samt ulike cacher.
  • / var / run / portmap_mapping- informasjon om registrert i RPC-tjenester

Merk: generelt, på Internett er det mange tolkninger og formuleringer av formålet med xtab, etab, rmtab filene, jeg vet ikke hvem jeg skal tro. Selv på http://nfs.sourceforge.net/, tolkningen er ikke entydig.

Konfigurering av / etc / eksportfilen

I det enkleste tilfellet er / etc / eksportfilen den eneste filen som trenger redigering for å konfigurere NFS-serveren. Denne filen håndterer følgende aspekter:

  • Hvilke kunder kan få tilgang til filer på serveren
  • Hvilke hierarkier kataloger på serveren kan nås av hver klient
  • Hvordan tilpassede kundenavn blir vises til lokale brukernavn

Hver linje i eksportfilen har følgende format:

eksportpunkt klient1 (alternativer) [klient2 (alternativer) ...]

Hvor eksportpunkt den absolutte banen til det eksporterte kataloghierarkiet, klient1 - n navnet på én eller flere klienter eller IP-adresser, atskilt med mellomrom, som er tillatt å montere eksportpunkt . Alternativer beskriv monteringsreglene for klient spesifisert før alternativer .

Her er en typisk eksempel eksportfilkonfigurasjon:

ARCHIV ~ # cat / etc / exports / archiv1 files (rw, sync) 10.0.0.1 (ro, sync) 10.0.230.1/24(ro,sync)

V dette eksemplet filer og 10.0.0.1-datamaskiner har tilgang til eksportpunktet / archiv1, mens filverten er lese-/skrive- og 10.0.0.1-verten og 10.0.230.1/24-undernettet har skrivebeskyttet tilgang.

Vertsbeskrivelser i / etc / eksporter er tillatt i følgende format:

  • Navnene på individuelle noder beskrives som filer eller files.DOMAIN.local.
  • Domenemasker er beskrevet i følgende format: * DOMAIN.local inkluderer alle noder i DOMAIN.local-domenet.
  • Subnett er spesifisert som IP-adresse/maskepar. For eksempel: 10.0.0.0/255.255.255.0 inkluderer alle noder hvis adresser starter med 10.0.0.
  • Angi navnet på nettverksgruppen @myclients som får tilgang til ressursen (når du bruker en NIS-server)

Generelle eksportalternativer for kataloghierarkier

Eksportfilen bruker følgende generelle alternativer(først brukes alternativene som standard i de fleste systemer, i parentes - ikke som standard):

  • auth_nlm (no_auth_nlm) eller sikre_låser (usikre_låser)- spesifiserer at serveren skal kreve autentisering av låseforespørsler (ved hjelp av NFS Lock Manager-protokollen).
  • nohide (skjul)- hvis serveren eksporterer to kataloghierarkier, med en nestet (montert) i den andre. Klienten må eksplisitt montere det andre (underordnede) hierarkiet, ellers vil monteringspunktet til det underordnede hierarkiet vises som en tom katalog. Nohide-alternativet resulterer i et andre kataloghierarki uten en eksplisitt montering. ( Merk: Jeg kunne ikke få dette alternativet til å fungere ...)
  • ro (rw)- Tillater kun lese (skrive) forespørsler. (Til syvende og sist, om det er mulig å lese/skrive eller ikke bestemmes basert på filsystemtillatelsene, mens serveren ikke er i stand til å skille en filleseforespørsel fra en utførelsesforespørsel, så den tillater lesing hvis brukeren har lest eller utført tillatelser.)
  • sikker (usikker)- krever at NFS-forespørsler kommer fra sikre porter (< 1024), чтобы программа без прав root не могла монтировать иерархию каталогов.
  • subtree_check (ingen_subtree_check)- Hvis en underkatalog til filsystemet eksporteres, men ikke hele filsystemet, sjekker serveren om den forespurte filen er i den eksporterte underkatalogen. Deaktivering av verifisering reduserer sikkerheten, men øker dataoverføringshastigheten.
  • synkronisere (asynkron)- indikerer at serveren bare skal svare på forespørsler etter at endringene som er gjort av disse forespørslene er skrevet til disken. Asynkroniseringsalternativet forteller serveren om ikke å vente på at informasjon skal skrives til disken, noe som forbedrer ytelsen, men reduserer påliteligheten fordi tap av informasjon er mulig i tilfelle en frakoblet tilkobling eller utstyrssvikt.
  • wdelay (ingen_wdelay)- Ber serveren om å utsette utføringen av skriveforespørsler hvis en påfølgende skriveforespørsel venter, skriver data i større blokker. Dette forbedrer ytelsen når du sender store skrivekøer. no_wdelay indikerer ikke å utsette utførelsen av kommandoen for skriving, noe som kan være nyttig hvis serveren mottar et stort antall kommandoer som ikke er relatert til hverandre.

Eksport av symbolske lenker og enhetsfiler. Når du eksporterer et hierarki av kataloger som inneholder symbolske lenker, må lenkeobjektet være tilgjengelig for klientsystemet (eksternt), det vil si at én av følgende regler må oppfylles:

Enhetsfilen refererer til grensesnittet. Når du eksporterer en enhetsfil, eksporteres dette grensesnittet. Hvis klientsystemet ikke har en enhet av samme type, vil ikke den eksporterte enheten fungere. På klientsystemet, når du monterer NFS-objekter, kan du bruke nodev-alternativet slik at enhetsfiler i de monterte katalogene ikke brukes.

Standardalternativene kan variere fra system til system, de kan vises i filen / var / lib / nfs / etab. Etter å ha beskrevet den eksporterte katalogen i / etc / exports og startet NFS-serveren på nytt, vil alle manglende alternativer (les: standardalternativer) reflekteres i filen / var / lib / nfs / etab.

Vis (samsvar) alternativer for bruker-ID-er

For en bedre forståelse av følgende, vil jeg råde deg til å lese artikkelen. Hver Linux-bruker har sin egen UID og hoved-GID, som er beskrevet i filene / etc / passwd og / etc / gruppe... NFS-serveren antar at operativsystemet til den eksterne verten har autentisert brukerne og tildelt dem de riktige UIDene og GIDene. Eksport av filene gir brukere på klientsystemet den samme tilgangen til disse filene som om de logget på direkte på serveren. Følgelig, når en NFS-klient sender en forespørsel til en server, bruker serveren UID og GID for å identifisere brukeren på det lokale systemet, noe som kan føre til noen problemer:

  • brukeren har kanskje ikke samme identifikatorer i begge systemene og kan følgelig få tilgang til filene til en annen bruker.
  • siden root-brukeren har en identifikator på alltid 0, deretter tilordnes denne brukeren lokal bruker avhengig av de angitte alternativene.

Følgende alternativer setter reglene for å kartlegge eksterne brukere til lokale:

  • root_squash (ingen_root_squash)- Med det gitte alternativet root_squash, blir forespørsler fra root-brukeren tilordnet den anonyme uid / gid, eller til brukeren spesifisert i anonuid / anongid-parameteren.
  • no_all_squash (alle_squash)- Endrer ikke UID / GID til den tilkoblede brukeren. Alternativ all_squash setter ALLE brukere (ikke bare root) til å vises som anonyme eller spesifisert i parameteren anonuid / anongid.
  • anonuid = UID og anongid = GID - Angir eksplisitt UID / GID for den anonyme brukeren.
  • map_static = / etc / file_maps_users - Spesifiserer en fil der du kan angi tilordning av ekstern UID / GID - lokal UID / GID.

Et eksempel på bruk av en brukertilordningsfil:

ARCHIV ~ # cat / etc / file_maps_users # Kartlegging av brukere # ekstern lokal kommentar uid 0-50 1002 # tilordning av brukere til ekstern UID 0-50 til lokal UID 1002 gid 0-50 1002 # tilordning av brukere til / span ekstern GID 0-50 k lokal GID 1002

NFS serveradministrasjon

NFS-serveren administreres ved hjelp av følgende verktøy:

  • nfsstat
  • showmsecure (usikker) ount

nfsstat: NFS- og RPC-statistikk

nfsstat-verktøyet lar deg se statistikken til RPC- og NFS-servere. Kommandoalternativer kan vises i man nfsstat.

showmount: viser NFS-statusinformasjon

Showmount-verktøy spør rpc.mountd-demonen etter ekstern vert om monterte filsystemer. Som standard returneres en sortert liste over klienter. Nøkler:

  • --alle- en liste over klienter og monteringspunkter vises, som indikerer hvor klienten monterte katalogen. Denne informasjonen er kanskje ikke pålitelig.
  • --kataloger- en liste over monteringspunkter er gitt
  • --eksport- gir en liste over eksporterte filsystemer fra nfsds synspunkt

Hvis du kjører showmount uten argumenter, vil konsollen vise informasjon om systemene som har lov til å montere lokale kataloger. For eksempel gir ARCHIV-verten oss en liste over eksporterte kataloger med IP-adressene til vertene som har lov til å montere de angitte katalogene:

FILER ~ # showmount --exports archiv Eksportliste for arkiv: / archiv-big 10.0.0.2 / archiv-small 10.0.0.2

Hvis du spesifiserer vertsnavnet / IP i argumentet, vil informasjon om denne verten vises:

ARCHIV ~ # showmount-filer clnt_create: RPC: Program ikke registrert # denne meldingen forteller oss at NFSd-demonen ikke kjører på FILES-verten

exportfs: administrer eksporterte kataloger

Denne kommandoen betjener de eksporterte katalogene som er spesifisert i filen / etc / eksporter, vil det være mer nøyaktig å skrive tjener ikke, men synkroniseres med filen / var / lib / nfs / xtab og fjerner ikke-eksisterende fra xtab. exportfs kjøres når nfsd-demonen startes med -r-argumentet. Exportfs-verktøyet i 2.6 kjernemodus kommuniserer med rpc.mountd-demonen gjennom filene i / var / lib / nfs / katalogen og kommuniserer ikke direkte med kjernen. Uten parametere viser de eksporterte filsystemene.

Eksportfs alternativer:

  • [klient: katalognavn] - legg til eller fjern det angitte filsystemet for den angitte klienten)
  • -v - vise mer informasjon
  • -r - re-eksporter alle kataloger (sync / etc / exports og / var / lib / nfs / xtab)
  • -u - fjern fra listen over eksporterte
  • -a - legg til eller fjern alle filsystemer
  • -o - alternativer atskilt med kommaer (ligner alternativene som brukes i / etc / eksporter; slik at du kan endre alternativer for allerede monterte filsystemer)
  • -i - ikke bruk / etc / eksport når du legger til, bare parametere for gjeldende kommandolinje
  • -f - tilbakestill listen over eksporterte systemer i 2.6-kjernen;

NFS-klient

Før du får tilgang til en fil på et eksternt filsystem, må klienten (klient-OS). monter den og få fra serveren peker på det. Montering av NFS kan gjøres med eller ved hjelp av en av de produktive automatiske montørene (amd, autofs, automount, supermount, superpupermount). Monteringsprosessen er godt demonstrert i illustrasjonen ovenfor.

NFS-klienter ingen demoner trenger å startes, klientfunksjoner kjører kjernemodulen kjerne / fs / nfs / nfs.ko som brukes når du monterer et eksternt filsystem. Eksporterte kataloger fra serveren kan monteres på klienten på følgende måter:

  • manuelt ved å bruke monteringskommandoen
  • automatisk ved oppstart, ved montering av filsystemer beskrevet i / etc / fstab
  • automatisk ved å bruke autofs-demonen

Jeg vil ikke vurdere den tredje metoden med autofs i denne artikkelen, på grunn av dens omfangsrike informasjon. Kanskje i de neste artiklene kommer det en egen beskrivelse.

Monter nettverksfilsystemet med mount-kommandoen

Et eksempel på bruk av mount-kommandoen er presentert i innlegget. Her er et eksempel på en mount-kommando for å montere et NFS-filsystem:

FILER ~ # mount -t nfs archiv: / archiv-small / archivs / archiv-small FILES ~ # mount -t nfs -o ro archiv: / archiv-big / archivs / archiv-big FILES ~ # mount ..... .. archiv: / archiv-small on / archivs / archiv-small type nfs (rw, addr = 10.0.0.6) archiv: / archiv-big on / archivs / archiv-big type nfs (ro, addr = 10.0.0.6)

Den første kommandoen monterer den eksporterte katalogen / arkiv-liten på server arkiv til lokalt monteringspunkt / arkiver / arkiv-liten med standardalternativer (dvs. les og skriv). Selv om mount kommando i de siste distribusjonene vet den hvordan den skal forstå hvilken type filsystem som brukes uten å spesifisere typen, spesifiser fortsatt parameteren -t nfsønskelig. Den andre kommandoen monterer den eksporterte katalogen / arkiv-stor på server arkiv til lokal katalog / arkiver / arkiv-stort med skrivebeskyttet alternativ ( ro). Monteringskommando uten parametere viser den tydelig monteringsresultatet for oss. I tillegg til skrivebeskyttet alternativ (ro), er det mulig å spesifisere andre grunnleggende alternativer ved montering av NFS:

  • nosuid- Dette alternativet forbyr kjøring av programmer fra den monterte katalogen.
  • nodev(ingen enhet - ikke en enhet) - Dette alternativet forbyr bruk av tegn og blokkerer spesielle filer som enheter.
  • lås (nolock)- Tillater NFS-låsing (standard). nolock deaktiverer NFS-låsing (starter ikke lockd-demonen) og er nyttig for eldre servere som ikke støtter NFS-låsing.
  • mounthost = navn- Vertsnavnet som NFS-monteringsdemonen kjører på, er montert.
  • mountport = n - Porten som brukes av mountd-demonen.
  • port = n- port som brukes til å koble til NFS-serveren (som standard 2049 hvis rpc.nfsd-demonen ikke er registrert på RPC-serveren). Hvis n = 0 (standard), sender NFS en forespørsel til portkartet på serveren for å bestemme porten.
  • rstørrelse = n(les blokkstørrelse) - Antall byte lest på en gang fra NFS-serveren. Standard - 4096.
  • wsize = n(skriveblokkstørrelse) - Antall byte skrevet på en gang til NFS-serveren. Standard - 4096.
  • tcp eller utp- For å montere NFS bruk TCP-protokoll eller UDP, henholdsvis.
  • bg- Hvis du mister tilgangen til serveren, prøv på nytt i bakgrunnen, for ikke å blokkere systemoppstartsprosessen.
  • fg- Hvis du mister tilgangen til serveren, prøv på nytt i prioritetsmodus. Denne parameteren kan blokkere oppstartsprosessen ved å gjenta monteringsforsøk. Av denne grunn brukes fg-parameteren primært til feilsøkingsformål.

Alternativer som påvirker attributtbufring når NFS monteres

Filattributter lagret i (inoder), som endringstid, størrelse, harde lenker, eier, endres vanligvis sjelden for vanlige filer og enda sjeldnere for kataloger. Mange programmer, som ls, får tilgang til filer skrivebeskyttet og endrer ikke filattributter eller innhold, men kaster bort systemressurser på dyre nettverksoperasjoner. For å unngå unødvendig sløsing med ressurser kan du cache gitte attributter... Kjernen bruker endringstiden til en fil for å finne ut om hurtigbufferen er utdatert ved å sammenligne endringstiden i hurtigbufferen med endringstiden til selve filen. Attributtbufferen oppdateres med jevne mellomrom i henhold til de angitte parameterne:

  • ac (noac) (attributtbuffer- attributt caching) - Aktiverer attributt caching (standard). Selv om noac-alternativet bremser serveren, unngår det utløp av attributter når flere klienter aktivt skriver informasjon til det delte hierarkiet.
  • acdirmax = n (attributt cache katalogfil maksimum- attributt caching maksimum for en katalogfil) - Maksimalt antall sekunder som NFS venter før oppdatering av katalogattributter (standard 60 sekunder)
  • acdirmin = n (attributt cache katalogfil minimum- attributtbufring i det minste for en katalogfil) - Minimum antall sekunder som NFS venter før oppdatering av katalogattributter (som standard, 30 sekunder)
  • acregmax = n (attributt cache vanlig fil maksimum- attributtbufring på det meste for vanlig fil) - Maksimalt antall sekunder som NFS venter før oppdatering av attributtene til en vanlig fil (standard 60 sekunder)
  • acregmin = n (attributt cache vanlig fil minimum- attributtbufring i det minste for en vanlig fil) - Minimum antall sekunder som NFS venter før oppdatering av attributtene til en vanlig fil (3 sekunder som standard)
  • acttimeo = n (tidsavbrudd for attributtbuffer- tidsavbrudd for attributtbufring) - Overstyrer verdiene for alle alternativene ovenfor. Hvis acttimeo ikke er spesifisert, er verdiene ovenfor satt til standardverdiene.

NFS feilhåndteringsalternativer

Følgende alternativer styrer hva NFS skal gjøre når det ikke er noe svar fra serveren eller når I/O-feil oppstår:

  • fg (bg) (forgrunnen - forgrunnen, bakgrunn- bakgrunn) - Prøv å montere en mislykket NFS i forgrunnen / bakgrunnen.
  • hard myk)- viser meldingen "serveren svarer ikke" til konsollen når tidsavbruddet er nådd og fortsetter monteringsforsøkene. Med det gitte alternativet myk- hvis timeout oppstår, informerer det anropende programmet om en I/O-feil. (det myke alternativet anbefales ikke å bruke)
  • nointr (intr) (ingen avbrudd- ikke avbryt) - Hindrer signaler fra å forstyrre filoperasjoner i det hardmonterte kataloghierarkiet når en lang tidsavbrudd er nådd. intr- muliggjør avbrudd.
  • retrans = n (gjenoverføringsverdi- retransmission verdi) - Etter n små timeouts genererer NFS en stor timeout (3 som standard). En lang tidsavbrudd stopper driften eller viser en "server svarer ikke"-melding til konsollen, avhengig av det harde/myke alternativet.
  • prøv på nytt = n (prøve på nytt verdi- Prøv på nytt verdi) - Antall minutter NFS-tjenesten prøver å montere operasjoner på nytt før de gir opp (10 000 som standard).
  • timeo = n (tidsavbruddsverdi- timeout-verdi) - Antallet tideler av et sekund som NFS-tjenesten venter før reoverføring i tilfelle RPC eller lav timeout (standard 7). Denne verdien øker med hver tidsavbrudd, opptil maksimalt 60 sekunder, eller til en lang tidsavbrudd oppstår. Hvis nettverket er opptatt, serveren er treg, eller forespørselen går gjennom flere rutere eller gatewayer, kan en økning av denne verdien forbedre ytelsen.

Automatisk NFS-montering ved oppstart (beskrivelse av filsystemer i / etc / fstab)

Finn den optimale tiden for en viss verdi den overførte pakken (rsize / wsize-verdier), ved å bruke ping-kommandoen:

FILER ~ # ping -s 32768 archiv PING archiv.DOMAIN.local (10.0.0.6) 32768 (32796) byte med data. 32776 byte fra archiv.domain.local (10.0.0.6): icmp_req = 1 ttl = 64 time = 0,931 ms 32776 byte fra archiv.domain.local (10.0.0.6): icmp_req = 69 5 ttl = 2 5 ttl = 2 5 ttl s . fra archiv.domain.local (10.0.0.6): icmp_req = 3 ttl = 64 tid = 1,03 ms 32776 byte fra archiv.domain.local (10.0.0.6): icmp_req = 4 ttl = 64 ms x 3270 ms = 3270 ms x 1. .domain.local (10.0.0.6): icmp_req = 5 ttl = 64 tid = 1,08 ms ^ C --- archiv.DOMAIN.local ping-statistikk --- 5 pakker overført, 5 mottatt, 0 % pakketap, tid 4006ms rtt min / gjennomsnitt / maks / mdev = 0,931 / 1,002 / 1,083 / 0,061 ms

Som du kan se, når du sender en pakke på 32768 (32Kb) størrelse, flyter reisetiden fra klienten til serveren og tilbake i området 1 millisekund. Hvis den gitte tiden vil gå av skala om 200 ms, så bør du tenke på å øke timeo-verdien slik at den overskrider bytteverdien med tre til fire ganger. Følgelig er det tilrådelig å gjøre denne testen under en sterk nettverksbelastning.

Starte NFS og konfigurere brannmur

Notatet ble kopiert fra bloggen http://bog.pp.ru/work/NFS.html, som tusen takk til ham !!!

Start NFS-server, monter, lås, kvote og status med "riktige" porter (for brannmur)

  • det anbefales å avmontere alle ressurser på klienter på forhånd
  • stopp og la rpcidmapd starte hvis du ikke planlegger å bruke NFSv4: chkconfig --nivå 345 rpcidmapd off service rpcidmapd stop
  • om nødvendig, aktiver starten av portmap-, nfs- og nfslock-tjenestene: chkconfig --levels 345 portmap / rpcbind på chkconfig --levels 345 nfs på chkconfig --levels 345 nfslock på
  • om nødvendig, stopp nfslock og nfs tjenester, start portmap / rpcbind, last ut moduler tjeneste nfslock stopp tjeneste nfs stopp tjeneste portmap start # tjeneste rpcbind start umount / proc / fs / nfsd tjeneste rpcidmapd stopp rmmod nfsd tjeneste autofs må stoppe # et sted senere kjør rmmod nfs rmmod nfs_acl rmmod lockd
  • åpne porter i
    • for RPC: UDP / 111, TCP / 111
    • for NFS: UDP / 2049, TCP / 2049
    • for rpc.statd: UDP / 4000, TCP / 4000
    • for låst: UDP / 4001, TCP / 4001
    • for montert: UDP / 4002, TCP / 4002
    • for rpc.rquota: UDP / 4003, TCP / 4003
  • for rpc.nfsd-serveren legg til linjen RPCNFSDARGS = "- port 2049" til / etc / sysconfig / nfs
  • for monteringsserveren legg til linjen MOUNTD_PORT = 4002 til / etc / sysconfig / nfs
  • for å konfigurere rpc.rquota for nye versjoner, legg til linjen RQUOTAD_PORT = 4003 til / etc / sysconfig / nfs
  • for å konfigurere rpc.rquota er det nødvendig for eldre versjoner (ikke desto mindre må du ha quota 3.08 eller nyere pakken) legg til rquotad 4003 / tcp rquotad 4003 / udp til / etc / services
  • vil sjekke tilstrekkeligheten til / etc / eksporter
  • start tjenestene rpc.nfsd, mountd og rpc.rquota (samtidig startes rpcsvcgssd og rpc.idmapd, hvis du ikke har glemt å fjerne dem) service nfsd start eller i nye versjoner service nfs start
  • for låseserveren for nye systemer legg til linjene LOCKD_TCPPORT = 4001 LOCKD_UDPPORT = 4001 til / etc / sysconfig / nfs
  • for gamle systemer lås server legg direkte til /etc/modprobe [.conf]: options lockd nlm_udpport = 4001 nlm_tcpport = 4001
  • bind statusserveren rpc.statd til port 4000 (for gamle systemer i /etc/init.d/nfslock kjør rpc.statd med -p 4000-bryteren) STATD_PORT = 4000
  • start tjenester låst og rpc.statd tjeneste nfslock start
  • sørg for at alle porter er riktig bundet med "lsof -i -n -P" og "netstat -a -n" (noen av portene brukes av kjernemoduler som lsof ikke ser)
  • hvis serveren ble brukt av klienter før "gjenoppbygging" og de ikke kunne demonteres, må du starte de automatiske monteringstjenestene på klientene på nytt (am-utils, autofs)

Eksempel på NFS-server- og klientkonfigurasjon

Serverkonfigurasjon

Hvis du vil gjøre den partisjonerte NFS-katalogen åpen og skrivbar, kan du bruke alternativet all_squash i kombinasjon med alternativer anonuid og anongid... For å angi rettighetene for brukeren "ingen" i gruppen "ingen", kan du for eksempel gjøre følgende:

ARCHIV ~ # cat / etc / exports # Lese-/skrivetilgang for klient på 192.168.0.100, med rw-tilgang for bruker 99 med gid 99 / filer 192.168.0.100 (rw, sync, all_squash, anonuid = 99, anongid = 99) ) # Lese-/skrivetilgang for klient på 192.168.0.100, med rw-tilgang for bruker 99 med gid 99 / filer 192.168.0.100 (rw, sync, all_squash, anonuid = 99, anongid = 99))

Dette betyr også at hvis du vil tillate tilgang til den angitte katalogen, må nobody.nobody være eieren av den delte katalogen:

mann mount
mann eksporterer
http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.aix.prftungd/doc/prftungd/nfs_perf.htm - NFS-ytelse fra IBM.

Hilsen, Mc.Sim!

Nettverksfilsystemer

En av de mest nyttige funksjoner som kan implementeres med et nettverk er deling av filer gjennom et nettverksfilsystem. Vanligvis brukt er et system kalt Network File System eller NFS, som er utviklet av Sun Corporation.

Når du arbeider med et nettverksfilsystem, overføres alle operasjoner på filer utført på den lokale datamaskinen over nettverket til ekstern maskin... Når nettverksfilsystemet kjører, antar programmet at alle filene på den eksterne datamaskinen er plassert på datamaskinen der den kjører. Dermed krever ikke deling av informasjon gjennom et slikt system noen endringer i programmet.

post

E-post er det viktigste kommunikasjonsmiddelet mellom datamaskiner. E-poster lagres i en enkelt fil i et spesielt format. Spesielle programmer brukes til å lese og sende brev.

Hver bruker har en egen postkasse, en fil hvor informasjon lagres i et spesielt format som lagrer innkommende post. Hvis et brev kommer til datamaskinen, finner postbehandlingsprogrammet postkassefilen til den tilsvarende brukeren og legger det mottatte brevet der. Hvis brukerens postkasse er plassert på en annen datamaskin, blir brevet omdirigert til denne datamaskinen, hvor det behandles videre.

Postsystem består av mange ulike programmer... Postlevering til lokale eller eksterne postbokser gjøres av ett program (for eksempel sendmail eller smail), mens et stort antall forskjellige programmer (for eksempel Pine eller alm) brukes til å sende eller se post normalt. Postboksfiler lagres vanligvis i / var / spool / mail.

Spørsmål

1. Hva er NOS og hva er formålet?

2. Hvilke funksjoner i nettverket utfører nettverksoperativsystemet?

3. Hva er delene av NOS-strukturen?

4. Hva er en omdirigering?

5. Hvordan er nettverksoperativsystemer delt inn etter tilgangsrettigheter til ressurser?

6. Hvordan er nettverksoperativsystemer delt inn etter nettverksskala?

7. Hvordan avhenger egenskapene til et nettverksoperativsystem av nettverkets skala?

8. Beskriv nettverksoperativsystemet NetWare fra Novell.

9. Hva er elementene i strukturen til NetWare-nettverksoperativsystemet?

10. Beskriv filsystemet til NetWare-nettverksoperativsystemet.

11. Hvilke protokollnivåer støtter NetWare-nettverksoperativsystemet?

12. List opp funksjonene til IPX, SPX-protokollene.

13. Beskriv nettverksoperasjonsrommet Windows-systemer NT.

14. List opp oppgavene til Windows NT-nettverksoperativsystemet.

15. Hva er elementene i strukturen til nettverksoperativsystemet Windows NT?

16. Gi egenskapene til filsystemet til nettverksoperativsystemet Windows NT.

17. Hvilke sikkerhetsprinsipper brukes i nettverksoperativsystemet Windows NT?

18. Liste funksjonene til nettverksoperativsystemet Windows NT fra synspunktet om implementering av nettverksfasiliteter.

19. Navngi egenskapene til nettverksoperativsystemet Windows NT.

20. Hva er områdene ved hjelp av vinduer NT?

21. Oppgi egenskapene til UNIX-nettverksoperativsystemet.

22. List opp funksjonene til UNIX-nettverksoperativsystemet.

23. Oppgi egenskapene til filsystemet til nettverket OS UNIX.

24. Hvilke sikkerhetsprinsipper brukes av UNIX?

25. Gi en oversikt over Linux-nettverksoperativsystemet.

Nettverkstjenester

Forelesning 10

Et sett med server- og klientdeler av operativsystemet som gir tilgang til spesifikk type en datamaskinressurs over et nettverk kalles nettverkstjeneste . Kundedel håndterer nettverksforespørsler til serversiden til en annen datamaskin. Server del tilfredsstiller forespørsler til lokale serverressurser. Klientsiden er aktiv, serversiden er passiv.

Under nettverksinteraksjon er en betydelig plass okkupert av tilgang gjennom nettverket til filsystemet. I dette tilfellet dannes klient- og serverdelene, sammen med nettverksfilsystemet filtjeneste

En nøkkelkomponent i et distribuert OS er nettverksfilsystemet. Nettverksfilsystemet støttes av en eller flere datamaskiner som lagrer filer (filservere)

Klient datamaskiner kobler til eller monterer disse filsystemene til sine lokale filsystemer

Filtjeneste inkluderer serverprogrammer og klientprogrammer som kommuniserer over nettverket ved hjelp av en protokoll.

Filtjenester inkluderer selve filtjenesten (filoperasjoner) og katalogtjenesten (katalogadministrasjon)

Nettverksfiltjenestemodellen inkluderer følgende elementer:

Lokalt filsystem (FAT, NTFS)

Lokalt filsystemgrensesnitt (systemanrop)

Nettverksfilsystemserver

Nettverksfilsystemklient (Windows Utforsker, UNIX-skall, etc.)

Network File System Interface (gjentar systemanrop til det lokale filsystemet)

Network File System Client-Server Protocol (SMB-Server Message Block for Windows, NFS (Network File System) og FTP ( Filoverføring protokoll) for UNIX)

Nettverksfilsystemgrensesnitt

Det finnes flere typer grensesnitt, som er preget av:

Filstruktur... De fleste nettverksfilsystemer støtter flate filer

Filen kan endres... De fleste nettverksfilsystemer har muligheten til å endre filen. Noen distribuerte filsystemer forbyr modifikasjonsoperasjoner. Bare opprette og lese er mulig. For slike filer er det lettere å organisere caching og replikering.

Fildelingssemantikk:

Semantikk UNIX (sentralisert). Hvis lesingen følger flere skriveoperasjoner, blir den siste oppdateringen lest. Dette prinsippet er også mulig i et distribuert filsystem, forutsatt et filserver og mangel på filbufring på klienten.

Sesjonssemantikk. Endringer begynner når filen åpnes og fullføres når filen lukkes. Med andre ord, for andre prosesser er endringene kun synlige etter at filen er lukket. I dette tilfellet er det et problem med fildeling. Semantikk av uforanderlige filer. Filen kan bare opprettes og leses. Du kan også gjenopprette filen med et annet navn. Derfor kan ikke filen endres, men kan erstattes med en ny fil. Det er ingen delingsproblem.



Transaksjonsmekanisme. Dette er en måte å jobbe med delte filer ved å bruke transaksjonsmekanismen (udelelige operasjoner)

Adgangskontroll... For eksempel, for Windows NT / 2000 er det to mekanismer: på katalognivå (for FAT) og på filnivå (NTFS)

Tilgangsenhet. Full filopplasting / nedlastingsmodell (FTP). Den andre modellen er bruk av filoperasjoner.