NFS来搭建文件服务器

最近需要把项目中的文件分离出来,所以需要搭建一个单独的文件服务器,那文件服务器的部署方案有很多,比如可以用阿里云的OSS , 或者可以选择开源的方案 oss-server, 或者自已搭建NFS服务,即网络文件系

一、 为什么用NSF

  • 统一存储和管理文件,如果有多个系统,可以把各个系统中的文件统一存储到文件服务器

  • 节省本地存储空间

  • 使用方便,客户端系统只需要挂载即可使用,客户端和文件通过网络传输

  • 部署简单

二、缺点:

  • NFS存在单点隐患,如果nfs挂了整个客户端都访问不了(不过可以搭建集群)

  • 高并发性能有限

  • 明文传输


二、NFS介绍:

  1. 作用 通过网络让不同操作系统的机器之间可以彼此共享文件和目录,nfs服务器可以允许nfs客户端将远端挂载到本地系统中,挂载之后,就好像是自己的磁盘和分区一样

  2. 传输

    nfs服务器端和客户端 是基于rpc协议来实现的,rpc服务会统一管理nfs的端口,客户端和服务器端通过rpc来请求,流程如下

  3. 先启动rpc服务(相当于中介)

  4. 启动nfs服务 (相当于房源),将随机端口注册到rpc中

  5. 客户端请求到rpc服务中,rpc把nfs实际端口和ip告诉客户端

  6. nfs客户端用获取到的端口和地址去请求服务挂载

四、安装

  • 环境说明 服务器操作系统: CentOS6.x ,7.x

  • nfs软件包: rpcbind 、nfs-utils

  • 安装服务器端需要都安装, 客户端只安装nfs-utils 即可

1 安装

#先查看是安装过
rpm -qa | grep nfs
rpm -qa | grep rpcbind
#未安装,继续执行以下的命令
yum -y install nfs-utils rpcbind

1 启动

启动时需要启动两个服务 rpc 和 nfs , 而且要按着先启动 rpc服务,在启动 nfs的顺序来启动,否则会启动不成功,因为nfs是没有固定端口的,是随机的端口,需要将随机的端口注册到rpc中在使用, rpc服务是用 111端口来监听

service rpcbind start
service nfs start
#查看是否安装成功
netstat -tlun | grep 111

五、编辑配置文件

配置文件是在 /etc/下, 全路径为: /etc/exports , 编辑此配置文件的作用就是设置共享的目录和客户端的权限,所以安装完成后首先应该编辑配置文件

vi /etc/exports  
#打开文件后,增加如下这知话
/data/lys 192.168.2.0/24(rw,no_root_squash,no_all_squash,sync)
#保存文件后,立即生效,不需要重启服务
exportfs -r
  • 配置文件共两列

  • 第一列: 要设置的共享的目录

  • 第二列: 问的主机或者网络及权限,可以是主机也可以是网络, 192.168.2.0/24 这是指一段网络上的计算机都可访问,可以指定单个主机如 192.168.2.3这台机器 , 要指定全部可以使用 *

  • 第二列小括号里的权限说明:

  • rw: read-write 可读写

  • ro: read-only 可读

  • sync: 文件同时写入硬盘和内存

  • no_root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。显然开启这项是不安全的。

  • root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,拥有匿名用户权限,通常他将使用nobody或nfsnobody身份;

  • all_squash:不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有匿名用户权限;

  • anonuid:匿名用户的UID值,通常是nobody或nfsnobody,可以在此处自行设定;

  • anongid:匿名用户的GID值。

六、挂载共享目录

如果到了这步,说明nfs已经安装成功了,但是如果nfs服务器端和客户端不是一台主机,需要给客户端单独的安装nfs-utils这个包,这里需要注意下

#命令1,查看rpc服务注册的情况 在服务器端上执行
rpcinfo -p localhost  
#命令2 ,测试是否可以连接,如果客户端是单独的,后台的localhost就要换成服务器端的ip
showmount -e localhost  
#客户端挂载,意思就是将192.168.1.174主机上的data目录以nfs文件系统挂载到当前主机上的data目录
mount -t nfs 192.168.1.174:/data /data 
#查看分区,会发现多了一个分区,说明挂载成功
df -TH 
#客户端卸载
umount /data


上一篇:没有了

下一篇:没有了

相关推荐

  • NFS来搭建文件服务器

    最近需要把项目中的文件分离出来,所以需要搭建一个单独的文件服务器,那文件服务器的部署方案有很多,比如可以用阿里云的OSS , 或者可以选择开源的方案 oss-s...

    Border circle luohua 2020-07-31 20:25:05 0 0 37

发表评论