Red Hat 5.4 64位系统安装配置NFS
说明:
NFS服务器端
操作系统:Red Hat 5.4 64位
IP          :10.15.62.67
NFS网络文件服务器共享目录:/data

NFS客户端
操作系统:Red Hat 5.4 64位
IP          :10.15.62.70
NFS网络文件共享挂载目录:/data

一、关闭SELINUX
cat /etc/selinux/config | grep "^SELINUX=" | sed 's/\(SELINUX=\).*/\1disabled/g'

二、安装NFS服务器
查询并卸载是否安装有nfs-utils portmap
rpm -q nfs-utils portmap && yum remove nfs-utils portmap -y

安装nfs-utils portmap
yum install nfs-utils portmap

修改/etc/sysconfig/nfs文件开启并修改如下字段
RQUOTAD_PORT=875
LOCKD_TCPPORT=32803
LOCKD_UDPPORT=32769
MOUNTD_PORT=892
STATD_PORT=10000
STATD_OUTGOING_PORT=10004

编辑/etc/exports文件添加如下信息
/data 10.15.62.67/24(rw,sync,no_subtree_check)
相关参数说明:
/data:NFS共享目录
10.15.62.67/24:允许访问共享目录的IP段
rw:读写权限
ro:只读权限
sync:实时同步数据
async:异步同步数据
no_subtree_check:不检查目录权限,提高数据读取效率
no_root_squash:以root身份登录时他的权限将被压缩为nobody权限
all_squash:不论登入NFS的身份为谁他的权限都将被压缩为nobody权限
anonuid:设置匿名登录的用户uid
anongid:设置匿名登录的用户gid

启动服务
service portmap start
service nfslock start
service nfs start
chkconfig portmap on
chkconfig nfslock on
chkconfig nfs on
注意NFS服务在启动时有顺序的,关闭也是有顺序的。
service nfslock stop
service nfs stop
service portmap stop

[root@localhost ~]# rpcinfo -p 10.15.62.67
   program vers proto   port
    100000    2   tcp    111  portmapper
    100000    2   udp    111  portmapper
    100024    1   udp  10000  status
    100024    1   tcp  10000  status
    100011    1   udp    875  rquotad
    100011    2   udp    875  rquotad
    100011    1   tcp    875  rquotad
    100011    2   tcp    875  rquotad
    100003    2   udp   2049  nfs
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs
    100021    1   udp  32769  nlockmgr
    100021    3   udp  32769  nlockmgr
    100021    4   udp  32769  nlockmgr
    100021    1   tcp  32803  nlockmgr
    100021    3   tcp  32803  nlockmgr
    100021    4   tcp  32803  nlockmgr
    100003    2   tcp   2049  nfs
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100005    1   udp    892  mountd
    100005    1   tcp    892  mountd
    100005    2   udp    892  mountd
    100005    2   tcp    892  mountd
    100005    3   udp    892  mountd
    100005    3   tcp    892  mountd

端口说明:
portmap或者rpcbind(centos 6.x)使用:tcp/udp 111
nfs使用:tcp/udp 2049
mountd使用:tcp/udp 892
rquotad使用:tcp/udp 875
status使用:tcp/udp 10000-10004共五个端口
nlockmgr使用:tcp/32803 udp/32769

查看服务器端的共享目录
[root@localhost ~]# showmount -e 10.15.62.67
Export list for 10.15.62.67:
/data 10.15.62.67/24

NFS客户端:

关闭SELINUX
cat /etc/selinux/config | grep "^SELINUX=" | sed 's/\(SELINUX=\).*/\1disabled/g'

查询并卸载是否安装有nfs-utils portmap
rpm -q nfs-utils portmap && yum remove nfs-utils portmap -y

安装nfs-utils portmap
yum install nfs-utils portmap

启动服务
service portmap start
service nfslock start
service nfs start
chkconfig portmap on
chkconfig nfslock on
chkconfig nfs on
注意NFS服务在启动时有顺序的,关闭也是有顺序的。
service nfslock stop
service nfs stop
service portmap stop

mount -t nfs -o soft,intr,bg,rw,rsize=32768,wsize=32768 10.15.62.67:/data /data
此时在服务器端的/data目录里创建个文件,在客户端查看是否同步
umount

在/etc/fstab里面添加如下行
10.15.62.67:/data    /data    nfs    soft,intr,bg,rw,rsize=32768,wsize=32768    0 0
mount -a
此时在进入客户端的/data目录里面有没有刚在服务端创建的文件
此时你的NFS服务已经完成

如果你工作环境中有防火墙,那么你要在你的防火墙列表中添加如下规则
-A INPUT -m tcp -p tcp --dport 111 -j ACCEPT
-A INPUT -m tcp -p udp --dport 111 -j ACCEPT
-A INPUT -m tcp -p tcp --dport 2049 -j ACCEPT
-A INPUT -m tcp -p udp --dport 2049 -j ACCEPT
-A INPUT -m tcp -p tcp --dport 875 -j ACCEPT
-A INPUT -m tcp -p udp --dport 875 -j ACCEPT
-A INPUT -m tcp -p tcp --dport 892 -j ACCEPT
-A INPUT -m tcp -p udp --dport 892 -j ACCEPT
-A INPUT -m tcp -p tcp --dport 32803 -j ACCEPT
-A INPUT -m tcp -p udp --dport 32769 -j ACCEPT
-A INPUT -m tcp -p tcp --dport 10000 -j ACCEPT
-A INPUT -m tcp -p udp --dport 10000 -j ACCEPT
-A INPUT -m tcp -p tcp --dport 10001 -j ACCEPT
-A INPUT -m tcp -p udp --dport 10001 -j ACCEPT
-A INPUT -m tcp -p tcp --dport 10002 -j ACCEPT
-A INPUT -m tcp -p udp --dport 10002 -j ACCEPT
-A INPUT -m tcp -p tcp --dport 10003 -j ACCEPT
-A INPUT -m tcp -p udp --dport 10003 -j ACCEPT
-A INPUT -m tcp -p tcp --dport 10004 -j ACCEPT
-A INPUT -m tcp -p udp --dport 10004 -j ACCEPT