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 :
# 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                : ?        :: ./rpcbind
root : ? :: [rpciod/]
root : ? :: rpc.rquotad
root : ? :: rpc.mountd
root : ? :: [nfsd4]
root : ? :: [nfsd4_callbacks]
root : ? :: [nfsd]
root : ? :: [nfsd]
root : ? :: [nfsd]
root : ? :: [nfsd]
root : ? :: [nfsd]
root : ? :: [nfsd]
root : ? :: [nfsd]
root : ? :: [nfsd]
root : ? :: 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/
指定域名的主机: 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/.txt

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

# ls /data/tmp2

卸载挂载

# umount /data/tmp2

centos7下搭建NFS服务器的更多相关文章

  1. Centos7下搭建NFS服务器与连接详解

    一,环境介绍    本实验使用了两台centos7虚拟机,其中         服务器:192.168.1.188    客户端:192.168.1.189 二,实验步骤    192.168.1.1 ...

  2. CentOS7下搭建邮件服务器(dovecot + postfix + SSL)

    CentOS   花了基本上两天的时间去配置CentOS7下的邮件服务器.其中艰辛太多了,一定得总结下. 本文的目的在于通过一系列配置,在CentOS 7下搭建dovecot + postfix + ...

  3. 在Centos7下搭建Git服务器

    ① 安装 Git ② 服务器端创建 git 用户,用来管理 Git 服务,并为 git 用户设置密码 ③ 服务器端创建 Git 仓库 ④ 客户端 clone 远程仓库 ⑤ 客户端创建 SSH 公钥和私 ...

  4. 在linux下搭建NFS服务器实现文件共享

    目录 一.关于NFS 二.搭建一台NFS服务器共享特定资源 三.调优 一.关于NFS 1.NFS是Network File System的简写,即网络文件系统.网络文件系统是FreeBSD支持的文件系 ...

  5. linux下搭建NFS服务器

    服务端:10.6.191.183 客户端:10.6.191.182 NFS 是Network File System的缩写,即网络文件系统.一种使用于分散式文件系统的协定,由Sun公司开发,于1984 ...

  6. centos7下搭建nfs服务

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

  7. CentOS下搭建NFS服务器总结

    环境介绍: . 服务器: 192.168.0.100 . 客户机: 192.168.0.101 安装软件包: . 服务器和客户机都要安装nfs 和 rpcbind 软件包: yum -y instal ...

  8. windows下搭建NFS服务器

    Win7除了旗舰版和企业版其他版本没有NFS客户端,windows2000,windowsXP,windows2003有个sfu(windows services for unix)工具貌似比较强大, ...

  9. centos7下搭建solr服务器

    1.Solr的环境 Solr是java开发. 需要安装jdk. 安装环境Linux. 需要安装Tomcat. 1.2. 搭建步骤 第一步:把solr 的压缩包上传到Linux系统 第二步:解压solr ...

随机推荐

  1. 在Windows8系统下exe格式会计课件下载播放帮助图解

    近期非常多会计从业人员都開始购买课件,開始学习,准备考试:可是网校的课件有些是EXE扩展名格式的,在Windows8系统下播放比較困难.方法比較曲折,这里用图说话,给大家一点參考,希望对大家实用. 下 ...

  2. Lintcode---线段树查询(区间最大值)

    对于一个有n个数的整数数组,在对应的线段树中, 根节点所代表的区间为0-n-1, 每个节点有一个额外的属性max,值为该节点所代表的数组区间start到end内的最大值. 为SegmentTree设计 ...

  3. C#颜色 Color.FromArgb ColorTranslator 16进制

    //方法1: //引用命名空间 using System.Drawing; 16进制颜色代码转Color类型:ColorTranslator.FromHtml(color); Color类型转16进制 ...

  4. 点滴积累【C#】---验证码,ajax提交

    效果: 思路: 借用ashx文件创建四位验证,首先生成四位随机数字.然后创建画布,再将创建好的验证码存入session,然后前台进行button按钮将文本框中的值进行ajax请求到后台,和sessio ...

  5. 【转载】使用Exp和Expdp导出数据的性能对比与优化

    转自:http://blog.itpub.net/117319/viewspace-1410931/ 序:这方面的文章虽然很多人写过,但是结合实际进行详细的对比分析的不多,这里,结合所在公司的行业,进 ...

  6. 【网络爬虫】Httpclient4.X中使用HTTPS的方法采集12306网站

    HttpClient请求https的实例: package train; import java.io.IOException; import java.security.NoSuchAlgorith ...

  7. HTML5之语音识别实例

    HTML5之语音识别实例 代码 <input type="text"  x-webkit-speech id="d1" lang="zh-CN& ...

  8. Unix系统编程(六)write系统调用

    write系统调用将数据写入一个打开的文件. ssize_t write(int fd, void *buffer, size_t count); write调用的参数含义与read调用相类似.buf ...

  9. httpd-2.2.22安装

    cgi部分共分三部分:html,cgi和服务器(httpd). 首先介绍httpd安装: 1.  软件包:httpd-2.2.22.tar.gz 系统:3.8.0-44-generic #66~pre ...

  10. 再来一个expect脚本

    [root@jenkins scripts]# cat expect_test1205.sh #!/usr/bin/expect ################################### ...