一、NFS是什么?

1.NFS介绍

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

NFS网络文件系统类似windows系统的网络共享、安全功能、网络驱动器映射,这也和linux系统里的samba服务类似。应用于互联网中小型集群架构后端作为数据共享,如果是大型网站,那么有可能还会用到更复杂的分布式文件系统,例如Moosefs(mfs)、glusterfs、FastDFS。

2.使用场景

在企业集群架构的工作场景中,NFS网络文件系统一般被用来存储共享视频、图片、附件等静态资源文件。一般是把网站用户上传的文件都放在NFS共享里,例如,BBS产品的图片、附件、头像,注意网站BBS程序不要放在NFS共享里,然后前端所有的节点访问存储服务之一,特别是中小网站公司应用频率更高。

二、安装部署

1.检查服务器中是否有nfs服务所需软件包

[root@localhost ~]# rpm -aq |grep nfs-utils
nfs-utils-1.3.0-0.61.el7.x86_64
[root@localhost ~]# rpm -aq |grep rpcbind
rpcbind-0.2.0-47.el7.x86_64
[root@localhost ~]#

2.检查相关服务状态并启动nfs服务

[root@localhost ~]# systemctl is-enabled  rpcbind
enabled
[root@localhost ~]# systemctl enable nfs-server #设置开机启动
Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.
[root@localhost ~]# systemctl start nfs-server #启动nfs服务

3.相关命令

exportfs    管理NFS共享文件系统列表
         -a  发布或取消所有共享目录的共享
         -r  重新挂载/etc/exports里面的共享目录
         -u  取消一个或多个目录的共享
         -v  输出详细信息
         -o  指定一系列共享选项
showmount   可以在server/client上使用此命令来查看
        -a  以host:dir格式显示客户主机名和挂载点目录
        -d  仅显示被客户挂载的目录名
        -e  --exports

三、NFS共享实例

需求

  • 新建目录
  • 以只读的方式共享目录/test1,只能被192.168.2.0网段中的系统访问
  • 以读写的方式共享目录/test2,只能被192.168.2.0网段中的系统访问

实验环境

两台安装了Cent0S7的主机,关闭selinux和防火墙

  • NFS server:localhost IP:192.168.2.128
  • NFS client :client IP:192.168.2.129

1.服务端

[root@localhost ~]# mkdir /test1       #创建共享目录
[root@localhost ~]# mkdir /test2
[root@localhost ~]# chmod  757  /test2  #题目要求其他人可写,给757权限
[root@localhost ~]# vim  /etc/exports
[root@localhost ~]# cat  /etc/exports  #修改配置文件
/test1  192.168.2.0/24(ro)
/test2  192.168.2.0/24(rw)
[root@localhost ~]# systemctl restart nfs-server #启动服务
[root@localhost ~]#

2.客户端

#查看挂载
[root@client ~]# showmount -e 192.168.2.128
Export list for 192.168.2.128:
/test2 192.168.2.0/24
/test1 192.168.2.0/24
#建立挂载点
[root@client ~]# mkdir  /mnt/test1
[root@client ~]# mkdir  /mnt/test2
#挂载NFS服务器共享目录
[root@client ~]# mount 192.168.2.128:/test1  /mnt/test1
[root@client ~]# mount 192.168.2.128:/test2  /mnt/test2
#验证挂载
[root@client ~]# df -Th
#测试读写权限
[root@client ~]# touch  /mnt/test1/haha
touch: 无法创建"/mnt/test1/haha": 只读文件系统
[root@client ~]# touch  /mnt/test2/haha
[root@client ~]# ll /mnt/test2/haha
-rw-r--r-- 1 nfsnobody nfsnobody 0 9月  13 19:02 /mnt/test2/haha

有关CensOS7中NFS服务器的搭建部署就完成啦,有不对的地方欢迎大家留言指正~


总结


以上就是关于nfs安装部署的内容,本文仅仅简单介绍了nfs的使用。