运维管理 ·

Linux NFS服务器的安装与配置

一、NFS服务简介

NFS 是Network File System的缩写,即网络文件系统。网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS. NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件,可以使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法。

NFS 的基本原则是“容许不同的客户端及服务端通过一组RPC分享相同的文件系统”,它是独立于操作系统,容许不同硬件及操作系统的系统共同进行文件的分享。

NFS在文件传送或信息传送过程中依赖于RPC协议。RPC,远程过程调用 (Remote Procedure Call) 是能使客户端执行其他系统中程序的一种机制。NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,这是因为NFS使用了一些其它的传输协议。而这些传输协议用到这个RPC功能的。可以说NFS本身就是使用RPC的一个程序。或者说NFS也是一个RPC SERVER。所以只要用到NFS的地方都要启动RPC服务,不论是NFS SERVER或者NFS CLIENT。这样SERVER和CLIENT才能通过RPC来实现PROGRAM PORT的对应。可以这么理解RPC和NFS的关系:NFS是一个文件系统,而RPC是负责负责信息的传输。使用模式: C/S 模式

二、系统环境

系统平台:CentOS release 7.3 (Final)
NFS Server IP:192.168.99.111
防火墙已开启
SELINUX=disabled

三、安装NFS服务

1、安装NFS
[root@work111 ~]# yum -y install nfs-utils
2、查看NFS是否安装成功
[root@work111 default]# rpm -qa|grep nfs
nfs-utils-1.3.0-0.33.el7_3.x86_64
libnfsidmap-0.25-15.el7.x86_64
3、添加NFS开机启动
[root@work111 ~]# systemctl enable nfs.service
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.
[root@work111 default]# systemctl list-dependencies|grep nfs.service   #查看服务是否添加成功

Linux NFS服务器的安装与配置-运维天涯

4、Centos 7 防火墙设置 6379,52111,5601,2049,15015,67,111,15018,20048 端口到防火墙中
[root@work111 ~]# firewall-cmd --permanent --zone=public --add-port=6379/tcp
[root@work111 ~]# firewall-cmd --permanent --zone=public --add-port=52111/udp
[root@work111 ~]# firewall-cmd --permanent --zone=public --add-port=5601/tcp
[root@work111 ~]# firewall-cmd --permanent --zone=public --add-port=2049/tcp
[root@work111 ~]# firewall-cmd --permanent --zone=public --add-port=2049/udp
[root@work111 ~]# firewall-cmd --permanent --zone=public --add-port=15015/tcp
[root@work111 ~]# firewall-cmd --permanent --zone=public --add-port=67/tcp
[root@work111 ~]# firewall-cmd --permanent --zone=public --add-port=111/tcp
[root@work111 ~]# firewall-cmd --permanent --zone=public --add-port=111/udp
[root@work111 ~]# firewall-cmd --permanent --zone=public --add-port=8730/tcp
[root@work111 ~]# firewall-cmd --permanent --zone=public --add-port=15018/tcp
[root@work111 ~]# firewall-cmd --permanent --zone=public --add-port=20048/tcp
[root@work111 ~]# firewall-cmd --permanent --zone=public --add-port=20048/udp
[root@work111 ~]# firewall-cmd --reload #重新加载防火墙
5、启动NFS服务器

启动 nfs 服务,注意启动顺序 先启动 rpcbind再nfs 服务

[root@work111 ~]# systemctl start rpcbind.service  
[root@work111 ~]# systemctl start nfs.service
[root@work111 ~]# netstat -anutlp|grep 2049
6、查看端口是否开放Linux NFS服务器的安装与配置-运维天涯
7、测试与远程RPC通道
NFS启动时会随机启动多个端口并向RPC注册,这样如果使用iptables对NFS端口进行限制就会有点麻烦,可以更改配置文件固定NFS服务相关端口。
[root@work111 default]# rpcinfo -p
   program vers proto   port  service
    100000    4   tcp    111  portmapper
    100000    3   tcp    111  portmapper
    100000    2   tcp    111  portmapper
    100000    4   udp    111  portmapper
    100000    3   udp    111  portmapper
    100000    2   udp    111  portmapper
    100024    1   udp  34493  status
    100024    1   tcp  15285  status
    100005    1   udp  20048  mountd
    100005    1   tcp  20048  mountd
    100005    2   udp  20048  mountd
    100005    2   tcp  20048  mountd
    100005    3   udp  20048  mountd
    100005    3   tcp  20048  mountd
    100003    3   tcp   2049  nfs
    100003    4   tcp   2049  nfs
    100227    3   tcp   2049  nfs_acl
    100003    3   udp   2049  nfs
    100003    4   udp   2049  nfs
    100227    3   udp   2049  nfs_acl
    100021    1   udp  18726  nlockmgr
    100021    3   udp  18726  nlockmgr
    100021    4   udp  18726  nlockmgr
    100021    1   tcp   8783  nlockmgr
    100021    3   tcp   8783  nlockmgr
    100021    4   tcp   8783  nlockmgr
8、分配端口,编辑配置文件:
[root@work111 ~]# vim /etc/sysconfig/nfs
添加:

#http://www.fooher.com
RQUOTAD_PORT=30001
LOCKD_TCPPORT=30002
LOCKD_UDPPORT=30002
MOUNTD_PORT=30003
STATD_PORT=30004

9、重启rpcbind和nfs:
[root@work111 ~]# /usr/bin/systemctl restart rpcbind.service
[root@work111 ~]# /usr/bin/systemctl restart nfs.service

三、服务器端配置如下:

[root@work111 ~]# vim /etc/exports

/data/centos/7.3.1611 (rw)
#或者指定机器访问,例如:
/data/centos/7.3.1611 192.168.99.0/24(rw)

注意启动顺序 先启动 rpcbind再 nfs 服务
[root@work111 ~]# systemctl restart rpcbind.service  
[root@work111 ~]# systemctl restart nfs.service

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

制作中....

评论已关闭