您的位置:首页 > 其它

NFS服务器的安装与配置

2015-07-28 17:27 281 查看
一、NFS服务简介

  NFS 的基本原则是“容许不同的客户端及服务端通过一组RPC分享相同的文件系统”,它是独立于操作系统,容许不同硬件及操作系统的系统共同进行文件的分享。

  NFS在文件传送或信息传送过程中依赖于RPC协议。RPC,远程过程调用 (Remote Procedure Call) 是能使客户端执行其他系统中程序的一种机制。NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,这是因为NFS使用了一些其它的传输协议。而这些传输协议用到这个RPC功能的。可以说NFS本身就是使用RPC的一个程序。或者说NFS也是一个RPC SERVER。所以只要用到NFS的地方都要启动RPC服务,不论是NFS SERVER或者NFS CLIENT。这样SERVER和CLIENT才能通过RPC来实现PROGRAM PORT的对应。可以这么理解RPC和NFS的关系:NFS是一个文件系统,而RPC是负责负责信息的传输。

二、安装NFS服务 NFS端口 2049 RPC端口 111

NFS的安装是非常简单的,只需要两个软件包即可,而且在通常情况下,是作为系统的默认包安装的。

nfs-utils :包括基本的NFS命令与监控程序
rpcbind :支持安全NFS RPC服务的连接

在centos6.5中portmap已经改为rpcbind
服务端安装 yum install nfs-utils rpcbind

客户端安装 yum install nfs-utils rpcbind

配置服务自启动

chkconfig --level 2345 nfs on

chkconfig --level 2345 nfslock on

三、NFS服务器的配置

NFS服务器的配置相对比较简单,只需要在相应的配置文件中进行设置,然后启动NFS服务器即可。

NFS的常用目录

/etc/exports NFS服务的主要配置文件
/usr/sbin/exportfs NFS服务的管理命令
/usr/sbin/showmount 客户端的查看命令
/var/lib/nfs/etab 记录NFS分享出来的目录的完整权限设定值
/var/lib/nfs/xtab 记录曾经登录过的客户端信息
NFS服务的配置文件为 /etc/exports

/home/share 10.1.1.5(rw,sync,no_root_squash) *(ro)
配置说明: 对10.1.1.5赋予读写权限,其他机器仅有只读权限。
客户端以前为读写,在配置把读写改为只读后,客户端会强制变更为只读权限
配置开机自动挂载 /etc/fstab 添加
/home/share 10.1.1.5(rw,sync,no_root_squash) *(ro) /mnt/nfs/share nfs defaults 0 3
export生效,不用重启服务
exportfs -rv #加载配置
exportfs -au #全部卸载
下面是一些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
四、NFS服务器的启动与停止

在对exports文件进行了正确的配置后,就可以启动NFS服务器了。

1、启动NFS服务器

service rpcbind restart
service nfs restart
service nfslock restart
2、服务器端使用showmount命令查询NFS的共享状态

showmount -e    //默认查看自己共享的服务,前提是要DNS能解析自己,不然容易报错

[root@linux ]# showmount -e
Export list for linux:
/usr/local/share (everyone)

3、客户端使用showmount命令查询NFS的共享状态

showmount -e NFS服务器IP

4、客户端挂载NFS服务器中的共享目录 -o noac 无缓存

mount -t nfs -o noac 10.1.1.1:/opt/tomcat/webapps/owlposter /opt/owlposter

五、iptables配置
NFS服务启动的时候给每一个NFS服务分配了一个动态的端口
要使用iptables来控制NFS,需静态指定端口号让portmap调用。NFS服务启用时会检查/etc/sysconfig/nfs文件。在此文件下来指定mountd,statd,lockd,rquotad端口号。
RQUOTAD_PORT=10001
LOCKD_TCPPORT=10002
LOCKD_UDPPORT=10002
MOUNTD_PORT=10003
STATD_PORT=10004
修改完重启服务
service nfslock restart
service nfs restart
使用命令查看端口
rpcinfo -p
iptables 添加规则
vim /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 10001:10004 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 10001:10004 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 2049 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 2049 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 111 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 111 -j ACCEPT
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  nfs