回到顶部

centos6.x 多服务器文件夹挂载共享服务器nfs配置教程

时间:1个月前   作者:庞顺龙   浏览:42   [站内原创,转载请注明出处]

标签: Linux  

1、服务端客户端均安装nfs
yum install rpcbind
yum install nfs-utils
 
2、创建服务端(210.34.215.24)文件夹赋权限
$ chmod 666 /usr/local/whistle/webapps/filesupload

3、修改服务端(210.34.215.24)配置
$ vim /etc/exports
/usr/local/whistle/webapps/filesupload 210.34.215.25(rw,sync,insecure,no_subtree_check,no_root_squash)

4、参数说明
这里配置后边有很多参数,每个参数有不同的含义,具体可以参考下边。此处,我配置了将 /data/share 文件目录设置为允许 IP 为该 10.222.77.0/24 区间的客户端挂载,当然,如果客户端 IP 不在该区间也想要挂载的话,可以设置 IP 区间更大或者设置为 * 即允许所有客户端挂载,例如:/home *(ro,sync,insecure,no_root_squash) 设置 /home 目录允许所有客户端只读挂载。
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_squash root 用户具有根目录的完全管理访问权限
anonuid=xxx 指定 nfs 服务器 /etc/passwd 文件中匿名用户的 UID
anongid=xxx 指定 nfs 服务器 /etc/passwd 文件中匿名用户的 GID

5、启动服务端(210.34.215.24)nfs服务
启动NFS服务器,为了使NFS服务器能正常工作,需要启动rpcbind和nfs两个服务,并且rpcbind一定要先于nfs启动。
# service rpcbind start
# service nfs start

查询NFS服务器状态
# service rpcbind status
# service nfs status

停止NFS服务器,要停止NFS运行时,需要先停止nfs服务再停止rpcbind服务,对于系统中有其他服务(如NIS)需要使用时,不需要停止portmap服务
# service nfs stop
# service rpcbind stop

# 查看 NFS 服务项 rpc 服务器注册的端口列表
$ rpcinfo -p localhost 

6、配置服务端(210.34.215.24)防火墙端口
/sbin/iptables -I INPUT -p tcp --dport 111 -j ACCEPT
/sbin/iptables -I INPUT -p udp --dport 111 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 662 -j ACCEPT
/sbin/iptables -I INPUT -p udp --dport 662 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 875 -j ACCEPT
/sbin/iptables -I INPUT -p udp --dport 875 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 892 -j ACCEPT
/sbin/iptables -I INPUT -p udp --dport 892 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 2049 -j ACCEPT
/sbin/iptables -I INPUT -p udp --dport 2049 -j ACCEPT

/etc/rc.d/init.d/iptables save
/etc/init.d/iptables restart
netstat -anp

# 启动 NFS 服务后 rpc 服务已经启用了对 NFS 的端口映射列表
# rpcinfo -p localhost

7、客户端挂载对应的nfs目录到本地
mount -t nfs 210.34.215.24:/usr/local/whistle/webapps/filesupload  /usr/local/whistle/webapps/filesupload

取消挂载(对应的本地路径)
umount /usr/local/whistle/webapps/filesupload

8、服务端(210.34.215.24)测试
$ showmount -e localhost
Export list for localhost:
/usr/local/whistle/webapps/filesupload 210.34.215.25

9、客户端(210.34.215.25)测试挂载成功情况
# showmount -e 210.34.215.24
Export list for 210.34.215.24:
/usr/local/whistle/webapps/filesupload 210.34.215.25

10、客户端(210.34.215.25)测试挂载失败情况
# showmount -e 210.34.215.24

出现错误:clnt_create: RPC: Port mapper failure - Timed out
a、nfs服务器端防火墙端口没开
b、NFS服务器的hosts文件中的域名和NFS服务器的IP地址不对应造成的(可能原因)

针对b情况查看hosts
# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
210.34.215.19 app.xmut.edu.cn
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

查看主机
# hostname
localhost.localdomain

添加hosts记录

echo "210.34.215.24 localhost.localdomain" >>/etc/hosts

11、设置启动自动加载, 编辑 /etc/fstab
210.34.215.24:/usr/local/whistle/webapps/filesupload  /usr/local/whistle/webapps/filesupload       nfs     ro              0 0

同时要确保 rpcbind, nfs, netfs 这3个服务是开机自启动的
chkconfig nfs on
chkconfig rpcbind on
chkconfig netfs on
chkconfig --list

#查看启动项
ll /etc/init.d/

庞顺龙最后编辑于:1个月前

内容均为作者独立观点,不代表八零IT人立场,如涉及侵权,请及时告知。

评论努力加载中...
暂无评论
暂无评论

手机扫码阅读

热门相关

加载中...
关于我们   联系我们   申请友链   赞助记录   站点地图
© 2014 - 2017 www.80iter.com All Rights Reserved. 京ICP备14042174号-1
本站遵循 CC BY 4.0 协议,转载请注明出处 。