NFS是Network File System的缩写,即网络文件系统。客户端通过挂载的方式将NFS服务器端共享的数据目录挂载到本地目录下。

nfs为什么需要RPC?
因为NFS支持的功能很多,不同功能会使用不同程序来启动,因此,NFS对应的功能所对应的端口无法固定。
端口不固定造成客户端与服务端之间的通信障碍,所以需要RPC来从中帮忙。
NFS启动时会随机取用若干端口,然后主动向RPC服务注册取用相关端口和功能信息,RPC使用固定端口111来监听来自NFS客户端的请求,
并将正确的NFS服务端口信息返回给客户端,这样客户端与服务端就可以进行数据传输了。

本次实践的服务端IP为192.168.186.130    客户端IP为192.168.186.131

一、NFS服务安装配置

nfs-utils、rpcbind

#   yum install nfs-utils rpcbind

二、启动rpcbind服务

#  systemctl restart rpcbind.service

查看服务状态  

# systemctl status rpcbind.service

查看rpc

#   lsof -i :111
# netstat -lntup|grep rpcbind

如果出现-bash未找到命令可执行下面命令

#  yum install net-tools lsof

查看nfs服务向rpc注册的端口信息

#   rpcinfo -p localhost

检查rpcbind是否开机启动

#   chkconfig --list rpcbind

三、启动NFS服务

#    systemctl start nfs.service

查看状态

#   systemctl status nfs.service

再次查看rpc注册的端口信息

#   rpcinfo -p localhost

四、NFS常见进程详解

#  ps -ef|egrep "rpc|nfs"
rpc       13166      1  0 09:01 ?        00:00:00 ./rpcbind
root 13202 2 0 09:02 ? 00:00:00 [rpciod/0]
root 13210 1 0 09:02 ? 00:00:00 rpc.rquotad
root 13214 1 0 09:02 ? 00:00:00 rpc.mountd
root 13220 2 0 09:02 ? 00:00:00 [nfsd4]
root 13221 2 0 09:02 ? 00:00:00 [nfsd4_callbacks]
root 13222 2 0 09:02 ? 00:00:00 [nfsd]
root 13223 2 0 09:02 ? 00:00:00 [nfsd]
root 13224 2 0 09:02 ? 00:00:00 [nfsd]
root 13225 2 0 09:02 ? 00:00:00 [nfsd]
root 13226 2 0 09:02 ? 00:00:00 [nfsd]
root 13227 2 0 09:02 ? 00:00:00 [nfsd]
root 13228 2 0 09:02 ? 00:00:00 [nfsd]
root 13229 2 0 09:02 ? 00:00:00 [nfsd]
root 13252 1 0 09:02 ? 00:00:00 rpc.idmapd

nfsd(rpc.nfsd)主进程,主要是管理客户端能否登入服务端,登入者ID判别。
mountd(rpc.mountd)管理NFS文件系统,登入者的权限管理
rpc.lockd(非必要)用来锁定文件,用于客户端同时写入
rpc.statd(非必要)检查文件一致性
rpc.idmapd 名字映射后台进程

五、配置NFS开机自启动

# chkconfig rpcbind on
# chkconfig nfs on
# chkconfig --list rpcbind
# chkconfig --list nfs
六、NFS服务端配置
#   vi /etc/exports
exports文件配置格式:
FS共享的目录 NFS客户端地址1(参数1,参数2,...) 客户端地址2(参数1,参数2,...)
NFS客户端地址:
指定IP: 192.168.0.1
指定子网所有主机: 192.168.0.0/24
指定域名的主机: test.com
指定域名所有主机: *.test.com
所有主机: *
参数:
ro:目录只读
rw:目录读写
sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性
async:将数据先保存在内存缓冲区中,必要时才写入磁盘
all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody)
no_all_squash:与all_squash取反(默认设置)
root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置)
no_root_squash:与rootsquash取反
anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx)
anongid=xxx:将远程访问的所有用户组都映射为匿名用户组账户
例如:
# /data/tmp 192.168.186.131(rw,sync,all_squash)
在服务端创建需要共享的目录
# mkdir -p /data/tmp
# chown nfsnobody.nfsnobody /data/tmp

重新加载nfs配置

#  exportfs -rv

查看nfs服务器挂载情况

#  showmount -e localhost

七、挂载测试

在客户端创建目录

# mkdir -p /data/tmp2
# mount -t nfs 192.168.186.130:/data/tmp /data/tmp2

查看挂载

# df -h

在服务端tmp下创建文件

# touch /data/tmp/1.txt

查看客户端tmp2下是否有文件

# ls /data/tmp2

卸载挂载

# umount /data/tmp2

centos7下的nfs配置的更多相关文章

  1. CentOS7下使用NFS文件共享给Window server 2012

    CentOS7下使用NFS文件共享给Window server 2012 2018年08月24日 23:15:54 疼迅扣扣 阅读数:443  出自https://blog.csdn.net/u013 ...

  2. CentOS7下Firewall防火墙配置用法详解

    官方文档地址: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Security_Guide ...

  3. CentOS7 下安装 NFS,Linux/Windows 作为客户端

    目录 一.简介 1. 定义 2. 版本和变化 3. 部署说明 二.服务端 1. 关闭防火墙 2. 安装 nfs 3. 配置说明 4. 配置共享目录 5. 启动服务 6. 确认启动成功 三.Linux ...

  4. centos7下搭建NFS服务器

    NFS是Network File System的缩写,即网络文件系统.客户端通过挂载的方式将NFS服务器端共享的数据目录挂载到本地目录下. nfs为什么需要RPC?因为NFS支持的功能很多,不同功能会 ...

  5. centos7下MySQL的配置

    1. 下载mysql的repo源 wget http:.noarch.rpm 2. 安装mysql-community-release-el7-5.noarch.rpm包 rpm .noarch.rp ...

  6. centOS7下Spark安装配置

    环境说明: 操作系统: centos7 64位 3台 centos7-1 192.168.190.130 master centos7-2 192.168.190.129 slave1 centos7 ...

  7. Centos7下安装和配置vim

    Centos7 最新版本默认已经安装vim,可以使用命令查看是否安装 rpm -qa|grep vim 输出结果如下,如无以下输出结果,则安装vim: vim-filesystem-7.4.160-4 ...

  8. Centos7下gogs数据配置迁移

    工作需要把测试版的gogs迁移到正式版gogs,顺便记下笔记防止以后需要忘记了 环境: centos7测试版gogs:192.168.1.63 centos7正式版gogs:192.168.0.100 ...

  9. centos7下搭建nfs服务

    现在有3台服务器 s1(主),s2(从), s3(从)需要实现文件实时同步,我们可以安装Nfs服务端和客户端来实现! 一.安装 NFS 服务器所需的软件包: yum install -y nfs-ut ...

随机推荐

  1. CentOS安装 netdata 实时监视 Linux 系统性能

    作为一个 Linux 系统的管理员,为了随时了解系统资源的占用情况,有必要使用专门的系统监视工具.如果你需要对 Linux 系统.应用程序.SNMP 设备进行实时的性能监视,那么 netdata 这个 ...

  2. oninput 事件 比较angular张的 ng-model指令 和 Vue中的 v-model指令

    oninput 事件在用户输入时触发. 该事件在 <input> 或 <textarea> 元素的值发生改变时触发. 提示: 该事件类似于 onchange 事件.不同之处在于 ...

  3. 百度之星资格赛2018B题-子串查询

    子串查询 题目 度度熊的字符串课堂开始了!要以像度度熊一样的天才为目标,努力奋斗哦! 为了检验你是否具备不听课的资质,度度熊准备了一个只包含大写英文字母的字符串 A[1,n]=a1a2⋯an,接下来他 ...

  4. day 53-1 Django基础三之视图函数

    Django基础三之视图函数   本节目录 一 Django的视图函数view 二 CBV和FBV 三 使用Mixin 四 给视图加装饰器 五 Request对象 六 Response对象 一 Dja ...

  5. 2、eureka注册中心集群

    1. Eureka作为spring cloud的服务发现与注册中心,在整个的微服务体系中,处于核心位置.单机模式下的eureka服务,显然不能满足高可用的实际生产环境,这就要求配置一个能够应对各种突发 ...

  6. Draggable(拖动框)

    一.class加载方式 <div id="box" class="easyui-draggable" style="width:400px;he ...

  7. $@、$*和环境变量IFS

  8. tcp - 传输控制协议 (TCP)

    总缆 SYNOPSIS #include <sys/socket.h> #include <netinet/in.h> tcp_socket = socket(PF_INET, ...

  9. 2018焦作网络赛-E- Jiu Yuan Wants to Eat

    题目描述 You ye Jiu yuan is the daughter of the Great GOD Emancipator.  And when she becomes an adult, s ...

  10. 【JS学习】慕课网4-10 编程练习

    在一个大学的编程选修课班里,我们得到了一组参加该班级的学生数据,分别是姓名.性别.年龄和年级,接下来呢,我们要利用JavaScript的知识挑出其中所有是大一的女生的的名字哦. 学生信息如下: ('小 ...