欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

centos6.4安装配置NFS服务器

程序员文章站 2022-06-16 11:29:56
...

安装软件包:

服务器和客户机都要安装nfs 和 rpcbind 软件包:

yum -y install nfs-utils  rpcbind

服务器端配置:

1. 在服务器上创建NFS共享目录:

mkdir /var/www/html/upload

2. 设置共享目录的读写权限: 

chmod 666 /var/www/html/upload

 3. 编辑export文件:  

vi /etc/exports 
/var/www/html/upload/ 172.30.4.9(insecure,rw,no_root_squash,no_all_squash,sync)

 注意地址和参数表之间没有空格。如果下面设置的mountd端口大于1024,需要在参数表里加入参数:insecure

 

4. 配置生效:

exportfs  -r

 注:配置文件说明:

/var/www/html/upload/ 为共享的目录,使用绝对路径。

172.30.4.9(insecure,rw,no_root_squash,no_all_squash,sync) 为客户端的地址及权限,

地址可以是一个网段(如:192.168.0.0/24),一个IP地址或者是一个域名,

域名支持通配符,如:*.hpce.cn,地址与权限中间没有空格。

 

权限说明:

rw:read-write,可读写;

ro:read-only,只读;

sync:文件同时写入硬盘和内存;

async:文件暂存于内存,而不是直接写入内存;

no_root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。显然开启这项是不安全的。

root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,拥有匿名用户权限,通常他将使用nobody或nfsnobody身份;

all_squash:不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有匿名用户权限;

anonuid:匿名用户的UID值,通常是nobody或nfsnobody,可以在此处自行设定;

anongid:匿名用户的GID值。

 

5. 启动服务rpcbind、nfs服务:

service rpcbind start
service nfs start

 

 

服务器端防火墙设置(NFS 开启防墙配置):

vim /etc/services
mountd          1011/tcp                #rpc.mountd
mountd          1011/udp                #rpc.mountd
rquotad         1012/tcp                #rpc.rquotad
rquotad         1012/udp                #rpc.rquotad

 

 

重启NFS服务:

service nfs restart

 

 

 

添加防火墙配置:

vim /etc/sysconfig/iptables
#############  防火墙配置开始 ########
# Generated by iptables-save v1.4.7 on Thu Feb  5 18:00:11 2015
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [26:4404]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1:88]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -s 0/0 --dport 80 -j ACCEPT
-A INPUT -p tcp -s 0/0 --dport 8080 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2121 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 30000:30300 -j ACCEPT
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#portmap
-A INPUT -s 172.30.4.9 -p tcp --dport 111 -j ACCEPT
-A INPUT -s 172.30.4.9 -p udp --dport 111 -j ACCEPT

-A INPUT -s 172.30.4.9 -p tcp --dport 113 -j ACCEPT
-A INPUT -s 172.30.4.9 -p udp --dport 113 -j ACCEPT
#nfsd
-A INPUT -s 172.30.4.9 -p tcp --dport 2049 -j ACCEPT
-A INPUT -s 172.30.4.9 -p udp --dport 2049 -j ACCEPT
#mountd
-A INPUT -s 172.30.4.9 -p tcp --dport 1011 -j ACCEPT
-A INPUT -s 172.30.4.9 -p udp --dport 1011 -j ACCEPT
#rquotad
-A INPUT -s 172.30.4.9 -p tcp --dport 1012 -j ACCEPT
-A INPUT -s 172.30.4.9 -p udp --dport 1012 -j ACCEPT
#rpc.statd
-A INPUT -s 172.30.4.9 -p tcp --dport 32768 -j ACCEPT
-A INPUT -s 172.30.4.9 -p udp --dport 32768 -j ACCEPT
#mysql
-A INPUT -s 172.30.4.9 -p tcp --dport 3306 -j ACCEPT
-A INPUT -s 172.30.4.9 -p udp --dport 3306 -j ACCEPT
#memcached
-A INPUT -s 172.30.4.9 -p tcp --dport 16361 -j ACCEPT
-A INPUT -s 172.30.4.9 -p udp --dport 16361 -j ACCEPT

-A OUTPUT  -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
-A OUTPUT  -p tcp --sport 8080 -m state --state ESTABLISHED -j ACCEPT
-A OUTPUT  -p tcp --sport 20 -m state --state ESTABLISHED -j ACCEPT
-A OUTPUT  -p tcp --sport 21 -m state --state ESTABLISHED -j ACCEPT
-A OUTPUT  -p tcp --sport 2121 -m state --state ESTABLISHED -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Thu Feb  5 18:00:11 2015
#########  防火墙配置结束 ###########

 

重启防火墙:

service iptables restart

 

 

客户端挂载:

创建挂载目录: 

mkdir /usr/local/apache-tomcat-7.0.59/webapps/baby/upload

 

 

使用TCP协议挂载,NFS默认用UDP协议:

mount -t nfs 172.30.4.8:/var/www/html/upload  /usr/local/apache-tomcat-7.0.59/webapps/baby/upload  -o proto=tcp -o nolock

 

 

卸载已挂在的NFS

umount /usr/local/apache-tomcat-7.0.59/webapps/baby/upload

 

 

查看服务器共享情况:

showmount -e localhost

 

 

设置开机自启动nfs服务器

/etc/init.d/rpcbind start && chkconfig --level 2345 rpcbind on
/etc/init.d/nfs start  && chkconfig --level 2345 nfs on

 

 

 

设置开机自动挂载

vi /etc/fstab
172.30.4.8:/var/www/html/upload /usr/local/apache-tomcat-7.0.59/webapps/baby/upload  nfs  defaults  1 2