Permalänk

Hur kan man använda NFS?

Hejhej,

Om vi antar att jag har 2 datorer med Linux. Då har jag hört att man genom NFS kan komma åt en mapp på PC1 från PC2. Vi har nu en labb i skolan om NFS. Men jag förstår inte riktigt. Om man har en mapp på PC1 som man vill dela ut till PC2. Kommer då PC2 ha en kopia av alla filer på sin hårddisk som finns på PC1 ? Typ som Google Drive? Eller kommer NFS bara skapa en illusion av att filerna finns på sin PC fastän de finns någon helt annan stans?

Men då låter det ju som att FTP är som NFS? För om man ansluter till någon FTP så sparas ju inte alla filer som finns på den FTPn automatiskt på den datorn man ansluter till FTP-platsen.

Sen finns det ju utdelning av mappar i Microsoft-nätverk. Då blir det ju H:, N: och L: osv. Kanske det är lite som NFS? Eller är det SAMBA i bakgrunden där kanske?

Visa signatur

PC: Windows 10 Pro x64 | ASUS Z270 ROG MAXIMUS IX CODE | Intel i7 7700K 4.2 GHz | Crucial 2x8GB@2400MHz | ASUS GeForce GTX 1070 8GB DUAL OC | Samsung 960 EVO 500GB | WD Red 2TB | Corsair TX650M 650W | Deepcool Tesseract ATX

Permalänk
Medlem

NFS liknar mest samba-shares om man ska ha någon jämförelse med windows-världen, men NFS har mer inställningar. På klientdatorn hanterar du NFS som en vanlig hårddisk mer eller mindre.

Visa signatur

"Det här systemet fungerar urkasst." - operatör.
"Hur ska det fungera då?" - jag
"Gör så att det fungerar som jag vill." - operatör.
/facepalm

Permalänk

Aha, hmm.
Läste lite om att det finns olika kommandon. Windows använder "net use". Linux använder "mount". Men båda kommandon körs med ett slags skript på klientsidan? T ex windows har något batch-skript och Linux använder något som kallas Automounter om jag förstått det rätt?
Hmm, men hur vet skripten vad användaren heter? $USER kanske används i windows t ex?

Visa signatur

PC: Windows 10 Pro x64 | ASUS Z270 ROG MAXIMUS IX CODE | Intel i7 7700K 4.2 GHz | Crucial 2x8GB@2400MHz | ASUS GeForce GTX 1070 8GB DUAL OC | Samsung 960 EVO 500GB | WD Red 2TB | Corsair TX650M 650W | Deepcool Tesseract ATX

Permalänk

Såå, iallafall. NFS ..
Jag kom på att i 9an (då man körde mycekt NFS ^^), då hade vi 2 skript på skrivborden som vi använde för att ansluta till filservrar på skolan. Där stod det "NET USE" och olika saker. Jag tog reda på filerna så jag kunde sitta hemma och fundera över hur de fungerade. Skulle kunna ladda upp dem här, för Microsoft-nät och servrar känns lite lättare än Linux ibland :S

Iallafall, om någon vet lite mer om hur NFS/Microsoft filservrar fungerar kan man ju berätta lite. :>

Visa signatur

PC: Windows 10 Pro x64 | ASUS Z270 ROG MAXIMUS IX CODE | Intel i7 7700K 4.2 GHz | Crucial 2x8GB@2400MHz | ASUS GeForce GTX 1070 8GB DUAL OC | Samsung 960 EVO 500GB | WD Red 2TB | Corsair TX650M 650W | Deepcool Tesseract ATX

Permalänk
Medlem
Skrivet av -8-DEAMON-8-:

Hmm, men hur vet skripten vad användaren heter? $USER kanske används i windows t ex?

Linux har kommandot 'whoami' som retunerar användarnamnet på kontot som körde kommandot. Windows har nog något liknande skulle jag gissa.

Visa signatur

Desktop: i5 2500K, 32GB RAM, Intel 330 60GB SSD, 1TB HDD, GTX 670, Fractal Design Arc, Arch Linux
Laptop: Asus U32u, Intel 330 60GB SSD, 8GB RAM, Arch Linux

Permalänk
Medlem

Jag hänger inte med alls riktigt i vad du är intresserad av.

Vill du veta hur NFS fungerar i linux eller är vi i windows världen (som också har rudiment stöd för NFS)?

Vad det gäller linux finns det många fina saker man kan göra med kommandot mount så länge ens kernel stödjer det.
Att tänka C:, D: och liknande är helt fel i linux/unix-världen, utan tänk snarare i datastrukturer/katalogstrukturer.
Allting utgår från root ('/').
Där under har man ett gäng mappar (oftast /usr, /dev, /etc, /home och lite fler tillsammans med /mnt).
Har man ett filsystem kan man montera in detta överrallt i denna stukturen. På detta viset kan du ha en partition på en hårddisk som motsvarar '/', medans du kan montera in en annan partition på /home (och därmed kan du formatera den ena hårddisken utan att din användarprofil ändras, men du behöver inte tala om för linux/unix att din hemmapp ligger på något annat ställe än det förvarlda).

Nu kommer vi till NFS. Där kan man på PC1 välja att "exportera" (dela ut) en mapp från ens filsystem.
Sedan kan vilken dator som helst (inklusive PC1) som har tillgång till den välja att montera denna var den vill.
På detta sättet monterar du in katalogen från den andre datorn direkt i ditt filsystemsträd.
Så med andra ord, så snart du letar efter något i en av de mapparna som du just monterats in skickas förfrågningarna direkt över nätverket till PC1, så du jobbar som om du jobbade direkt mot den datorns hårddisk.

Sedan kan du själv välja om du ska använda cachar, om du ska köra syncront eller inte, men om vi ska gå tillbaka till windows-världen är detta mest jämförbart med att montera Z: från en server och hur du kan använda den så länge du inte aktiverar "offlinefiler".

Permalänk
Medlem
Skrivet av Xake:

Jag hänger inte med alls riktigt i vad du är intresserad av.

Vill du veta hur NFS fungerar i linux eller är vi i windows världen (som också har rudiment stöd för NFS)?

Vad det gäller linux finns det många fina saker man kan göra med kommandot mount så länge ens kernel stödjer det.
Att tänka C:, D: och liknande är helt fel i linux/unix-världen, utan tänk snarare i datastrukturer/katalogstrukturer.
Allting utgår från root ('/').
Där under har man ett gäng mappar (oftast /usr, /dev, /etc, /home och lite fler tillsammans med /mnt).
Har man ett filsystem kan man montera in detta överrallt i denna stukturen. På detta viset kan du ha en partition på en hårddisk som motsvarar '/', medans du kan montera in en annan partition på /home (och därmed kan du formatera den ena hårddisken utan att din användarprofil ändras, men du behöver inte tala om för linux/unix att din hemmapp ligger på något annat ställe än det förvarlda).

Nu kommer vi till NFS. Där kan man på PC1 välja att "exportera" (dela ut) en mapp från ens filsystem.
Sedan kan vilken dator som helst (inklusive PC1) som har tillgång till den välja att montera denna var den vill.
På detta sättet monterar du in katalogen från den andre datorn direkt i ditt filsystemsträd.
Så med andra ord, så snart du letar efter något i en av de mapparna som du just monterats in skickas förfrågningarna direkt över nätverket till PC1, så du jobbar som om du jobbade direkt mot den datorns hårddisk.

Sedan kan du själv välja om du ska använda cachar, om du ska köra syncront eller inte, men om vi ska gå tillbaka till windows-världen är detta mest jämförbart med att montera Z: från en server och hur du kan använda den så länge du inte aktiverar "offlinefiler".

När du exporterar en katalog (delar ut) kan du ange vilka som kan komma åt den. En viktig säkerhetsaspekt. Delar du ut en mapp i Windows kan vem som helst i nätverket komma åt den. Naturligtvis kan du dela ut en katalog åt alla med eller utan skrivrättighet.

Själv har jag NFS installerat och konfigurerat men använder oftast scp eller SFTP och rsync. Dessa är inte beroende av utdelningar men fodrar istället att du har rättighet till filerna. Så det går inte att komma åt en filer i en annans hemkatalog om du inte är root eller ingår i en gemensam grupp med erfoderliga rättigheter till just den filen.

Visa signatur

Fagerja

Permalänk
Medlem
Skrivet av fagerja:

När du exporterar en katalog (delar ut) kan du ange vilka som kan komma åt den. En viktig säkerhetsaspekt. Delar du ut en mapp i Windows kan vem som helst i nätverket komma åt den. Naturligtvis kan du dela ut en katalog åt alla med eller utan skrivrättighet.

Själv har jag NFS installerat och konfigurerat men använder oftast scp eller SFTP och rsync. Dessa är inte beroende av utdelningar men fodrar istället att du har rättighet till filerna. Så det går inte att komma åt en filer i en annans hemkatalog om du inte är root eller ingår i en gemensam grupp med erfoderliga rättigheter till just den filen.

Det går att välja. Som det fungerar i linux måste du konfigurera Kerberos för hantera autentisering (samma system som Windows för övrigt använder för nätverksautentisering) och konfigurera Kerberos att bara vissa konton har tillgång till tjänsten NFS. Sedan ställer man in NFS på att bara tillåta konton som Kerboros säger ska ha tillgång.
Hur man sedan konfigurerar kerberos är upp till dig. Det går att få det att använda en mer eller mindre plain textfil som användarnamnsdatabas osv. Själv var jag lite mer avancerad och satte upp FreeIPA som använder LDAP i grunden för användardatabas, men så har jag nästan all autentisering i mitt nätverk (inklusive datorlogin) centraliserat och hanterat där. Vilka tjänster som ska hanteras av kerberos och hur väljer du själv, och svårighetsgraden på att sätta upp beror på din configuration.

Permalänk
Medlem
Skrivet av fagerja:

Delar du ut en mapp i Windows kan vem som helst i nätverket komma åt den. Naturligtvis kan du dela ut en katalog åt alla med eller utan skrivrättighet.

Fast detta stämmer ju inte. I grundkonfiguration delar den ut till alla (precis som NFS), men sedan kan du ju tämligen lätt iallafall i Windows Server/Vista och uppåt limitera till användare/grupper.

Permalänk
Entusiast

NFS-delningar kan monteras precis som om de vore block-enheter. Du kan alltså nyttja /etc/fstab för detta.
Linux är till och med så smidig, att du kan montera root via NFS, och skippa den lokala hårddisken helt (Diskless)

fstab-exempel, där "DustBunnyHotel" är en NFS-server:

DustBunnyHotel:/export/example /mnt/example nfs defaults 0 0

Denna kommer alltså att automatiskt montera mappen /export/example från servern DustBunnyHotel, på den lokala maskinens /mnt/example -mapp.
Allt som läses/skrives till /mnt/example på klienten, kommer att gå direkt till/från serverns /export/example... utan mellanlagring. (Sånär som på cache och liknande)

Visa signatur

Bästa programmen till Linux - v2.0
Linux-guide: Val av grafisk miljö. (Att välja distribution).
-
Everyone should have a SGoC in their systems (SGoC: SysGhost on a Chip)

Permalänk
Skrivet av SysGhost:

NFS-delningar kan monteras precis som om de vore block-enheter. Du kan alltså nyttja /etc/fstab för detta.
Linux är till och med så smidig, att du kan montera root via NFS, och skippa den lokala hårddisken helt (Diskless)

fstab-exempel, där "DustBunnyHotel" är en NFS-server:

DustBunnyHotel:/export/example /mnt/example nfs defaults 0 0

Denna kommer alltså att automatiskt montera mappen /export/example från servern DustBunnyHotel, på den lokala maskinens /mnt/example -mapp.
Allt som läses/skrives till /mnt/example på klienten, kommer att gå direkt till/från serverns /export/example... utan mellanlagring. (Sånär som på cache och liknande)

Aha! Ett konkret exempel!

Just nu försöker vi sätta upp en NFS-konfiguration.

Hmm, vissa mer småsaker borde göras på klientsidan?
Man måste göra "mkdir /mnt/example" också? För om inte mappen finns får man error va?
Sen står det nfs i 3e kolumnen, kan man skriva autofs där? Vi provade båda men inget funkar (vi har nog andra fel dessutom! på serversidan kanske, men det kanske vi diskuterar imorn). Kan man skriva något annat än autofs och nfs?

Vad gör dom 3 andra kolumnerna egentligen? Eller om vi säger såhär: finns det några anledningar att skriva något annat där?

Visa signatur

PC: Windows 10 Pro x64 | ASUS Z270 ROG MAXIMUS IX CODE | Intel i7 7700K 4.2 GHz | Crucial 2x8GB@2400MHz | ASUS GeForce GTX 1070 8GB DUAL OC | Samsung 960 EVO 500GB | WD Red 2TB | Corsair TX650M 650W | Deepcool Tesseract ATX

Permalänk
Medlem

autofs använder man tillsammans med automount, vilket för NFS kräver sin egna demon, men tillåter trevligheter som on demand-mounting.

NFS är lite så att du kan göra det precis så avancerat som du vill, men också precis så oavancerat på klienten som du vill.
Jag själv har valt att sätta upp så automount hanterar min /net. Detta innebär att det finns en mapp som heter /net, som automount monterar autofs på. Om jag sedan till exempel skriver "cd /net/liten/srv" så tar automount och ser om det finns någon dator som heter "liten" och som har utdelningaar, och isåfall skapar mappen "/net/liten", ser sedan om "liten har någon utdelning som heter "srv", och isåfall skapar /net/liten/srv, och monterar liten:/srv på /net/liten/srv.

Har tre datorer som kör så, funkar fint.

Permalänk

Aha.

Hmm, men jag trodde autofs var något man kunde skriva i fstab. Och den raden där det står autofs för filsystem så blir det så att någon daemon eller någon boot-sekvens (nånn som vet?), då lixom automatiskt kan gissa sig till vilket filsystem som finns där på källan som ska monteras.
T ex om det är ext3 på servern. Och man skriver autofs i fstab (på raden för monteringen) på klienten, blir det då så att den känner av att det är ext3 och så blir det ext3 automatiskt? Eller blir filsystemet nfs kanske? Oj det känns rörigt.

Sen hade var även autofs relaterat till automounter säger du. Jag såg nånstans att det är paketet autofs man laddar ner för att instlaera automounter. Så är det va?

Visa signatur

PC: Windows 10 Pro x64 | ASUS Z270 ROG MAXIMUS IX CODE | Intel i7 7700K 4.2 GHz | Crucial 2x8GB@2400MHz | ASUS GeForce GTX 1070 8GB DUAL OC | Samsung 960 EVO 500GB | WD Red 2TB | Corsair TX650M 650W | Deepcool Tesseract ATX

Permalänk
Medlem

Det beror på filsystem. Vissa kan kerneln hantera på egen hand, men det finns vissa processer man av säkerhetsskäl inte vill köra i kernelspace, och userspace dessutom kan utföra bättre.

Så i grund kan man säga att allt lokalt kan autofs hantera, men allt externt krävs en extra demon eller annat. NFS till exempel går ju inte att få att fungera hur som helst utan mount.nfs från NFS-utils.

Permalänk

Jaha, så du menar att man måste ha en NFS-demon igång för att notationen autofs i fstab ska fungera? Menar du så?

Visa signatur

PC: Windows 10 Pro x64 | ASUS Z270 ROG MAXIMUS IX CODE | Intel i7 7700K 4.2 GHz | Crucial 2x8GB@2400MHz | ASUS GeForce GTX 1070 8GB DUAL OC | Samsung 960 EVO 500GB | WD Red 2TB | Corsair TX650M 650W | Deepcool Tesseract ATX

Permalänk
Medlem

Nja, lite åt det hållet, fast automount kan hantera så mycket mer än bara NFS, och automounter fungerar lite annorlunda.

Ta exemplet:
liten:/srv /imports/liten.srv auto defaults 0 0
För att denna ska monteras krävs följande:
Någon/något utför kommandot "mount /imports/liten.srv". Om nätverket/servern inte är tillgängligt när den processen utfördes, oh so saaad. /imports/liten.srv kommer vara en tom låda.
Men har du inte nfs-utils liggandes på datorn kommer du få felmeddelande om att mount.nfs inte hittades och misslyckades.

Med automounter behöver du inte ange något i fstab, däremot behöver du ändra i auto.master (vilken ligger i /etc någonstans beroende på din dist).
att montera autofs någonstans spelar ingen roll så länge automounter inte körs, för det är helt enkelt den processen som håller reda på vad det är meningen autofs ska montera där.

Permalänk

Och sen tänkte jag också på dethär med FSID.

Det var något att ursprungs FSID:t försvann på vägen över sladden från servern till klienten. Så man fick manuellt sätta något FSID på klienten så att inget fungerar dåligt (det som tydligen fungerar dåligt var t ex att om man sätter ReadWrite-option för mappen på servern, och en mapp högre upp i trädet är ReadOnly. Sen exporterar man ReadWrite-mappen till klienten. Då, om man inte sätter dit ett särskilt FSID på klientsidan för dendära tänkta ReadWrite-mappen, då kommer det att bli ReadOnly på klientsidan och det blir ju inte som man tänkt)
Är det såhär eller har jag missat något?

Visa signatur

PC: Windows 10 Pro x64 | ASUS Z270 ROG MAXIMUS IX CODE | Intel i7 7700K 4.2 GHz | Crucial 2x8GB@2400MHz | ASUS GeForce GTX 1070 8GB DUAL OC | Samsung 960 EVO 500GB | WD Red 2TB | Corsair TX650M 650W | Deepcool Tesseract ATX

Permalänk
Medlem

Jag använde denna howto första gången jag confade nfs: https://help.ubuntu.com/community/NFSv4Howto

//Knight

Visa signatur

Idag kom Athlon64

Permalänk
Entusiast
Skrivet av -8-DEAMON-8-:

Aha! Ett konkret exempel!

Just nu försöker vi sätta upp en NFS-konfiguration.

Hmm, vissa mer småsaker borde göras på klientsidan?
Man måste göra "mkdir /mnt/example" också? För om inte mappen finns får man error va?
Sen står det nfs i 3e kolumnen, kan man skriva autofs där? Vi provade båda men inget funkar (vi har nog andra fel dessutom! på serversidan kanske, men det kanske vi diskuterar imorn). Kan man skriva något annat än autofs och nfs?

Vad gör dom 3 andra kolumnerna egentligen? Eller om vi säger såhär: finns det några anledningar att skriva något annat där?

Ja. Mappen som du vill montera en enhet på måste existera. Detta gäller alla monteringar. Inte bara NFS.

Angående filsystem-kolumnen (Tredje kolumnen), så brukar man bara använda autofs på blockenheter vars filsystem kan variera från gång till gång. T.ex minnes-kort, disketter eller andra typer av enheter som använder utbytbar media.
Du kan ange autofs på en NFS-montering. Men huruvida detta fungerar tillfreds-ställande eller inte är helt upp till din valda distribution och vilka nfs-bibliotek du har installerat. Läs manualen till din distribution angående detta.
Personligen ser jag att det är bättre att ange vad det är för filsystem man vill montera. I det här fallet NFS.

fstab, kolumn 4:
Många gånger räcker det med "defaults" i den här kolumnen, men man kan ange diverse avancerade inställningar till den aktuella monteringen. Vilka inställningar som finns tillgängligt beror på vilken typ av filsystem som monteras.
Läs mer: NFS-specifika inställningar (Under rubriken "Mount Options"), Generella monterings-inställningar (Under rubriken "Filesystem Independent Mount Options").

fstab, kolumn 5 och 6
Många gånger räcker det gott att ange 0 i båda kolumnerna, såvida man inte har specifika önskemål.

  • Kolumn 5: Dump. 0 eller 1. Anger om enheten skall inkluderas i systemets säkerhetskopiering. De flesta anger 0 här, då de flesta sköter säkerhetskopiering på annat sätt. Denna inställning är av mer intresse på uppdrags-kritiska servrar med ett helautomatisk backup-system.

  • Kolumn 6: Anger i vilken ordning som systemets filsystems-kontroll (fsck) kontrollerar enheterna. I de flesta fallen anger man 0 för att exkludera den aktuella enheten från systemets filsystems-kontroll.

Visa signatur

Bästa programmen till Linux - v2.0
Linux-guide: Val av grafisk miljö. (Att välja distribution).
-
Everyone should have a SGoC in their systems (SGoC: SysGhost on a Chip)

Permalänk

Aha tack för infon där om fstab!

:>

Nu har vi satt upp ett litet NFS-system på vår labb.
Det är ett virtuellt nätverk med 4 datorer:
router
server
client-1
client-2

Så nu är det så att client-1 och client-2 kommer åt två utdelade mappar från servern. Dom utdelade mapparna på servern är /home1/ och /home2/
I home1 finns en mapp testuser_one. I home2 finns en mapp som heter testuser_two. Det finns även två användare som heter testuser_one och testuser_two. Nu ska vi med NIS mounta dessa mappar på klienterna, så att när någon loggar in. T ex testuser_one loggar in på client-1. Då ska testuser_one komma åt sin katalog testuser_one som finns på home1.

Då ska vi nu med automounter göra så att klienterna kommer åt dessa två mappar (home1 och home2) på servern. Så vi funderar just nu lite på hur vi ska göra. Får se hur det går.

Men jag tänkte då på något:
Om man då har mountat testuser_one och testuser_two i /home/ på en klient. Om man då skapar en fil direkt i /home/ . Var kommer den filen hamna då? Kommer den hamna på home1 eller home2 på servern?

Visa signatur

PC: Windows 10 Pro x64 | ASUS Z270 ROG MAXIMUS IX CODE | Intel i7 7700K 4.2 GHz | Crucial 2x8GB@2400MHz | ASUS GeForce GTX 1070 8GB DUAL OC | Samsung 960 EVO 500GB | WD Red 2TB | Corsair TX650M 650W | Deepcool Tesseract ATX

Permalänk
Medlem
Skrivet av -8-DEAMON-8-:

Men jag tänkte då på något:
Om man då har mountat testuser_one och testuser_two i /home/ på en klient. Om man då skapar en fil direkt i /home/ . Var kommer den filen hamna då? Kommer den hamna på home1 eller home2 på servern?

Du får specifiera lite tydligare.
Har du monterat båda mapparna direkt i /home? Eller har du skapat /home/testuser_one och /home/testuser_two och monterat filsystemen i varsin mapp?

För i första fallet så hamnar filen i det filsystem du senast monterade på /home, i de andra fallen hamnar filen på den lokala hårddisken.

Permalänk

hejhej

Oj, vi försökte förstå vad vi menade men det var lite svårt. Kanske vi inte vet vad montering betyder?

Är det såhär? :
Om man från servern har en mapp /home1/ och på klienten har en mapp /home/
Om man då tänker "montera" /home1/ på klientens /home/, vad kommer hända då?

Då är det väl så att det som ligger i /home/ på klienten kommer att skickas över till /home1/ på servern?

Visa signatur

PC: Windows 10 Pro x64 | ASUS Z270 ROG MAXIMUS IX CODE | Intel i7 7700K 4.2 GHz | Crucial 2x8GB@2400MHz | ASUS GeForce GTX 1070 8GB DUAL OC | Samsung 960 EVO 500GB | WD Red 2TB | Corsair TX650M 650W | Deepcool Tesseract ATX

Permalänk
Entusiast
Skrivet av -8-DEAMON-8-:

hejhej

Oj, vi försökte förstå vad vi menade men det var lite svårt. Kanske vi inte vet vad montering betyder?

Är det såhär? :
Om man från servern har en mapp /home1/ och på klienten har en mapp /home/
Om man då tänker "montera" /home1/ på klientens /home/, vad kommer hända då?

Då är det väl så att det som ligger i /home/ på klienten kommer att skickas över till /home1/ på servern?

Ni är på rätt spår.
För att förstå vad en "montering" innebär, låt oss börja med lokala lagringsenheter som exempel. (All sorts lagrings i *nix-system benämns som "blockenheter")

Föstå hur monteringar fungerar:
Låt oss föreställa oss en dator med två SATA-hårddiskar, varav den första disken med en partition och den andra disken med två partitioner (tre lagringsnoder totalt)
Hårddisk 1, partition 1. Benämns som /dev/sda1
Hårddisk 2, partition 1. Benämns som /dev/sdb1
Hårddisk 2, partition 2. Benämns som /dev/sdb2

Ett *nix-system behöver en root-partition där grund-systemet lagras. Lått oss dedikera /dev/sda1 till detta (Fullt valfritt)
Det innebär alltså att /dev/sda1 kommer att monteras i mappen "/" (Också känt som "root folder"). Alla filer och mappar som lagras här kommer att sparas på /dev/sda1.

Övriga partitioner kan monteras godtyckligt där man anser att de passar bäst, så här följer vanliga exempel:

Låt oss nu skapa mappen "home" under "/".

mkdir /home

Så länge ingenting monteras i "home", så kommer mappen att agera precis som vilken annan mapp som helst. Det vill säga att allt som skapas under mappen lagras även det på samma disk och partition.
Låt oss montera den aktuella partitionen:

mount /dev/sdb1 /home

Med /dev/sdb1 monterad i "/home", så kommer mappen "/home" att agera en pekare till den monterade block-enheten. Nu kommer all läsning och skrivning till "/home" att ske mot /dev/sdb1 istället. Det betyder alltså att allt lagringsutrymme som finns tillgängligt i /dev/sdb1 är det som finns tillgängligt för "/home".
Fanns det något skapat i mappen "/home" innan vi utförde monteringen, kommer detta att gömmas och bli otillgängligt tills det att vi avmonterar /dev/sdb1. Det är därför att föredra att monteringsmappar är och förblir tomma, för att undvika förvirring. (Det finns speciella fall där man vill nyttja "effekten", men det går vi inte in på här)

Nu, låt oss skapa mappen "OlSpinner" under "/mnt".

mkdir /mnt/OlSpinner

Samma sak gäller även här, mappen agerar bara en vanlig mapp tills det att vi utför en montering i den.
Mappen kommer att skapas under "/mnt", och därmed sparas på enhet "/dev/sda1" eftersom vi inte har någon annan montering på "/mnt".
Nu kanske ni förstår varför det finns många tomma mappar i ett mer "avancerat" *nix-system som nyttjar många åtskilda lagringsenheter. I de flesta fallen återfinner man många tomma mappar under "/mnt" eller "/media". Det är mappar som agerar monteringspunkter. Som ni säkert kan gissa, så står "mnt" för "mount".
Låt oss nu montera /dev/sdb1 under /mnt/OlSpinner

mount /dev/sdb2 /mnt/OlSpinner

All som som nu sker i /mnt/OlSpinner kommer nu att ske mot /dev/sdb2.
Däremot så agerar /mnt som en vanlig mapp, eftersom det inte finns någon montering på den här mappen. Så allt som sker mot /mnt/ sker givetvis mot /dev/sda1.

Nu till NFS:
Nu när vi fått kläm om hur monteringar fungerar, så ger vi oss an NFS-enheter.
Det finurliga med nfs-enheter, är att de beter sig mycket likt lokala block-enheter. Man kan gott föreställa sig NFS-enheter som vilken annan block-enhet som helst. Självfallet finns det avancerade inställningar specifikt för just nfs-enheter att ta rätt på om man så önskar, men är inget måste.

Låt oss skapa mappen "nfs" med en undermapp "example" under "/":

mkdir -p /nfs/example

(Växeln "-p" i det här exemplet talar om för mkdir att skapa alla mapparna på en gång, om de saknas. Annars kan man få ett felmeddelande om att mappen "nfs" inte existerar)

Återigen, så har vi en helt vanlig mapp vid namn nfs sparad under "/". Det vill säga /dev/sda1. Detsamma gälller undermappen "example" skapad under "/nfs".
Låt oss utföra en nfs-montering från NFS-servern "DustBunnyHotel":

mount -t nfs DustBunnyHotel:/example /nfs/example

Som det syns, är monteringen av en NFS.montering inte speciellt annorlunda, utöver ett par detaljer:
Växeln "-t": Anger vilken typ av filsystem man ämnar att montera. I de flesta fall kan detta utelämnas, men är att föredra, då inte alla system är konfigurerade att "autodetektera" filsystem över nätverk, och kan ge rätt vilseledande felmeddelanden. I det här fallet anges "nfs" som filsystem då det handlar om en NFS-delning från en annan dator.
"DustBunnyHotel:" som anges precis före blockenheten, talar om för systemet att man ämnar att ansluta sig till servern DustBunnyHotel. Man kan också ange IP-adressen istället för hostname. Exempel: "mount -t nfs 192.168.1.254:/example /nfs/example"

Att tänka på:
NFS på servrar kan bete sig lite olika, beroende på vilken version man använder.
NFS version 3 eller tidigare: Använder absoluta sökvägar. Exporterar man "/exports/example", så skall det anges som "/exports/example" även på klienterna.
NFS version 4 eller senare: Använder virtuell root. Måste först exportera en virtuell root-mapp som innehåller alla exporteringar, och därefter varje exportering var för sig. Exempel: "/exports" är exporterad som "virtual root", och "/exports/example" anges då som "/example" på klienterna.

För att undvika förvirring, använd endast en version, och helst den senaste av säkerhetsskäl. (Det är möjligt att använda olika versioner av NFS samtidigt)

Läs på om NFS version 4:
http://wiki.gentoo.org/wiki/NFSv4

Visa signatur

Bästa programmen till Linux - v2.0
Linux-guide: Val av grafisk miljö. (Att välja distribution).
-
Everyone should have a SGoC in their systems (SGoC: SysGhost on a Chip)

Permalänk

Aha, tack för fint svar..
!

Jo det är så att vi försöker konfigurera NFS och Automounter i en labb här på skolan (kurs: TDDI09) och dom rekomenderade version 3 av någon anledning. Kanske går bra det med till att börja med?

Det här mount-kommandot. Är det alltid så att man har källan på vänstersidan och destinationen på högersidan? Måste det alltid vara mappar som man har på höger eller vänstersidan? För när man kör mount på någon hårddisk så är det ju någon specialfil på vänstersidan.

Vi kollade lite på hemsidan där (http://wiki.gentoo.org/wiki/NFSv4), det finns ro och rw som rättigheter. Men finns det ingen "no-read-or-write"? Att man inte ens får läsa vad som finns i en mapp t ex? Om man har en server i Windows så kunde vissa mappar på servern vara "no-read-or-write", dvs att man inte ens får gå in i mappen. Finns det något sånt i NFS?

Visa signatur

PC: Windows 10 Pro x64 | ASUS Z270 ROG MAXIMUS IX CODE | Intel i7 7700K 4.2 GHz | Crucial 2x8GB@2400MHz | ASUS GeForce GTX 1070 8GB DUAL OC | Samsung 960 EVO 500GB | WD Red 2TB | Corsair TX650M 650W | Deepcool Tesseract ATX

Permalänk

Hej!

Jag undrar lite om FSID som man anger när man exporterar saker från server? Hur använder man den och hur kan man välja den?

Till exempel vi försöker exportera följande från server(/etc/exports) till våra clienter:

/usr/local xxx.xxx.xxx.xxx/29 (ro,sync,no_subtree_check,fsid=1)
/home1 xxx.xxx.xxx.xxx/29 (rw,sync,no_subtree_check,fsid=1)
/home2 xxx.xxx.xxx.xxx/29 (rw,sync,no_subtree_check,fsid=1)

Ska man använda samma siffran till alla /usr/local, /home1 och /home2 eller inte och varför?

Tacktack

Permalänk
Entusiast
Skrivet av -8-DEAMON-8-:

Aha, tack för fint svar..
!

Jo det är så att vi försöker konfigurera NFS och Automounter i en labb här på skolan (kurs: TDDI09) och dom rekomenderade version 3 av någon anledning. Kanske går bra det med till att börja med?

Det går bra. Men jag själv rek. er att sätta er in i NFS v4, då det är vad som gäller numera, av både framtida skäl såväl som säkerhetsskäl.
Tror era lärare ber er stanna kvar på version 3 då de troligen inte hunnit sätta sig in i de senare versionerna ännu. Kan vara rätt förvirrande om man inte sätter sig in i det nya tänket med virtuell root.

Skrivet av -8-DEAMON-8-:

Det här mount-kommandot. Är det alltid så att man har källan på vänstersidan och destinationen på högersidan? Måste det alltid vara mappar som man har på höger eller vänstersidan? För när man kör mount på någon hårddisk så är det ju någon specialfil på vänstersidan.

Det stämmer rätt bra. Läser ni man-sidan till mount, så anges det att man anger blockenheten först, följd av monteringspunkten.
Fungerar rätt logiskt också: Man talar om vad man vill montera, följt av var man vill montera det. (device dir)
blockenheten ifråga behöver inte alltid vara en specialfil eller en dev-nod. det kan lika gärna vara en vanlig fil innehållande en spegelbild av ett filsystem, alternativt en annan mapp. I vissa fall får man tala om för mount vad det är man vill göra via växlar.
Läs manual-sidan:

man mount

Skrivet av -8-DEAMON-8-:

Vi kollade lite på hemsidan där (http://wiki.gentoo.org/wiki/NFSv4), det finns ro och rw som rättigheter. Men finns det ingen "no-read-or-write"? Att man inte ens får läsa vad som finns i en mapp t ex? Om man har en server i Windows så kunde vissa mappar på servern vara "no-read-or-write", dvs att man inte ens får gå in i mappen. Finns det något sånt i NFS?

ro och rw-rättigheterna som sätts via mount alternativt via nfs-inställningar är övergripande rättigheter som överskrider satta rättigheter i själva filsystemet. Behövs bara om man vill överskrida satta rättigheter som getts i själva filstrukturen.
Specifika rättigheter sätts i mappar och filer precis som om det vore lokala filer. Det vill säga med hjälp av kommandot chmod. NFS behöver inte ha en separat rättighetshantering, då rättigheterna i *nix-systemet är mer än tillräcklig för att täcka alla tänkbara behov. Bara fantasin sätter gränsen.
Använd grupper för att hantera flera användare. Det är det som är tanken. För att förhindra att respektive klients root-användare ändrar rättigheter, använd växeln "root_squash" (Betyder att klienternas lokala root-användare inte har rättigheter at göra något på monteringarna ifråga. Endast serverns root kan ändra icke-ägda rättigheter)'

Det är viktigt att alla klienterna har samma UIDs och GIDs på gemensamma användare och grupper, för att förhindra förvirring.

Sätt er in i *nix säkerhet för att förstå det hela bättre: http://en.wikipedia.org/wiki/Unix_security

Visa signatur

Bästa programmen till Linux - v2.0
Linux-guide: Val av grafisk miljö. (Att välja distribution).
-
Everyone should have a SGoC in their systems (SGoC: SysGhost on a Chip)