Remote Disk Access with NFS Vicki Insixiengmay Jonathan Krieger
NFS Background Developed inside Sun Microsystems in early 1980’s Based on 2 similar but distinct protocols MOUNT Initial Negotiation between Server and Client Determines which file systems are available for mounting NFS Allows Client to Utilize Files in Directory
NFS Description Network File System(NFS) An abbreviation for Network File System, a file format and set of drivers created by Sun Microsystems Incorporated that allows DOS/Windows and UNIX applications to share files on disk drives running under UNIX. NFS relies on remote procedure calls (RPCs) for communication between clients and servers. Allows any network user to access disk space over a networks. Incorporates with NIS to access specific file folders for each user
Important NFS Concepts Virtual File System (VFS) – transparently and automatically redirects for mounted files to the server Remote Procedure Call (RPC) – used for background mounting of a folder with a file system Hard Mounting – Continuously trying to remount a file system Soft Mounting – Repeated RPC failures cause the NFS to fail and not hang
Important NFS Daemons portmap – manages connections for applications that use the RPC specification nfs – starts necessary RPC processes nfslock – allows clients to lock files within the NFS file system netfs – allows processes running on the client to mount an NFS file system
Installing NFS RedHat Linux installs NFS by default To check: Automatically activated when system boots To check: rpm –qa | grep nfs If list is empty, one needs to installed
Configuring NFS on the Server Needs portmap nfs nfslock Correctly configured /etc/exports file
Configuring the /etc/exports file Main NFS configuration file 2 columns: 1st Directories made available on the network 2nd Networks or DNS domains that can access the directories and options Options include: ro, rw, no_root_squash, no_subtree_check, sync
The /etc/exports file NFS Users Control Panel in Linux #/etc/exports /public 134.198.161.101(rw, sync, no_root_squash) /public 134.198.161.102(rw, sync, no_root_squash) /public 134.198.161.103(rw, sync, no_root_squash) /public 134.198.161.104(rw, sync, no_root_squash) /public 134.198.161.254(rw, sync, no_root_squash) NFS Users Control Panel in Linux
Starting NFS on the Server Configure required daemons chkconfig –level 35 nfs on chkconfig –level 35 nfslock on chkconfig –level 35 portmap on Use /etc/init.d to start daemons service portmap start service nfs start service nfslock start Test NFS rpcinfo –p localhost
Starting NFS on the Client Configure required daemons chkconfig –level 35 netfs on chkconfig –level 35 nfslock on chkconfig –level 35 portmap on Use /etc/init.d to start daemons service portmap start service netfs start service nfslock start Test NFS rpcinfo –p
NFS and DNS NFS client must have a matching pair of forward and reverse DNS entries DNS lookup on NFS server for IP address of NFS client must return server name mapping back to original IP address host 134.198.161.103 host 134-198-161-103.research.cs.uofs.edu
NFS Directory Mounting -- Permanent Insert line into /etc/fstab file #/etc/fstab #Directory Mount Point Type Options Dump FSCK .103:/public /home nfs defaults 0 0 Create mount directory mkdir /home Mount onto directory into new directory mount -a
NFS Directory Mounting -- Temporary No needed /etc/fstab entry mkdir /home ls /home mount –t nfs 134.198.161.103:/public /home <Listing of Directory>
Deleting a Share Removing an exported directory from /etc/exports Client Side: umount /home Server Side: Exportfs –ua Exportfs -a
Problems After installing NFS on lab3… Errors Firewall Problems Lab3 mounted Others NFS on Errors port 22: No route to host Permission denied, server is down Firewall Problems
Problems Installing NFS on Gateway Source Running FreeBSD Inserted into rc.conf file nfs_client_enable = “YES” Source http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/network-nfs.html
References www.linuxdocs.org www.linuxhomenetworking.com www.freebsd.org