NFS简介:NFS可以实现异构网络上共享和装配远程文件系统,其最大功能是可以通过网络让不同操作系统的计算机共享数据,NFS在传送信息时,会使用一个称为“远程过程调用(remote procedure call RPC)”的协议来协助NFS服务器的运行。
RPC简介:因为NFS支持的功能多,会使用不同的程序来启动,使得NFS没有对应的国定的端口,这样客户端便无法知道服务端的NFS的端口号(因为客户端需要知道服务端的相关服务的端口才能联机),这时就需要使用“远程过程调用服务”RPC。
当NFS服务器启动时,会自动随机选用多个端口(小于724),并且主动向RPC注册,所以RPC会知道每个端口对应的NFS 的功能。然后RPC使用固定的端口111来监听客户端的请求,并且回报给客户端的正确的服务端的端口。注意:在启动NFS之前需要先启动RPC;否则NFS会无法向RPC注册。另外重新启动RPC会导致原有的注册数据会消失,因此重新启动RPC后,有RPC管理的所有的程序都需要重新启动来想RPC重新注册。
1、 安装配置之前需要了解的知识:NFS服务器的运行,需要启动相关的守护进程包括inet、rpcbind、nfs、mount这4个进程。 NFS 的配置文件 /etc/exports
做好上面的准备工作之后,接下来就是安装配置NFS了
2、安装软件包(在这里使用本地yum源来安装)(在这里由于centos7的版本不同,可能需要安装的软件包也不同,如果下面的命令出错,则可以使用rpm 来安装,直接安装软件包就好了rpm -ivh nfs-utils******.rpm)
yum install -y nfs-utils nfs-utils-lib
3、编辑配置文件
vim /etc/exports
第一行的解释: /public 目录允许192.168.11.0/24网段的用户读写。
/public 可以挂载的目录,需要自己提前创建,不然开启服务的时候会出错
第二行的解释:/mnt目录允许所有用户访问,但不能写入。
4、启动服务,记住顺序不能乱
5、关掉SELinux
setenforce 0 //临时关闭SELinux
6、配置防火墙
firewall-cmd --permanent --add-port=111/tcp //开启rpc的tcp端口
firewall-cmd --permanent --add-port=2049/tcp //开启nfs的tcp端口
firewall-cmd --permanent --zone=public --add-service=nfs //开启nfs服务
firewall-cmd --reload //重新加载
7、在本机上进行测试,出现如下图所示,就OK了
showmount -e 172.24.11.40
8、接下来就可以使用mount命令来进行挂载了。注意格式。如下图所示即为挂载成功。当然mount还有很多的使用方法,-h和man是最好的解决方法,要是还不会,就自己百度去。
mount -t nfs 172.24.11.40:/public /mnt/cdrom
如果想要卸载NFS网络文件系统,使用umount命令就好了,具体的使用方法自行百度去。这里举个例子,就上面的例子来说,要卸载文件系统的话,使用如下命令。
umount /mnt/cdrom
如果无法正确关闭NFS服务,可以使用netstat -tlunp 命令来找出进程的PID,然后使用kill来杀死进程。