Centos7安装NFS

简介

NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。

Server端IP:192.168.0.1

0.查看linux系统信息:

Server:

[root@app home]# cat /etc/redhat-release

CentOS Linux release 7.2.1511 (Core)

Client:

[root@app home]# cat /etc/redhat-release

CentOS Linux release 7.2.1511 (Core)

1.查看是否安装了nfs和rpcbind
[root@app home]# rpm -aq | grep nfs
[root@app home]# rpm -aq | grep rpcbind 

rpcbind是一个RPC服务,主要是在nfs共享时候负责通知客户端,服务器的nfs端口号的

2.安装nfs和rpcbind
[root@app home]# yum install nfs-utils rpcbind
3.增加nfs配置文件
[root@app home]# vi /etc/exports
#重新export一次
[root@app home]#exportfs -rv

添加共享信息:

/home/adam/static 192.168.0.2(rw)

/home/adam/static:共享文件夹

192.168.0.2:可以挂载服务器目录的客户端ip

(rw):该客户端对共享的文件具有读写权限

4.配置hosts文件
[root@app home]# vi /etc/hosts

192.168.0.1 hostname
192.168.0.1:服务器本机的ip地址
hostname:服务器的机器名

5.启动nfs和rpcbind服务

在SUSE上,服务名为nfsserver,不是nfs。
必须先启动rpcbind,再启动nfs,才能让NFS在rpcbind上注册成功

[root@app home]# service rpcbind start
[root@app home]# service nfs start  

查看启动状态:

[root@app home]# service rpcbind status  
[root@app home]# service nfs status 

注意,RPC的状态是Active: active (running);而NFS的状态是Active: active (exited)。

查看自己共享的服务:

[root@app home]# showmount -e 

/home/adam/static 192.168.0.2

6.查看 RPC 服务的注册状况
[root@app home]# rpcinfo -p localhost  

NFS服务使用的111和2049端口是固定的,mountd端口是动态的,需要固定,然后在防火墙放行。

6.1固定端口
[root@app home]# vi /etc/sysconfig/nfs

1.添加:
RQUOTAD_PORT=30001
LOCKD_TCPPORT=30002
LOCKD_UDPPORT=30002
MOUNTD_PORT=30003
STATD_PORT=30004

2.重启nfs和rpcbind:

[root@app home]# service rpcbind restart
[root@app home]# service nfs restart

(端口并未修改,reboot系统后才修改)

6.2防火墙放行端口

1.查看防火墙是否开启:

[root@app home]# firewall-cmd --state

2.设置防火墙(如果访问ip没有限制,就不需要添加-s ip地址):

[root@app home]# iptables -A INPUT -s 192.168.0.2 -p tcp --dport 111 -j ACCEPT
[root@app home]# iptables -A INPUT -s 192.168.0.2 -p udp --dport 111 -j ACCEPT
[root@app home]# iptables -A INPUT -s 192.168.0.2 -p tcp --dport 2049 -j ACCEPT
[root@app home]# iptables -A INPUT -s 192.168.0.2 -p udp --dport 2049 -j ACCEPT
[root@app home]# iptables -A INPUT -s 192.168.0.2 -p tcp --dport 30001:30004 -j ACCEPT
[root@app home]# iptables -A INPUT -s 192.168.0.2 -p udp --dport 30001:30004 -j ACCEPT
[root@app home]# service iptables save

tips:
在centos7中用iptables命令配置完策略规则后,需要保存策略永久生效,执行service iptables save时提示:

[root@app home]# service iptables save
The service command supports only basic LSB actions (start, stop, restart, try-restart, reload, force-reload, status). For other actions, please try to use systemctl.

解决方法:

[root@app home]# systemctl stop firewalld
[root@app home]# systemctl mask firewalld
#安装iptables services
[root@app home]# yum install iptables-services
#设置开机启动
[root@app home]# systemctl enable iptables
#重启iptables service
[root@app home]# systemctl restart iptables
#执行保存配置命令
[root@app home]#service iptables save


Client端IP:192.168.0.2

1.客户端服务器也需要安装nfs 和 rpcbind 服务,参考服务端,启动,检查服务是否正常。
[root@app home]# service rpcbind start
[root@app home]# service nfs start  
[root@app home]# service rpcbind status  
[root@app home]# service nfs status 
2.显示NFS服务器共享目录列表
[root@app home]# showmount -e 192.168.0.1

Export list for192.168.10.1:
/home/adam/static 192.168.0.2

[root@app home]# showmount #显示NFS客户端信息
[root@app home]# showmount 192.168.0.1  #显示指定NFS服务器连接NFS客户端的信息
[root@app home]# showmount -e #显示输出目录列表
[root@app home]# showmount -e 192.168.1.1 #显示NFS服务器共享目录列表
[root@app home]# showmount -d #显示被挂载的共享目录
[root@app home]# showmount -a #显示客户端信息和共享目录
[root@app home]# showmount -a 192.168.1.1 #显示指定NFS服务器的客户端信息和共享目录
3.创建挂载目录
[root@app adam]# mkdir static
4.挂载服务端的共享目录
[root@app adam]# mount -t nfs -o nolock,nfsvers=3,vers=3 192.168.0.1:/home/adam/static /home/adam/static

查看挂载的状态

[root@app adam]# mount | grep nfs

sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
nfsd on /proc/fs/nfsd type nfsd (rw,relatime)
192.168.0.1:/home/adam/static on /home/adam/static type nfs (rw,relatime,vers=3,rsize=1048576,wsize=1048576,namlen=255,hard,nolock,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168.0.1,mountvers=3,mountport=30003,mountproto=udp,local_lock=all,addr=192.168.0.1)

4.1.设置客户端开机自动挂载服务端NFS服务(这种方式可能失败,使用7.nfs开机自动挂载方法
[root@app adam]# vi /etc/fstab
192.168.0.1:/home/adam/static        /home/adam/static     nfs     defaults        0       0
5.测试
[root@app adam]# cd static
[root@app static]# ll #可以看到服务端共享目录中文件
6.开机启动NFS服务
[root@app adam]# systemctl list-unit-files | grep nfs
proc-fs-nfsd.mount                            static  
var-lib-nfs-rpc_pipefs.mount                  static  
nfs-blkmap.service                            disabled
nfs-config.service                            static  
nfs-idmap.service                             static  
nfs-idmapd.service                            static  
nfs-lock.service                              static  
nfs-mountd.service                            static  
nfs-rquotad.service                           disabled
nfs-secure.service                            static  
nfs-server.service                            disabled
nfs-utils.service                             static  
nfs.service                                   disabled#开机不启动
nfslock.service                               static  
nfs-client.target                             enabled
[root@app adam]# ll #systemctl enable nfs

rpcbind不需要开机启动

[root@app adam]# systemctl list-unit-files | grep rpcbind
rpcbind.service                               indirect#间接启动(无法编辑)
rpcbind.socket                                enabled 
rpcbind.target                                static  
7.nfs开机自动挂载
#系统服务未完全启动,挂载会失败,在系统启动以后,再挂载
[root@app adam]# vi /etc/rc.local
#添加
sleep 30
mount -t nfs 192.168.0.1:/home/adam/static /home/adam/static
#赋予可执行权限
[root@app adam]# chmod +x /etc/rc.local

查看是否挂载上

[root@app adam]# df -h
文件系统                                  容量  已用  可用 已用% 挂载点
/dev/vda1                                  79G  1.8G   74G    3% /
devtmpfs                                  3.9G     0  3.9G    0% /dev
tmpfs                                     3.9G     0  3.9G    0% /dev/shm
tmpfs                                     3.9G  8.4M  3.9G    1% /run
tmpfs                                     3.9G     0  3.9G    0% /sys/fs/cgroup
192.168.0.1:/home/adam/static   79G  1.9G   74G    3% /home/adam/static
tmpfs                                     799M     0  799M    0% /run/user/0

你可能感兴趣的:(NFS)