加入收藏 | 设为首页 | 会员中心 | 我要投稿 阜新站长网 (https://www.0418zz.cn/)- 基础存储、数据处理、视频终端、内容创作、网络安全!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

Linux之NFS

发布时间:2022-08-09 10:33:58 所属栏目:Linux 来源:互联网
导读:一、什么是NFS# 共享存储,文件服务器 1.1 基本概述# NFS是Network File System的缩写及网络文件系统。NFS主要功能是通过局域网络让不同的主机系统之间可以共享文件或目录。 NFS系统和Windows网络共享、网络驱动器类似, 只不过windows用于局域网, NFS用于企
  一、什么是NFS#
  共享存储,文件服务器
 
  1.1 基本概述#
  NFS是Network File System的缩写及网络文件系统。NFS主要功能是通过局域网络让不同的主机系统之间可以共享文件或目录。
  NFS系统和Windows网络共享、网络驱动器类似, 只不过windows用于局域网, NFS用于企业集群架构中, 如果是大型网站, 会用到更复杂的分布式文件系统FastDFS,glusterfs,HDFS,ceph
 
  2.2 为什么使用NFS#
  实现多台服务器之间数据共享
  实现多台服务器之间数据一致
  二、NFS应用#
  2.1 没有NFS时#
  A用户上传图片经过负载均衡,负载均衡将上传请求调度至WEB1服务器上;
  B用户访问A用户上传的图片,此时B用户被负载均衡调度至WEB2上,因为WEB2上没有这张图片,所以B用户无法看到A用户传的图片;
  img
 
  2.2 如果有NFS#
  A用户上传图片无论被负载均衡调度至WEB1还是WEB2, 最终数据都被写入至共享存储;
  B用户访问A用户上传图片时,无论调度至WEB1还是WEB2,最终都会上共享存储访问对应的文件,这样就可以访问到资源;
  img
 
  2.3 NFS原理#
  img
 
  用户访问NFS客户端,将请求转化为函数;
  NFS通过TCP/IP连接服务端;
  NFS服务端接收请求,会先调用portmap进程进行端口映射;
  Rpc.nfsd进程用于判断NFS客户端能否连接服务端;
  Rpc.mount进程用于判断客户端对服务端的操作权限;
  如果通过权限验证,可以对服务端进行操作,修改或读取;
  rpc.nfsd:它是基本的NFS守护进程,主要功能是管理客户端是否能够登录服务器;
 
  rpc.mount:主要功能是管理NFS的文件系统。当客户端顺利通过nfsd登录NFS服务器后,在使用NFS服务器所提供的文件前,还必须通过文件使用权限的验证,它会读取NFS的配置文件:/etc/exports来对比客户端权限。
 
  portmap:主要功能是进行端口映射工作。
 
  三、NFS实践#
  3.1 环境准备#
  主机 IP 角色
  web01 172.16.1.7 NFS客户端
  NFS 172.16.1.31 NFS服务端
  3.2 服务端(172.16.1.31)#
  关闭防火墙和selinux
 
  [root@nfs ~]# setenforce 0
 
  [root@nfs ~]# systemctl disable --now firewalld
  安装NFS和rpcbind
 
  [root@nfs ~]# yum install nfs-utils rpcbind -y
  注意:
 
  Centos6 需要安装rpcbind
  Centos7 默认已经安装好了rpcbind,并且默认是开机自启
 
  创建共享目录
 
  [root@nfs ~]# mkdir /data
  配置NFS
 
  #NFS默认的配置文件是:/etc/exports
 
 
 
 
 
  #配置NFS
 
  [root@nfs ~]# vim /etc/exports
 
  /data 172.16.1.0/24(rw,sync,all_squash)
  语法 /data 172.16.1.0/24 (rw,sync,all_squash)
  含义 NFS服务端共享的目录 NFS允许连接的客户端IP网段 允许操作的权限
  启动服务(Centos7中启动)
 
  [root@nfs ~]# systemctl start nfs-server rpcbind
  验证NFS配置
 
  showmount -e [服务端的地址,默认是本机地址]
 
  eg:
 
  [root@nfs ~]# showmount -e
 
  Export list for nfs:
 
  /web/nfsv1 172.16.1.0/20
 
 
 
  cat /var/lib/nfs/etab
 
  eg:
 
  [root@nfs ~]# cat /var/lib/nfs/etab
 
  /data   172.16.1.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,rw,secure,root_squash,all_squash)

(编辑:阜新站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读