Verder Terug Inhoud

10. NFS onder Linux 2.2

Als ik dit schrijf is Linux 2.2.12 de aktuele kernel versie en om NFS te gebruiken eronder kan het een beetje een dagelijkse taak zijn. Of niet.

Wat de status van NFS in Linux 2.4 zal zijn weet ik niet.

Het grote nieuwe ding in Linux 2.2 is ondersteuning voor in de kernel nfs server deamon, genoemd knfsd in 2.2. Deze manier van implementatie van nfsd heeft enkele voordelen, de belangrijkste is de snelheid. Een Linux 2.2 machine met knfsd is een respectabele nfs server. Je kan nog steeds de oude nfsd gebruiken met Linux 2.2 en er zijn nog enkele voordelen van dit te gebruiken, het is simpeler.

Als je een kernel source of binary package gebruikt gemaakt door iemand zoals RedHat (6.0 en later), SuSE (6.1 of later, geloof ik) of een ander professioneel systeem integrator hebben ze waarschijnlijk volle "knfsd" functionaliteit geintergreert in hun kernel en je moet je geen zorgen maken, het werkt. Meestal. Totdat je zelf een kernel compileert. Als je een standaard Linux 2.2 kernel gebruik (vanaf 2.2.12) zal knfsd breken.

Om dit zelf voor elkaar te krijgen heb je het H.J. Lus knfsd package nodig. Dit is een collectie patches, en de benodigde tools voor 2.2 die Lu onderhoud in zijn vrij tijd. Je kan het halen van je lokale kernel mirror, de standaard site is ftp.kernel.org:/pub/linux/devel/gcc/. Dit is niet bedoeld voor algemene consumptie. Als je dit pakket verwarrend vind probeer het dan alsjeblieft niet zelf. Wacht tot er een package komt van je favoriete systeem intergrator (Red Hat, SuSE of ...) komt.

Zend me ook geen vragen over dit, ik kan je niet helpen. Ik heb geen knfsd gebaseerde servers draaien. Als je fouten of verzuimingen vindt in dit document, schrijf me dan dan verander ik de HOWTO en breng hem opnieuw uit.

Nog steeds aan het lezen? Ok. H.J.Lu post nieuwe versies van dit pakket op de linux-kernel mailing lijst. Andere onderwerpen die te maken hebben met NFS in 2.2 worden daar ook gepost. Lees het.

Er is een interressant ding op te merken over het knfsd package. Het zegt dat het NFS versie 3 ondersteund. Dat doet het niet. Er is een optie om 'm te laten stoppen dit te laten zeggen, of op de clients kun je "vers=2" opgeven in de mount opties lijst.

10.1 De client

De client is bijna simpel. Om goede locking te krijgen moet je statd (van het knfsd package) gecompileerd krijgen, geinstalleerd en gestart uit je opstart scripts. Doe dat. Statd heeft een directory nodig genoemd /var/lig/nfs om te functioneren anders stopt hij er mee zonder een fout bericht, dus die dir moet je maken voordat je het draait.

Als statd draait kun je het testlk programma gebruiken (in tools/locktest om te testten of het locken van een file op een NFS gemount filesysteem werkt. Het moet. Als het print No locks available werkt statd niet.

Eigenlijk kun je locken geheel vermijden (niet dat ik dat aanraad), door het geven van de "nolock" optie in de mount optie lijst.

Zo ver ik weet is dit alles wat je aan de praat moet krijgen op de client.

Oh, als je een Sparc of Alpha NFS server hebt zul je uitvinden dat de nfsclient in Linux 2.2 absoluut kl*te is. De transfer snelheid van en naar de server is zo slecht ... dat je het je niet kan voorstellen. Het is veel slechter dan onder Linux 2.0. Veel. Maar hier is natuurlijk een fix voor. De Alan Cox series van 2.2 kernels (die iets meer expirementeel is dan de normale 2.2 kernels van Linus) hebben een patch om Linux 2.2 het goed te laten doen met Alpha en Sparc servers. Als je de Alan Cox versie van de 2.2 kernels wilt gebruiken moet je de linux-kernel mailing list lezen en als je weet waar je patch kan vinden. Hier is de home page van deze patch http://www.uio.no/~trondmy/src/, in het geval dat je het wilt proberen op een gewone 2.2 kernel. Deze patch zal misschien niet in de 2.4 kernel zitten, omdat het te veel veranderingen aan de kernel vereist om geaccepteerd te worden in de ontwikkelings cyclus. Wacht op Linux 2.5.

trondmy heeft ook patches om Linux NFS versie 3 te laten gebruiken, dit stelt je ook in staat om tcp te gebruiken als transport mechanisme in plaats van UDP. NFSv3 is erg goed voor grote netwerken en andere netwerken waar het pakket verlies niet nul is of waar de wachttijden groot zijn.

De reden waarom je de linux-kernel mailing lijst moet lezen om deze patches te gebruiken is omdat voordat er slechte bugs worden ontdekt die je files op eten. Dus wees gewaarschuwd.

10.2 De server

De nfs server deamon onder Linux 2.2 en later is "knfsd" genoemd. Het is tricky om het in te stellen. Je moet dit allemaal zelf uitzoeken, of gebruik SuSE, Red Hat of een andere die 2.2 kernel pakketjes maakt. Je kan nog steeds Linux 2.2 gebruiken. Het is langzaam maar makkelijk in te stellen.


Verder Terug Inhoud