
| Linux |
Debian GNU/Linux   InleidingLinux installatie   Algemeen  Packages   Hosts   Apache   Samba   NFS   CUPS   ALSA   Postfix etc.   OpenSuse 10.2   Agfa SnapScan 310   USB-disks Tips & trucs   Diversen  Toegangsrestricties   Permissies   Instappen in Linux Onze computers   Limnos  Samos   Chios   Karpathos   Lesbos   Debian   pc-nl-509 Andere computers   Asus (Den Haag)  Linux (Koudekerk)   Zolder (Koudekerk) Bronnen   Debian website  Links | NFS Network File System
Om met een Linux-client toegang te krijgen tot een Linux-server, moeten op zowel de client als
de server NFS-onderdelen worden geinstalleerd. Installatie van de server De installatie begint op bekende wijze met apt-get:# apt-get install nfs-common portmap nfs-kernel-server Daarna moet in het bestand /etc/exports worden aangegeven welke directories we voor clients beschikbaar willen maken. Let vooral op de toevoeging (rw). Sommige Linux-distributies stellen uit veiligheidsoverwegingen standaard (ro) in, dus alleen-lezen.
# /etc/exports: the access control list for filesystems which may be exported Na elke wijziging van het bestand /etc/exports moet de systeemservice nfsd opnieuw worden gestart zodat hij de laatste wijzigingen gebruikt. # exportfs -ra Installatie van de client Ook de installatie op de client gaat weer heel eenvoudig:# apt-get install nfs-common portmap Maak daarna een directory op de client om het nfs-systeem te mounten: # mkdir /mountdir Vervolgens de nfs-directory in de locale directory-structuur mounten: # mount server_ip:/dirname -t nfs /mountdir Waarbij de aangegeven parameters de volgende betekenis hebben:
Mounten via fstab Als bovenstaande test is geslaagd, kunnen de vastgestelde waarden veilig in /etc/fstab worden opgenomen. Daardoor wordt het nfs-systeem automatisch aangekoppeld zodra de client wordt gestart.
Ik heb eens de fout gemaakt om dat ongetest in fstab op te nemen. Het gevolg was dat bij het booten de computer, als nfs-client, leek vast te lopen met de melding: Het voorbeeld van hierboven noteren we als volgt in /etc/fstab: server_ip:/dirname /mountdir nfs rsize=4096,wsize=4096 0 0 Vergeet vooral niet dat de laatste regel in fstab ALTIJD moet eindigen op een LineFeed (met Debian, tenminste).Zie verderop voor een uitleg over de bepaling van rsize en wsize. Een eventueel toegevoegd device kan je activeren door alle devices in # mount -aDat betekent: mount all. Het laat alle devices die al gemount zijn met rust en koppelt alleen nieuwe filesystems aan. Snelheid optimaliseren Bij het mounten van een NFS-device moet onder andere een waarde worden opgegeven voor rsize en wsize. Dat is de blokgrootte voor lezen resp. schrijven van het NFS-systeem. Aanvankelijk stond de server ingesteld op blokgroottes van 1024. Bij kopiëren naar de server werd dan een overdrachtsnelheid gehaald van circa 100 KB/s. Dat is dus erg langzaam.Ook als in 10 vensters tegelijk werd gekopieerd werd in elk venster circa 100 KB/s gehaald. De netwerk-infrastructuur was dus snel genoeg, want die kon het makkelijk bijhouden. Het overdrachtsprotocol (NFS) moest dus de boosdoener zijn, anders zou de snelheid meteen inzakken bij openen van nog een kopieervenster. De hoogste tijd voor wat optimalisatie. De schrijftest wordt gedaan door het meten van de tijd die nodig is om een blok met nullen naar een bestand op de NFS-server te schrijven: $ time dd if=/dev/zero of=/home/eenuser/testfile bs=16k count=128 Hierbij zorgt "time" voor de tijdmeting en "dd" voor het kopiëren van de blokken data.De parameters hebben de volgende betekenis:
De test heb ik met verschillende blokgrootten en aantallen blokken gedaan. De resultaten voor de schrijftest staan in de volgende tabel.
Elke instelling is drie maal getest. Let op dat voorafgaand aan elke meting het NFS-systeem wordt ontkoppeld en opnieuw wordt ge-mount (in dit geval is dat server limnos):
# umount limnos Hiermee wordt zeker gesteld dat alle caches leeg zijn, zodat betrouwbare metingen worden gedaan. Uit de metingen blijkt dat een vergroting van de blokgrootte van 1024 naar 4096 een verbetering geeft van bijna 9000% van ca. 20500 naar ca. 230 ms! Een verdere vergroting naar 8192 geeft alleen nog wat verbetering bij meer dan 256 blokken. Alle clients zijn inmiddels in /etc/fstab ingesteld op een blokgrootte van 8192: limnos:/home /limnos nfs rsize=8192,wsize=8192 0 0 Hoewel er (nog) geen leestest is gedaan, is ook de blokgrootte voor lezen ingesteld op 8192.Toegang tot de NFS-server regelen In /etc/hosts.allow en /etc/hosts.deny (op de server) moet worden aangegeven vanaf welke ip-adressen een NFS-verbinding wordt toegestaan. Het is dus niet zo dat elk systeem zomaar een NFS-schijf kan mounten. Zie voor meer informatie de betreffende man-page.Na elke wijziging van �n van deze bestanden moet de portmapper opnieuw worden gestart: # /etc/init.d/portmap restart Daarna de NFS-service stoppen en opnieuw starten:
# /etc/init.d/nfs-kernel-server stop |
| Copyright 2004-2010 cybertux.nl Powered by Linux - Apache - MySQL - PHP |
![]() | ![]() | ![]() | ![]() |