博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NFS介绍,NFS服务端安装配置,NFS配置选项
阅读量:6831 次
发布时间:2019-06-26

本文共 1413 字,大约阅读时间需要 4 分钟。

hot3.png

NFS介绍

  • NFS是Network File System的缩写;这个文件系统是基于网路层面,通过网络层面实现数据同步

  • NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导开发,目前最新为4.1版本

  • NFS数据传输基于RPC协议,RPC为Remote Procedure Call的简写

  • NFS应用场景是:A,B,C三台机器上需要保证被访问到的文件是一样的,A共享数据出来,B和C分别去挂载A共享的数据目录,从而B和C访问到的数据和A上的一致

NFS架构

004054_d2XP_3708406.png

NFS原理图

004347_w0Ea_3708406.png

服务端的NFS服务监听一个端口通过RPC协议监听的端口,再去告诉客户端RPC协议,然后NFS客户端通过本机的RPC端口回传数据信息到服务端NFS监听的端口,最终实现通信

NFS服务需要借助RPC协议实现通信

NFS服务端安装配置

  • yum install -y nfs-utils rpcbind
  • vim /etc/exports //加入如下内容

/home/nfstestdir 192.168.133.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)

  • 保存配置文件后,执行如下准备操作
  • mkdir /home/nfstestdir
  • chmod 777 /home/nfstestdir
  • systemctl start rpcbind
  • systemctl start nfs
  • systemctl enable rpcbind
  • systemctl enable nfs

准备两台虚拟机,一台作为服务端,一台作为客户端。

分别查看服务端和客户端的IP地址

075849_RP5U_3708406.png

075910_NqUW_3708406.png

在服务端上安装两个包,分别为 nfs-utils 和 rpcbind

080029_qrrS_3708406.png

在客户端上安装nfs-utils 包

080058_TXcO_3708406.png

安装完成后,编辑文件/etc/exports,添加一行内容,保存退出

081039_Gqyr_3708406.png

081156_cFE4_3708406.png

创建目录并设定777权限

081307_ou8u_3708406.png

查看服务端和客户端监听的端口

081439_dynl_3708406.png

082526_TFNZ_3708406.png

启动NFS服务并查看

082549_95wA_3708406.png

082641_8g2m_3708406.png

设置开机启动

082859_FMB6_3708406.png

NFS配置选项

  • rw 读写
  • ro 只读
  • sync 同步模式,内存数据实时写入磁盘,相应的就会降低磁盘效率
  • async 非同步模式,它会每隔一段时间才会将数据刷新到磁盘
  • no_root_squash 客户端挂载NFS共享目录后,root用户不受约束,权限很大
  • root_squash 与上面选项相对,客户端上的root用户收到约束,被限定成某个普通用户
  • all_squash 客户端上所有用户(包括root用户)在使用NFS共享目录时都被限定为一个普通用户
  • anonuid/anongid 和上面几个选项搭配使用,定义被限定用户的uid和gid

客户端挂载NFS,查看客户端是否有权限

083535_NKPn_3708406.png

出现报错,无法与192.168.133.130通信,是由于防火墙导致的,需要关闭防火墙

关闭防火墙

083838_j0MJ_3708406.png

084144_lbui_3708406.png

再查看NFS客户端是否有权限

084206_1Mx2_3708406.png

共享的目录是/home/nfstestdir

在客户端上挂载并查看

084741_zyN1_3708406.png

在客户端共享的目录下创建文件并查看

085250_47Pn_3708406.png

到服务端上查看

085205_6jHJ_3708406.png

一旦挂载了NFS的共享目录,不管用哪一个用户来操作,都会用以1000uid和1000gid的用户反映过来。

客户端用户显示aming,而服务端用户显示mysql,是因为NFS上限定了用户。

转载于:https://my.oschina.net/u/3708406/blog/1608059

你可能感兴趣的文章
objective-c中的方法重载
查看>>
原创:SecureCRT连接linux终端颜色配置
查看>>
<Hibernate> OpenSession 和getCurrentSession 的一些区别
查看>>
Ace Admin改造
查看>>
PHP Memcache配置
查看>>
Centos 7.3 内网时间同步设置
查看>>
nginx的启动、重启
查看>>
右键文本文档消失——解决办法
查看>>
spring源码剖析之Spring Security安全框架
查看>>
开启关闭mysql函数功能
查看>>
运行Perl程序
查看>>
php中出现问题Call to undefined function curl_init()
查看>>
Git常用命令
查看>>
maven update project 会自动引用JAVASE1.5的问题解决办法
查看>>
Android自定义控件(一)自绘控件
查看>>
【自用】Android 得到全屏+屏幕分辨率 + (AppCompatActivity去标题栏)
查看>>
MYSQL关联查询(PHP)
查看>>
使用Log4j
查看>>
分布式日志收集框架Flume 部署说明
查看>>
string to float
查看>>