nfs服务器的搭建、配置及监控

版权声明:Don't trouble trouble until trouble troubles you. https://blog.csdn.net/JOJOY_tester/article/details/85699589

NFS介绍

nfs主要功能是通过网络让不同机器操作系统之间可以共享文件和目录,nfs服务器允许nfs客户端将远端nfs服务器的共享目录挂载到本地的nfs客户端中。

在本地的nfs客户端的机器看来,nfs服务端共享的目录就好像自己的磁盘分区和目录一样,一般客户端挂在到本地目录的名字可以随便起,但为了方便管理一般要和nfs服务端一样比较好。

nfs一般用来存储视频、图片等静态资源。

提示:   1.配置NFS服务端后,不用重启NFS服务,只要使用exportfs -rv

          2.rpc主程序Centos5.8下为portmap 、Centos6.4和Centos7下为rpcbind

          3.NFS共享目录不要授权于777权限,可以改所属主和组为nfsnobody,因为nfsnobody权限不是很大,也不能登陆

一、nfs服务端配置

1.安装rpcbind和nfs-utils

[root@centos7 ~]# cat /etc/redhat-release

CentOS Linux release 7.5.1804 (Core)

[root@centos7 ~]# rpm -qa nfs-utils

[root@centos7 ~]# rpm -qa nfs-utils

[root@centos7 ~]# rpm -qa rpcbind

[root@centos7 ~]# yum install rpcbind

[root@centos7 ~]# yum install nfs-utils

2.启动rpcbind:

[root@centos7 ~]# systemctl status rpcbind

[root@centos7 ~]# systemctl start rpcbind

3.查看rpc:

4.查看nfs服务向rpc注册的端口信息:

5.把rpcbind加入开启自启动:

6.启动nfs-utils:

7.把nfs服务加入开机自启动:

8.授权nfsnobody于/nfsdata让客户端挂载后可写可读

#mkdir /nfsdata

# chown nfsnobody:nfsnobody /nfsdata/

9.配置nfs服务

编辑nfs的配置文件:

/etc/exports默认是空的,这个是nfs的配置文件。

echo "/nfsdata/bbs/ 192.168.1.1/24(rw,sync,all_squash,anonuid=65534,anongid=65534)" >> /etc/exports

###生产环境中常用的一种配置,适合多客户端共享一个NFS目录。All_squash 也就是说不管客户端是以什么样的身份来进行访问的,都会被压缩成为all_squash后面所接的用户和群组身份。这边用anonuid、anongid编号来标示。

10.编辑nfs配置文件不需要重新启动nfs服务:

[root@centos7 etc]# exportfs -rv

exporting 192.168.1.1/24:/nfsdata/bbs

备注:

exportfs:NFS服务端发布共享控制命令。

-r:表示重新刷新共享。

-a:表示将配置文件/etc/exports中的所有定义共享发布出去。

-v:显示确认共享设置。

-u:表示不发布共享

11.查看nfs服务端挂载情况:

[root@centos7 etc]# showmount -e localhost

Export list for localhost:

/nfsdata/bbs 192.168.1.1/24

说明:

1、另外可以通过man exports查阅exports参数说明。

2、当我们nfs配置好之后,我们可以通过cat /var/lib/nfs/etab来查看,nfs配置的参数。并且这个目录很重要。/var/lib/nfs/rmtab从这个文件中我们可以看到,有哪些客户端挂载了nfs共享目录。这个两个文件是比较重要的。

etab这个文件能看到服务器上共享了哪些目录,执行哪些人可以使用,并且设定的参数为何。

rmtab这个文件就是能够查看到共享目录被挂载的情况。

二、客户端配置

客户端不需要使用启动nfs服务,需要安装rpc服务并启动,安装nfs服务是为了使用showmount -e 命令

1.client安装rpcbind服务:

[root@localhost ~]# rpm -qa | grep rpcbind

[root@localhost ~]# rpm -qa | grep nfs

[root@localhost ~]# yum install rpcbind -y

已加载插件:fastestmirror

Determining fastest mirrors

2.把rpcbind加入开机自启动

3.启动rpcbind:

4.客户端创建挂载目录:(目录最好和服务端的一样)

[root@localhost ~]# mkdir -pv /nfsdata/

mkdir: 已创建目录 "/nfsdata"

mkdir: 已创建目录 "/nfsdata/"

5.扫描NFS服务器的文件共享列表

[root@localhost ~]# showmount -e 192.168.1.214

clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)

上面这个原因是服务器的firewalld对111端口做了限制!!

测试:

服务器关闭防火墙后:

[root@centos7 etc]# systemctl stop firewalld

三、把服务器的目录挂载到客户端 的目录下

一般来说当nfs服务器提供的只是普通数据(图片html,css,jss,视频等)应该不需要执行suid,exec等权限,由于是共享目录不存在设备所以也不存在挂载设备dev,因此在客户端挂载的时候,可以加上给你这几个命令挂载

[root@localhost /]# mount -t nfs -o nosuid,noexec,nodev,rw 192.168.1.214:/nfsdata/bbs /nfsdata/bbs

优化mount:

mount -t nfs -o nosuid,noexec,nodev,rw,hard,intr,rsize=32768,wsize=32768 192.168.1.214:/nfsdata/bbs /nfsdata/bbs

四、数据测试

新建文件夹、写数据

五、配置客户端开机自动挂载nfs共享目录

[root@localhost bbs]# chmod +x /etc/rc.d/rc.local #centos7要给rc.local赋予可执行的权限后才能生效。

[root@localhost bbs]# ll /etc/rc.local

lrwxrwxrwx. 1 root root 13 7月 27 16:17 /etc/rc.local -> rc.d/rc.local

追加加一行mount命令:

[root@localhost ~]# echo "mount -t nfs -o nosuid,noexec,nodev,rw 192.168.1.214:/nfsdata/bbs /nfsdata/bbs" >> /etc/rc.local

六、卸载挂载点

<1>正常卸载

#umount /local/dir   正常的卸载命令来卸载。

<2>umoutn提示busy错误

如何卸载nfs挂载点通过umount  /local/dir来进行卸载。如果本地中有用户还在这个挂载点中,那么会提示这个挂载点繁忙busy。我们需要先让本地退出这个挂载点,然后再重新进行卸载。而如果有其他用户在使用,同样也是需要用户退出之后这个挂载目录才能进行卸载。

或者进行强制卸载:umount –lf   /local/dir 来进行强制卸载。

七、客户端mount挂载优化

八、zabbix监控nfs

服务端:

nfs主进程是否存在?

rpcbind主进程是否存在?

客户端:

rpcbind主进程是否存在?

挂载的服务端目录是否存在?

【安全问题】因为使用的是其他运营商的云服务器,如果配置了IP端,其他人使用这个运营商的服务器刚好是这个IP段,别人也可以mount 这个目录,不安全。

思路:

将IP段换成主机名或一个固定域名,服务端使用绑定host、dns域名解析我们自己租用的服务器IP即可。

1.rpc监听端口固定是111,监听的IP段需要限制

2.指定域名的主机: 主机名

nfs配置文件:/nfsdata/bbs/ 主机名(rw,sync,all_squash,anonuid=65534,anongid=65534)

在/etc/hosts中绑定该域名的IP:

clientIp1 主机名

clientIp2 主机名

clientIp3 主机名

一个域名绑定多个IP,host.conf中需要multi on

=====》〉》

服务端:

vim /etc/exports

猜你喜欢

转载自blog.csdn.net/JOJOY_tester/article/details/85699589