一、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的使用。