检查linux系统中是否安装了nfs-utils和portmap两个软件包
(RHEL4系统默认已经安装了这两个软件包)
命令#rpm –q nfs-utils portmap
二、查看NFS服务器是否启动
命令#service nfs starus
#service portmap status
三、如果服务器没有启动,则开启服务(默认服务下nfs没有完全开启)
命令#service nfs start
#service portmap start
四、指定NFS服务器的配置文件
NFS服务器的配置文件保存“/etc/”目录中,文件名称是“exports”,该文件用于被指NFS服务器提供的目录共享
命令#vi /etc/exports
格式
/home/work 192.168.0.*(rw,sync,no_root_squash)
添加的内容表示:允许ip 地址范围在192.168.0.*的计算机以读写的权限来访问/home/work 目录。
/home也称为服务器输出共享目录。
括号内的参数意义描述如下:
rw:读/写权限,只读权限的参数为ro;
sync:数据同步写入内存和硬盘,也可以使用async,此时数据会先暂存于内存中,而不立即写入硬盘。
no_root_squash:NFS 服务器共享目录用户的属性,如果用户是 root,那么对于这个共享目录来说就具有 root 的权限。
==========================================================================================
下面是一些NFS共享的常用参数:
ro 只读访问
rw 读写访问
sync 所有数据在请求时写入共享
async NFS在写入数据前可以相应请求
secure NFS通过1024以下的安全TCP/IP端口发送
insecure NFS通过1024以上的端口发送
wdelay 如果多个用户要写入NFS目录,则归组写入(默认)
no_wdelay 如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。
hide 在NFS共享目录中不共享其子目录
no_hide 共享NFS目录的子目录
subtree_check 如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)
no_subtree_check 和上面相对,不检查父目录权限
all_squash 共享文件的UID和GID映射匿名用户anonymous,适合公用目录。
no_all_squash 保留共享文件的UID和GID(默认)
root_squash root用户的所有请求映射成如anonymous用户一样的权限(默认)
no_root_squas root用户具有根目录的完全管理访问权限
anonuid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的UID
anongid=xxx 指定NFS服务器/etc/passwd文件中匿名用户的GID
======================================================================================
客户端
mount -t nfs 192.168.0.12:/home/work /mnt
如果服务器端的防火墙有开着的话,将会提示错误,如:
mount: mount to NFS server '192.168.0.12' failed: System Error: No route to host.
或
mount: mount to NFS server '192.168.0.12' failed: timed out (retrying).
由于nfs服务需要开启 mountd,nfs,nlockmgr,portmapper,rquotad这5个服务,需要将这5个服务的端口加到iptables里面。而nfs 和 portmapper两个服务是固定端口的,nfs为2049,portmapper为111。其他的3个服务是用的随机端口,那就需要先把这3个服务的端口设置成固定的。
查看当前这5个服务的端口并记录下来 用/usr/sbin/rpcinfo -p
这里显示 nfs 2049, portmapper 111, 将剩下的三个服务的端口随便选择一个记录下来
mountd 976
rquotad 966
nlockmgr 33993
将这3个服务的端口设置为固定端口
vim /etc/services
在文件的最后一行添加:
mountd 1011/tcp #rpc.mountd
mountd 1011/udp #rpc.mountd
rquotad 1012/tcp #rpc.rquotad
rquotad 1012/udp #rpc.rquotad
nlockmgr 33993/tcp
nlockmgr 33993/udp
保存并退出。
重启下nfs服务。 service nfs restart
设置防火墙,打开111,2049,1011,1012,33993端口的tcp和udp
重启防火墙。services iptables restart
操作后再次挂载即可。