NFS服务器

简介

NFS是Network File System的缩写,中文称为网络文件系统,它的主要功能是通过网络(一个局域网)让不同的主机系统之间可以共享文件或目录,NFS的客户端(一般为应用服务器,例如web)可以通过挂载(mount)的方式将NFS服务器共享的数据目录挂载到NFS客户端本地系统中(就是某一个关在点下),从客户端本地看,NFS服务器端共享目录就好像是客户端自己的磁盘分区或者目录一样,而实际上却是远端的NFS服务器的目录。

工作原理

因为NFS支持的功能相当多,而不同的功能都会使用不同的程序来启动,每启动一个功能就会启用一些端口来传输数据,因此NFS的功能对应的端口并不固定,客户端要知道NFS服务器端的相关端口才能建立连接进行数据传输,而RPC就是用来统一管理NFS端口的服务,并且统一对外的端口是111,RPC会记录NFS端口的信息,如此我们就能够通过RPC实现服务端和客户端沟通端口信息。PRC最主要的功能就是指定每个NFS功能所对应的port number,并且通知客户端,记客户端可以连接到正常端口上去。

在启动NFS SERVER之前,首先要启动RPC服务(即portmap或rpcbind服务,下同)否则NFS SERVER就无法向RPC服务区注册,另外,如果RPC服务重新启动,原来已经注册好的NFS端口数据就会全部丢失。因此此时RPC服务管理的NFS程序也要重新启动以重新向RPC注册。一般修改NFS配置文档后,是不需要重启NFS的,直接在命令执行/etc/init.d/nfs reload或exportfs –rv即可使修改的/etc/exports生效。

安装

[root@gw gohb]# yum -y instll nfs-utils rpcbind
#下载服务

nfs客户端 安卓 nfs客户端服务_nfs客户端 安卓

[root@gw gohb]# systemctl status rpcbind
 #查看服务状态

nfs客户端 安卓 nfs客户端服务_nfs客户端 安卓_02

[root@gw gohb]# systemctl start nfs
[root@gw gohb]# systemctl status nfs 
#查看服务是否正常启动

nfs客户端 安卓 nfs客户端服务_nfs客户端 安卓_03

[root@gw etc]# systemctl stop firewalld 
#关闭防火墙
[root@gw etc]# systemctl disable firewalld 
 #禁用防火墙
[root@gw etc]# getenforce 
#查看SELINUX状态,若为enforce则关闭

nfs客户端 安卓 nfs客户端服务_网络_04

[root@gw etc]# vi /etc/exports 
#配置NFS的规则
[root@gw etc]# cat /etc/exports
#分享/share/nfsDir文件,192.168.139.128具有读写权限,匿名为f5,其他用户仅读权限
[root@gw etc]# exportfs –ar 
#不用重启服务,配置文件就会生效
[root@localhost gohb]# cd /mnt/ 
[root@localhost mnt]# mkdir nfs
[root@localhost mnt]# mount 192.168.139.129:/share/nfsDir nfs 
#将192.168.139.129地址下 /share/nfsDir挂载到本地nfs
[root@localhost mnt]# df

nfs客户端 安卓 nfs客户端服务_安全_05

[root@localhost mnt]# showmount -e 192.168.139.129
Export list for 192.168.139.129:

nfs客户端 安卓 nfs客户端服务_网络_06

测试结果

nfs客户端 安卓 nfs客户端服务_centos_07