Nfs

From TheBeard Science Project Wiki
Jump to: navigation, search
packages:
	nfs-utils
	nfs-common
	system-config-nfs

daemons:
	nfsd
	mountd
	rquotad
	
	rpcbind
		portmap

ports:
	nfs - tcp udp 2049
	mountd - tcp udp 1013 1016 default, or tcp udp 892
	rpcbind - tcp udp 111
	statd - tcp udp 662
	lockd - tcp 32803, udp 32769
	
	rpcinfo -p - check ports
	see /etc/sysconfig/nfs under configs

mounting:
	mount -t nfs -o <options> host:/path/share /mount/point
	showmount <host> - shows hosts with shares or shows shares on <host>
		-a - show all

/etc/fstab:
	host:/path/share /mount/point nfs <options> 0 0
		(use "-" for no options)
		r - read only
		tcp
		udp (default)

		block sizes - increase size for better performance. (default: 4096)
		rsize=4096
		wsize=4096

configuring:
	exportfs -a - must run this after editing /etc/exports on the server to update the export list	
configs:
	/etc/exports - list of nfs shares. need to create it yourself.
		/path/share host(<options>) host(<options>)
			host - remote host for which share will be available. host can be hostname, address, or *.
			options are similar to mount options
				root_squash - maps root uid to uid of nfsnobody
				no_root_squash
				all_squash
				no_all_squash

examples of /etc/exports:
	/               master(rw) trusty(rw,no_root_squash)
	/projects       proj*.local.domain(rw)
	/usr            *.local.domain(ro) @trusted(rw)
	/home/joe       pc001(rw,all_squash,anonuid=150,anongid=100)
	/pub            *(ro,insecure,all_squash)
	/srv/www        -sync,rw server @trusted @external(ro)
	/foo            2001:db8:9:e54::/64(rw) 192.0.2.0/24(rw)
	/build          buildhost[0-9].local.domain(rw)

	/etc/sysconfig/nfs - has some port configurations
	/var/lib/nfs/xtab - acl for nfs shares. read by mountd when nfs shares mounted.
	/proc/fs/nfs/exports - list of active exports.
	
errors:
	RPC: Program not registered - usually means nfs server not up.