nfs原理

1.开启RPC服务

2.NFS向RPC服务注册启动的端口

3.用户向RPC询问NFS服务的端口

4.RPC返回端口给客户端

5.客户端通过获得的端口与NFS服务器进行数据传输

实验步骤

一、准备

1.检查系统版本信息

2.检查是否安装nfs和rpc服务

3.安装服务

二、配置

1.启动rpc服务和nfs服务

2.查看nfs是否有向rpc注册端口

3.设置开机自启动

4.编辑nfs配置文件,并重启服务

5.在客户端进行挂载

三、测试

1.测试客户端与服务端的连通性

2.在分享目录内创建文件并在客户机上测试

详细配置:

注意:关闭selinux和iptables

服务端:

检查系统版本

[root@nfsclient ~]# cat /etc/redhat-release
CentOS release 6.8 (Final)
[root@nfsclient ~]# uname -r
2.6.32-642.el6.x86_64
[root@nfsclient ~]# uname -m
x86_64

检查是否安装服务

[root@nfsserver ~]#  rpm -aq nfs-utils rpcbind

安装服务

#这里可以有两种方法,一种是正常yum安装,另一种是yum组安装
#分别在服务端和客户端使用这两种方法
[root@nfsserver ~]# yum install nfs-utils rpcbind -y

启动rpc服务

#必须先开启rpc服务,在开启nfs服务,否则nfs服务会启动不了,并且可能会发生错误

[root@nfsserver ~]# /etc/init.d/rpcbind restart
Stopping rpcbind: [ OK ]
Starting rpcbind: [ OK ]
[root@nfsserver ~]# ps -ef |grep rpc
rpcuser 1258 1 0 18:36 ? 00:00:00 rpc.statd
rpc 1630 1 0 18:53 ? 00:00:00 rpcbind
root 1634 1546 0 18:54 pts/0 00:00:00 grep --color=auto rpc #检查nfs是否有向rpc注册端口
[root@nfsserver ~]# 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
#此处结果显示表示rpc自己使用的端口 [root@nfsserver ~]# rpcinfo -p localhost
rpcinfo: can't contact portmapper: RPC: Remote system error - Connection refused
#此处即为rpc没有开启而产生的报错

开启nfs服务

[root@nfsserver ~]# /etc/init.d/nfs start
Starting NFS services: [ OK ]
Starting NFS mountd: [ OK ]
Starting NFS daemon: [ OK ]
Starting RPC idmapd: [ OK ]
[root@nfsserver ~]# 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
100005 1 udp 44683 mountd
100005 1 tcp 53742 mountd
100005 2 udp 45815 mountd
100005 2 tcp 37259 mountd
100005 3 udp 43988 mountd
100005 3 tcp 48220 mountd
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 2 tcp 2049 nfs_acl
100227 3 tcp 2049 nfs_acl
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100227 2 udp 2049 nfs_acl
100227 3 udp 2049 nfs_acl
100021 1 udp 43032 nlockmgr
100021 3 udp 43032 nlockmgr
100021 4 udp 43032 nlockmgr
100021 1 tcp 52980 nlockmgr
100021 3 tcp 52980 nlockmgr
100021 4 tcp 52980 nlockmgr
#这种输出才是nfs向rpc注册端口后的结果,由于nfs提供多种服务,所以会申请多个端口
#还可以在/etc/sysconfig/nfs中设定监听端口,便于iptbales的书写
echo"LOCKD_TCPPORT=32803" >>/etc/sysconfig/nfs

将rpc和nfs设置为开机自启动

[root@nfsserver ~]# chkconfig nfs on
[root@nfsserver ~]# chkconfig rpcbind on
[root@nfsserver ~]# chkconfig --list nfs
nfs 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@nfsserver ~]# chkconfig --list rpcbind
rpcbind 0:off 1:off 2:on 3:on 4:on 5:on 6:off
#其实查看/etc/init.d/nfs | rpcbind即可得知,rpc于nfs先启动,后关闭

配置nfs服务并重启

[root@nfsserver ~]# mkdir /data
[root@nfsserver data]# chown -R nfsnobody.nfsnobody /data/
#如果没有修改共享目录的属主,则可能会出现如下报错
#touch: cannot touch `hehe': Permission denied
#实际上nfs在开启服务后会自动创建nfsnobody这个用户,可在/var/lib/nfs/etab 查看默认设置 [root@nfsserver ~]# cat /etc/exports
##share my miss for glx at 2017/09/13
/data 192.168.1.0/24(rw,sync)
[root@nfsserver ~]# /etc/init.d/nfs reload
#ps:reload平滑重启不会影响正在访问客户
#ps:查看/etc/init.d/nfs可以得到,reload等同于/usr/sbin/exprotfs -r

#重启后检查
[root@nfsserver ~]# showmount -e localhost
Export list for localhost:
/data 192.168.1.0/24
#ps:如果出现clnt_create: RPC: Program not registered错误,则是rpc和nfs的启动顺序出错,将两者都停止并按fpc,nfs顺序重新启动即可

 

客户端:

安装服务

[root@nfsclient ~]# yum groupinstall "NFS file server" -y
#其实这个安装包组中包含了nfs及rpc,实际上客户端只需要rpc即可

启动rpc服务,并设置成开机自启动

[root@nfsclient ~]# /etc/init.d/rpcbind start
Starting rpcbind: [ OK ]
[root@nfsclient ~]# chkconfig rpcbind on
[root@nfsclient ~]# chkconfig --list rpcbind
rpcbind 0:off 1:off 2:on 3:on 4:on 5:on 6:off

测试与服务端的连通性

[root@nfsclient ~]# ping 192.168.1.111
[root@nfsclient ~]# telnet 192.168.1.111 111

挂载共享目录到本地

[root@nfsclient ~]# mount -t nfs 192.168.1.111:/data /mnt
[root@nfsclient ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 7.1G 907M 5.9G 14% /
tmpfs 495M 0 495M 0% /dev/shm
/dev/sda1 190M 30M 150M 17% /boot
/dev/sr0 3.7G 3.7G 0 100% /media/cd
192.168.1.111:/data 12G 2.0G 8.9G 19% /mnt #这样挂载重启就会失效
#但写入/etc/fstab中,可能会失败,因为linux系统启动时,磁盘挂载即/etc/fstab文件的执行时优先于网络脚本文件的
#但可以echo "/bin/mount -t nfs 192.168.1.111:/data /mnt" >> /etc/rc.local
#在/etc/rc.local中最好使用命令的绝对路径,/etc/rc.local中书写不会影响系统的启动

  

nfs网络共享服务基础的更多相关文章

  1. NFS网络共享服务 挂载参数及优化 内核优化建议

    配置NFS服务端 nfs01上安装软件 [root@nfs01 ~]# yum install nfs-utils rpcbind -y nfs-utils:NFS服务的主程序,包括rpc.nfsd. ...

  2. NFS网络共享服务部署

    10.3 NFS服务端部署环境准备 10.3.1 NFS服务部署服务器准备 服务器系统 角色 IP Centos6.7 x86_64 NFS服务器端(NFS-server) 192.168.1.14 ...

  3. Linux实战教学笔记22:企业级NFS网络文件共享服务

    目录 第二十二节 企业级NFS网络文件共享服务 第一章 NFS网络文件共享服务 1.1 NFS介绍 1.2 NFS系统原理介绍 1.3 NFS服务端部署环境准备 1.4 NFS server端的设置 ...

  4. (转)企业级NFS网络文件共享服务

    企业级NFS网络文件共享服务 原文:http://www.cnblogs.com/chensiqiqi/archive/2017/03/10/6530859.html --本教学笔记是本人学习和工作生 ...

  5. ubuntu 10.10配置NFS网络共享步骤

    安装好交叉编译环境arm-linux-gcc之后,就开始配置NFS网络共享,用于不同的linux主机与目标机之间文件的共享.如果是windows和linux的共享则需用samba服务. NFS(Net ...

  6. NFS网络共享介绍与使用

    什么是NFS(网络文件系统)? NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源.它的主要功 ...

  7. 搭建企业级NFS网络文件共享服务说明[一]

    1.1.0. 概述: 共享/NFS目录给整个192.168.25.0/24网段主机读写 man nfs 可以查看mount的信息 rpc端口111 nfs主端口2049 1.1.1. 搭建NFS环境 ...

  8. 企业级NFS网络文件共享服务_【all】

    1.1. 什么是NFS(1台机器提供服务) Network File System(网络文件系统)通过局域网让不同的主机系统之间共享文件或目录. NFS客户端可以通过挂载的方式将NFS服务器端共享的数 ...

  9. linux下如何挂接(mount)光盘镜像文件、移动硬盘、U盘、Windows网络共享和NFS网络共享

    首先,介绍一下挂接(mount)命令的使用方法,mount命令参数非常多,这里主要讲一下今天我们要用到的.      命令格式:      mount [-t vfstype] [-o options ...

随机推荐

  1. H5在部分苹果手机IOS系统下重力感应无效

    原因不明,反正在IOS系统12.2以上的普通的H5移动端网页的重力感应功能无反应 解决方法: 把链接改为HTTPS,经过测试,12.2系统以上的如果你的链接是HTTP的,重力感应在网页上是没调起的,改 ...

  2. python mysql数据库中 json的存储

    首先数据库里的字段类型需要设置为json: 存储这个json时需要把这个json变为字符串,而且是最外层为单引号,内部字符串为双引号!如图:  所以python脚本中这个字段的字符串应该这样写: 得出 ...

  3. 绕过CDN查找真实IP方法总结

    CDN的全称是Content Delivery Network,即内容分发网络.CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡.内容分发.调度等功能模 ...

  4. CMS 源码解读

    CMS 是”Content Management System” 的缩写,意为” 内容管理系统”. 内容管理系统是企业信息化建设和电子政务的新宠,也是一个相对较新的市场.对于内容管理,业界还没有一个统 ...

  5. Netty ByteBuf泄露定位修改。

    1. ByteBuf 2. 问题描述 日志记录中报堆外内存溢出. 3. 问题定位及修改 Netty提供了ByteBuf泄露的检测机制. JVM启动参数中添加: -Dio.netty.leakDetec ...

  6. org.apache.commons工具类方法解释 转

    在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类.以下工具类.方法按使用流行度排名,参考数据来源于Github上随机选取的5万个开源项目源码. 一. ...

  7. 01_jQuery初识

    1.为什么要学习jQuery?做同样的事情,jQuery写起来极其简练(write less , do more) 2.jQuery是什么?jQuery相当于Python的第三方模块,原生JS DOM ...

  8. <每日一题>题目19:简单的程序执行效率面试题

    # 将下面的函数按照执行效率高低排序.它们都接受由0至1之间的数字构成的列表作为输入.这个列表可以很长.一个输入列表的示例如下:[random.random() for i in range(1000 ...

  9. adb环境部署及与模拟器的连接

    1.下载adt-bundle-windows-x64安装包,下载网址https://www.7down.com/soft/293453.html 2.对安装包进行解压缩 3.配置环境变量,将adb的路 ...

  10. Nginx部署vue项目的配置

    . 官网下载 http://nginx.org/en/download.html 选择stable version nginx/Windows-1.14.1 pgp . 解压 然后配置环境变量,如果环 ...