14.3 NFS配置选项

NFS配置选项

  • rw 读写
  • ro 只读
  • sync 同步模式,内存数据实时写入磁盘,相应的就会降低磁盘效率
  • async 非同步模式,它会每隔一段时间才会将数据刷新到磁盘
    • 优势:能够保证磁盘的效率
    • 劣势:万一断电,就会有可能丢失一部门数据
  • no_root_squash 客户端挂载NFS共享目录后,root用户不受约束,权限很大
    • NFS,要想在客户端上去使用服务端上共享的目录,需要去把它挂载到客户端上的一个挂载点,那就跟本地上的目录是一样的,在操作本地的目录时候,肯定会有一些权限设置,如果加上no_root_squash,这样root用户去共享目录下读写文件的时候,就不会受到限制(就相当于root用户在本地上读写)
  • root_squash 与上面选项相对,客户端上的root用户收到约束,被限定成某个普通用户
  • all_squash 客户端上所有用户(包括root用户)在使用NFS共享目录时都被限定为一个普通用户
  • anonuid/anongid 和上面几个选项搭配使用,定义被限定用户的uid和gid

客户端上挂载

  1. 首先在客户端B机器上安装了rpcbind,它是由nfs-utils 这个包自动安装的
 yum install -y nfs-utils
  1. 在B机器上安装完成后不需要启动任何服务
  2. 在B机器上执行 showmount -e 命令
  • showmount -e 192.168.74.129 //查看在NFS服务端是否有权限
    • 该ip为NFS服务端ip
[root@hf-02 ~]# showmount -e 192.168.74.129
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)
[root@hf-02 ~]# 
  1. 这时候会看到报错了,RPC: Port mapper failure说明网络不通,无法与192.168.74.129端口通信
  • 不能通信的两种情况
    • 要么是对方没有开启rpcbind的服务,没有监听111端口
    • 要么是防火墙导致的原因
  1. 因为之前在服务端已经开启了rpcbind服务,那这时只能说明是防火墙导致的,所以要想让NFS实现正常的通信,还需要把防火墙关闭,因为NFS服务比较特殊,虽然rpc可以通信,就算iptables把111端口放行但NFS也不一定能正常通信,因为它们使用了一个不固定的端口
  2. 这时先把A机器服务端和B机器客户端,防火墙关闭,命令systemctl stop firewalld
A机器关闭防火墙
[root@hf-01 ~]# systemctl stop firewalld
[root@hf-01 ~]# getenforce
Disabled
[root@hf-01 ~]# 

B机器关闭防火墙
[root@hf-02 ~]# systemctl stop firewalld
[root@hf-02 ~]# 
[root@hf-02 ~]# getenforce
Enforcing
[root@hf-02 ~]# setenforce 0
[root@hf-02 ~]# getenforce
Permissive
[root@hf-02 ~]# 
  1. 这时再去B机器客户端来showmount -e 192.168.74.129 ,这时会看到可以能show到远程服务端192.168.74.129这台机器,它共享的目录是/home/nfstestdir
[root@hf-02 ~]# showmount -e 192.168.202.130
Export list for 192.168.74.129:
/home/nfstestdir 192.168.74.0/24
[root@hf-02 ~]# 
  1. 这时候在B机器客户端上来挂载了,然后查看——>挂载的时间可能有点慢
[root@hf-02 ~]#  mount -t nfs 192.168.74.129:/home/nfstestdir /mnt/
[root@hf-02 ~]# df -h
文件系统                         容量  已用  可用 已用% 挂载点
/dev/sda3                         18G  873M   17G    5% /
devtmpfs                         489M     0  489M    0% /dev
tmpfs                            494M     0  494M    0% /dev/shm
tmpfs                            494M   13M  481M    3% /run
tmpfs                            494M     0  494M    0% /sys/fs/cgroup
/dev/sda1                        197M   75M  122M   39% /boot
192.168.74.129:/home/nfstestdir   18G  7.4G   11G   42% /mnt
[root@hf-02 ~]# 
  1. 这个就是远程NFS服务端共享的目录
  2. 这时到B机器客户端共享的目录下创建文件
[root@hf-02 ~]# cd /mnt/
[root@hf-02 mnt]# ls
[root@hf-02 mnt]# touch aminglinux.111
[root@hf-02 mnt]# ls -l
总用量 0
-rw-r--r--. 1 1000 1000 0 8月  24 00:34 aminglinux.111
[root@hf-02 mnt]#
  1. 到A机器的服务端查看,可以看到文件的属主和属组都为1000
[root@hf-01 ~]# ls -l /home/nfstestdir/
总用量 0
-rw-r--r-- 1 mysql mysql 0 8月  24 00:34 aminglinux.111
[root@hf-01 ~]# 
  • 原因是配置 /etc/export 文件时,配置了anonuid=1000,anongid=1000
  • 客户端显示 1000 用户 是因为客户端机器上并没有1000权限的用户
  • 同样,服务端显示mysql,是因为服务端上的机器mysql 就是1000权限的用户

总结

  • 在/etc/exports文件中的/home/nfstestdir 192.168.74.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000) ,其中ip与(rw之间不能有空格, 否则客户端挂载的目录会变成只读..

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Linyb极客之路

Nginx服务实现动静分离

1302
来自专栏云计算教程系列

如何在Ubuntu 18.04上安装和配置GitLab

GitLab CE或Community Edition是一个开源应用程序,主要用于托管Git存储库,以及其他与开发相关的功能,如问题跟踪。它旨在使用您自己的基础...

2.2K1
来自专栏linux驱动个人学习

高通GPIO驱动(DTS方式)

gpio调试的方式有很多,linux3.0以上ARM架构的处理器基本上都采用了DTS的方式,在linux3.0可以通过获取sysfs的方式来获取gpio状态; ...

5354
来自专栏PHP在线

Cookie与Session问答

1.Cookie运行在客户端,Session运行在服务器端,对吗?

2085
来自专栏编程心路

win10 下配置 PHP 独立开发环境总结

Apache 的官网上是不能下载 Apache 服务器的安装包的,只提供 Apache 的源码,下载下来需要用 VC++ 重新编译一下,并且还要配置不少东西(心...

1394
来自专栏云计算教程系列

如何在Ubuntu 16.04上安装Nginx

Nginx是世界上最受欢迎的网络服务器之一,负责托管互联网上一些规模最大,流量最高的网站。在大多数情况下,它比Apache更加资源友好,可以用作Web服务器或反...

5430
来自专栏hrscy

记录网站诞生过程-使用hexo+github pages

此博客记录了搭建网站的详细过程,以及建站过程中遇到的一些坑。博客介绍了安装homebrew,nodejs,hexo,域名注册,github设置,DNS解析等过程...

1073
来自专栏张首富-小白的成长历程

​HTTP连接

HTTP协议即超文本传送协议(Hypertext Transfer Protocol ),是Web联网的基础,也是手机联网常用的协议之一,HTTP协议是建立在T...

1753
来自专栏技术博文

常用Linux命令

uname -a # 查看内核/操作系统/CPU信息 head -n 1 /etc/issue # 查看操作系统版本 cat /proc/cpuinfo #...

3288
来自专栏我是攻城师

关于elaticsearch中更新数据的几种方式

3545

扫码关注云+社区

领取腾讯云代金券