每天学五分钟 Liunx 111 | 存储篇:NFS
NFS
NFS 工作原理
NFS 部署
NFS 程序
[root@test home]# ps -ef | egrep "rpc|nfs"
root 487 2 0 Mar21 ? 00:00:00 [rpciod]
rpc 65293 1 0 Mar21 ? 00:00:00 /sbin/rpcbind -w
rpcuser 76183 1 0 Mar21 ? 00:00:00 /usr/sbin/rpc.statd --no-notify
root 152992 567813 0 18:43 pts/0 00:00:00 grep -E --color=auto rpc|nfs
root 757265 1 0 17:08 ? 00:00:00 /usr/sbin/rpc.idmapd
root 757267 1 0 17:08 ? 00:00:00 /usr/sbin/rpc.mountd
root 757272 2 0 17:08 ? 00:00:00 [nfsd4_callbacks]
root 757278 2 0 17:08 ? 00:00:00 [nfsd]
root 757279 2 0 17:08 ? 00:00:00 [nfsd]
root 757280 2 0 17:08 ? 00:00:00 [nfsd]
root 757281 2 0 17:08 ? 00:00:00 [nfsd]
root 757282 2 0 17:08 ? 00:00:00 [nfsd]
root 757283 2 0 17:08 ? 00:00:00 [nfsd]
root 757284 2 0 17:08 ? 00:00:00 [nfsd]
root 757285 2 0 17:08 ? 00:00:00 [nfsd]
NFS 配置文件
|
参数命令
|
参数作用
|
|
rw
|
可读写
|
|
ro
|
只读权限
|
|
sync
|
请求或写入数据时,数据会同步写入到服务端硬盘,再返回
|
|
no_root_squas
|
对于客户端用户 root 不压缩。即客户端 root 可以以 root 身份来访问文件
|
|
root_squash
|
对客户端用户 root 压缩,将 root 身份压缩为 nobody
|
|
all_squash
|
对客户端所用用户压缩,默认将用户身份压缩为用户 nobody 和用户组 nobody。
可指定压缩用户的身份,但是需要客户端和服务端都有该用户,否则无法访问
|
|
anonuid
|
匿名的 uid,说明客户端以什么用户来访问服务端文件系统
|
|
anongid
|
匿名的 gid,说明客户端以什么用户组来访问服务端文件系统
|
NFS 命令
NFS 配置实例
[root@test home]# rpm -qa | egrep "rpc|nfs"
libnfsidmap-0.25-15.el7.x86_64
rpcbind-0.2.0-38.el7.x86_64
libtirpc-0.2.4-0.8.el7.x86_64
nfs-utils-1.3.0-0.33.el7.x86_64
xmlrpc-c-1.32.5-1905.svn2451.el7.x86_64
xmlrpc-c-client-1.32.5-1905.svn2451.el7.x86_64
[root@test home]# systemctl start rpcbind
[root@test home]# systemctl start nfs [root@test test]# rpcinfo -p localhost
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 55860 status
100024 1 tcp 49019 status
100005 1 udp 20048 mountd
100005 1 tcp 20048 mountd
100005 2 udp 20048 mountd
100005 2 tcp 20048 mountd
100005 3 udp 20048 mountd
100005 3 tcp 20048 mountd
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 3 tcp 2049 nfs_acl
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100227 3 udp 2049 nfs_acl
100021 1 udp 36125 nlockmgr
100021 3 udp 36125 nlockmgr
100021 4 udp 36125 nlockmgr
100021 1 tcp 42363 nlockmgr
100021 3 tcp 42363 nlockmgr
100021 4 tcp 42363 nlockmgr
[root@test test]# cat /etc/passwd | grep 4300
[root@test test]# cat /etc/group | grep 4300
[root@test test]# groupadd -g 4300 lianhuasheng
[root@test test]# useradd -u 4300 -g 4300 lianhuasheng
[root@test test]# cat /etc/passwd | grep lianhuasheng
lianhuasheng:x:4300:4300::/home/lianhuasheng:/bin/bash [root@test home]# cat /etc/exports | grep 4300
/home/test 10.57.0.0/24(rw,sync,all_squash,anonuid=4300,anongid=4300) [root@test home]# systemctl restart nfs
[root@test test]# cat /etc/passwd | grep 4300
[root@test test]# cat /etc/group | grep 4300
[root@test test]# groupadd -g 4300 lianhuasheng
[root@test test]# useradd -u 4300 -g 4300 lianhuasheng
[root@test test]# cat /etc/passwd | grep lianhuasheng
lianhuasheng:x:4300:4300::/home/lianhuasheng:/bin/bash
[root@test test]# systemctl stop iptables
[root@test lianhuasheng]# showmount -e 10.57.0.1
Export list for 10.57.0.1:
/home/test 10.57.0.0/24
[root@test test]# mount -t nfs 10.57.0.1:/home/test /home/test/lianhuasheng/
[root@test home]# df -hT | grep lianhuasheng
10.57.0.1:/home/test nfs4 895G 849G 46G 95% /home/test/lianhuasheng
[root@test lianhuasheng]# touch nfs.log
[root@test lianhuasheng]# ll
total 0
-rw-r--r--. 1 lianhuasheng lianhuasheng 0 Mar 22 17:10 nfs.log
[root@test test]# ll -h
total 0
-rw-r--r--. 1 lianhuasheng lianhuasheng 0 Mar 22 17:10 nfs.log
NFS Troubleshooting
- 暴力一点直接将 iptables 服务关闭。
- 固定 NFS 端口,将端口信息写入 iptables 中,重启 iptables 服务。
[root@test lianhuasheng]# lsof /home/test/lianhuasheng/
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
lsof 407987 root cwd DIR 0,549 21 1325440613 /home/test/lianhuasheng (10.57.0.1:/home/test)
lsof 407988 root cwd DIR 0,549 21 1325440613 /home/test/lianhuasheng (10.57.0.1:/home/test)
bash 682732 root cwd DIR 0,549 21 1325440613 /home/test/lianhuasheng (10.57.0.1:/home/test)
每天学五分钟 Liunx 111 | 存储篇:NFS的更多相关文章
- 如何从40亿整数中找到不存在的一个 webservice Asp.Net Core 轻松学-10分钟使用EFCore连接MSSQL数据库 WPF实战案例-打印 RabbitMQ与.net core(五) topic类型 与 headers类型 的Exchange
如何从40亿整数中找到不存在的一个 前言 给定一个最多包含40亿个随机排列的32位的顺序整数的顺序文件,找出一个不在文件中的32位整数.(在文件中至少确实一个这样的数-为什么?).在具有足够内存的情况 ...
- 五分钟学Java:如何才能学好Java Web里这么多的技术
原创声明 本文作者:黄小斜 转载请务必在文章开头注明出处和作者. 系列文章介绍 本文是<五分钟学Java>系列文章的一篇 本系列文章主要围绕Java程序员必须掌握的核心技能,结合我个人三年 ...
- 零元学Expression Blend 4 - Chapter 42 五分钟快速完成扇形变圆形动画
原文:零元学Expression Blend 4 - Chapter 42 五分钟快速完成扇形变圆形动画 零元学Expression Blend 4 - Chapter 42 五分钟快速完成扇形变圆形 ...
- 《sed的流艺术之一》-linux命令五分钟系列之二十一
本原创文章属于<Linux大棚>博客,博客地址为http://roclinux.cn.文章作者为rocrocket. 为了防止某些网站的恶性转载,特在每篇文章前加入此信息,还望读者体谅. ...
- GC算法精解(五分钟让你彻底明白标记/清除算法)
GC算法精解(五分钟让你彻底明白标记/清除算法) 相信不少猿友看到标题就认为LZ是标题党了,不过既然您已经被LZ忽悠进来了,那就好好的享受一顿算法大餐吧.不过LZ丑话说前面哦,这篇文章应该能让各位彻底 ...
- zookeeper-架构设计与角色分工-《每日五分钟搞定大数据》
本篇文章阅读时间5分钟左右 点击看<每日五分钟搞定大数据>完整思维导图 zookeeper作为一个分布式协调系统,很多组件都会依赖它,那么此时它的可用性就非常重要了,那么保证可用性的同 ...
- 「每日五分钟,玩转JVM」:线程共享区
前言 上一篇中,我们了解了JVM中的线程独占区,这节课我们就来了解一下JVM中的线程共享区,JVM中的线程共享区是跟随JVM启动时一起创建的,包括堆(Heap)和方法区()两部分,而线程独占区的程序计 ...
- 五分钟搭建一个基于BERT的NER模型
BERT 简介 BERT是2018年google 提出来的预训练的语言模型,并且它打破很多NLP领域的任务记录,其提出在nlp的领域具有重要意义.预训练的(pre-train)的语言模型通过无监督的学 ...
- Python专题——五分钟带你了解map、reduce和filter
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是Python专题第6篇文章,给大家介绍的是Python当中三个非常神奇的方法:map.reduce和filter. 不知道大家看到ma ...
- 一门能让你五分钟学会的语言-Brainfuck
看到标题,不出意外的话,你肯定开始骂我了:**标题党,什么编程语言五分钟就能学会? 其实我本来也是不相信的,但是学过了才知道这是真的. 1.Brainfuck 看到这个小标题,不要误会,我没有骂人. ...
随机推荐
- Chat2DB接入文心一言AI教程(原创教程,转载请注明)
引言 关于Chat2DB和文心一言是啥我就不赘述了,由于Chat2DB自带的ai有调用次数限制,所以想着接入百度的文心AI,但是由于网上没有找到相关的教程,此教程是本人研究了很久才弄出来的,顺便记录一 ...
- Http请求超好用的工具类
话题不多说,直接开整 1.先导入依赖 <dependency> <groupId>io.github.admin4j</groupId> <artifactI ...
- LIS和LCS算法分析
LIS(最长上升子序列) 常规的解法就是动态规划. mx[ j ]表示长度为j的上升子序列最小的值a[i]; dp[ i ]表示前i个数的最长上升子序列长度多少. 1 for(int i=1;i< ...
- vue 2实战系列 —— 复习Vue
复习Vue 近期需要接手 vue 2的项目,许久未写,语法有些陌生.本篇将较全面复习 vue 2. Tip: 项目是基于 ant-design-vue-pro ant-design-vue-pro 由 ...
- Ef Core花里胡哨系列(10) 动态起来的 DbContext
Ef Core花里胡哨系列(10) 动态起来的 DbContext 我们知道,DbContext有两种托管方式,一种是AddDbContext和AddDbContextFactory,但是呢他们各有优 ...
- libGDX游戏开发之Box2D碰撞(十五)
libGDX游戏开发之Box2D(十四) libGDX系列,游戏开发有unity3D巴拉巴拉的,为啥还用java开发?因为我是Java程序员emm-国内用libgdx比较少,多数情况需要去官网和goo ...
- static、final、private是否可以修饰抽象方法?
1.static和abstract:是不能共存的.static是为了方便调用,abstract是为了给子类重写,没有方法体. 2.final和abstract:是互相冲突的,final修饰的方法不能重 ...
- Java异常中处理return
Java中的return语句 在Java中,return语句用于从一个方法中返回结果,并终止当前方法的执行.在方法中使用return语句后,后续的语句将不会执行. public int add(int ...
- JavaImprove--Lesson05--Arrays,对象排序,Lambda表达式,方法引用简化Lambda表达式
一.Arrays 用来操作数组的一个工具类 在Java中,没有内置的"Arrays工具类",但有一个名为java.util.Arrays的类,它包含了一些用于操作数组的静态方法.这 ...
- 第十部分_Shell脚本之函数
函数 1. 什么是函数? shell中允许将一组命令集合或语句形成一段可用代码,这些代码块称为shell函数 给这段代码起个名字称为函数名,后续可以直接调用该段代码的功能 2. 如何定义函数? 方法1 ...