14.3 NFS配置选项
时间:2022-04-27
本文章向大家介绍14.3 NFS配置选项,主要内容包括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
客户端上挂载
- 首先在客户端B机器上安装了rpcbind,它是由nfs-utils 这个包自动安装的
yum install -y nfs-utils
- 在B机器上安装完成后不需要启动任何服务
- 在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 ~]#
- 这时候会看到报错了,RPC: Port mapper failure说明网络不通,无法与192.168.74.129端口通信
- 不能通信的两种情况
- 要么是对方没有开启rpcbind的服务,没有监听111端口
- 要么是防火墙导致的原因
- 因为之前在服务端已经开启了rpcbind服务,那这时只能说明是防火墙导致的,所以要想让NFS实现正常的通信,还需要把防火墙关闭,因为NFS服务比较特殊,虽然rpc可以通信,就算iptables把111端口放行但NFS也不一定能正常通信,因为它们使用了一个不固定的端口
- 这时先把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 ~]#
- 这时再去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 ~]#
- 这时候在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 ~]#
- 这个就是远程NFS服务端共享的目录
- 这时到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]#
- 到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之间不能有空格, 否则客户端挂载的目录会变成只读..
- 简单易学的机器学习算法——主成分分析(PCA)
- 基于Xgboost + LR + Keras 建模评估用户信用状态
- canvas实现拖动页面时显示窗口视频
- 鼠标滚轮事件介绍
- Understanding delete
- objC与js通信实现--WebViewJavascriptBridge
- 简单易学的机器学习算法——岭回归(Ridge Regression)
- QQ空间(日志、说说、个人信息)python爬虫源码(一天可抓取 400 万条数据)
- 文本分类实战: 机器学习vs深度学习算法对比(附代码)
- ReactJS分析之入口函数render
- 简单易学的机器学习算法——SVD奇异值分解
- AngularJS源码分析之依赖注入$injector
- 使用yield进行异步流程控制
- 【Java提高十七】Set接口集合详解
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 【Python爬虫】写一个爬取中国天气网的终端版天气预报爬虫
- 如何制定企业级代码规范与检查
- 哈希表:可以拿数组当哈希表来用,但哈希值不要太大!
- 【Python】Scrapy爬虫入门(一)Scrapy的基本用法和爬取静态网站
- 【动手学深度学习笔记】之读取和存储
- 据说这才是看热搜的正确方法?
- Ubuntu18.04安装Anaconda3和VSCode指南
- 微信小程序里如何使用npm?小程序集成友盟举例
- 听说你的表情包不够用了?
- 【Python】Python爬虫爬取中国天气网(二)
- C#和sql连接实例
- 【Python】五分钟画一条动态心形曲线~
- 三步修改jupyter notebook主题和页面宽度
- “为了看星星,我自己做了一个行星观测器”
- Java生成报表数据图片