背景:NFS相当于房源,RPC相当于中介。

nfs-utils:  NFS服务的主程序,包括rpc.nfsd、rpc.mountd这两个daemon和相关文件说明,以及执行命令文件等。

rpcbind:  centos6.x下面RPC的主程序。NFS可以视为一个RPC程序,在启动任何一个RPC程序之前,需要做好端口和功能的对应映射工作,这个映射工作就是由rpcbind服务来完成的。因此,在提供NFS服务之前必须先启动rpcbind服务才行。

1. 安装nfs程序包(nfs-utils和rpcbind两个程序包)

1.1 检查NFS程序是否安装,如未安装需要安装

可使用如下命令查看默认情况下centos6里NFS软件的安装情况

[root@oldboy ~]# rpm -qa nfs-utils rpcbind  #这个不用管道的命令更有效率,默认是没有安装的。

vi /etc/yum.conf中把keepcache=0设置为keepcache=1意思是yum安装后不删除安装包。

当不知道软件名字时候,可以用rpm -aq |grep -E "nfs-|rpcbind"来过滤包含在引号内的字符串。grep -E在这里相当于egrep。grep、egrep这两个命令在运维工作中非常常用并且很好用。

先安装基础软件

[root@oldboy ~]# yum install lrzsz nmap tree dos2unix nc -y

[root@oldboy ~]#yum update或者yum upgrade两个至少要执行一个,相当于打补丁。

用yum安装nfs和rpc两个程序

[root@backup ~]# yum install nfs-utils rpcbind -y

安装完成后可以看到rpm软件包没有被删除

[root@backup ~]# tree /var/cache/yum/x86_64/6/base/packages/
/var/cache/yum/x86_64/6/base/packages/
|-- dos2unix-3.1-37.el6.x86_64.rpm
|-- keyutils-1.4-5.el6.x86_64.rpm
|-- libevent-1.4.13-4.el6.x86_64.rpm
|-- libgssglue-0.1-11.el6.x86_64.rpm
|-- lrzsz-0.12.20-27.1.el6.x86_64.rpm
|-- nc-1.84-24.el6.x86_64.rpm
|-- nfs-utils-1.2.3-75.el6.x86_64.rpm
|-- nfs-utils-lib-1.1.5-13.el6.x86_64.rpm
|-- nmap-5.51-6.el6.x86_64.rpm
`-- tree-1.5.3-3.el6.x86_64.rpm

用tar -zcvf打包把/var/cache/yum/x86_64/6/base/packages/目录打包成nfs-rpm.tar.gz文件

[root@backup ~]# tar -zcvf nfs-rpm.tar.gz /var/cache/yum/x86_64/6/base/packages/
tar: Removing leading `/' from member names
/var/cache/yum/x86_64/6/base/packages/
/var/cache/yum/x86_64/6/base/packages/nfs-utils-lib-1.1.5-13.el6.x86_64.rpm
/var/cache/yum/x86_64/6/base/packages/keyutils-1.4-5.el6.x86_64.rpm
/var/cache/yum/x86_64/6/base/packages/nfs-utils-1.2.3-75.el6.x86_64.rpm
/var/cache/yum/x86_64/6/base/packages/nc-1.84-24.el6.x86_64.rpm
/var/cache/yum/x86_64/6/base/packages/libevent-1.4.13-4.el6.x86_64.rpm
/var/cache/yum/x86_64/6/base/packages/libgssglue-0.1-11.el6.x86_64.rpm
/var/cache/yum/x86_64/6/base/packages/lrzsz-0.12.20-27.1.el6.x86_64.rpm
/var/cache/yum/x86_64/6/base/packages/tree-1.5.3-3.el6.x86_64.rpm
/var/cache/yum/x86_64/6/base/packages/dos2unix-3.1-37.el6.x86_64.rpm
/var/cache/yum/x86_64/6/base/packages/nmap-5.51-6.el6.x86_64.rpm

/>rz
zmodem   ° Ctrl+C 
  100%    3425 KB 3425 KB/s 00:00:01       0 Errors

然后使用sz -y nfs-rpm.tar.gz把nfs-rpm.tar.gz下载到windows本次保存起来。

2. 启动nfs相关服务

2.1  启动rpcbind和nfs服务。

启动rpcbind服务。

因为NFS及其辅助程序都是属于RPC(Remote Procedure CAll)协议的(使用的端口111),所以首先要确保系统运行了rpcbind服务。

启动rpc服务器:

[root@oldboy ~]# /etc/init.d/rpcbind start
Starting rpcbind:                                          [  OK  ]

查看rpc服务对应的端口是111

[root@oldboy ~]# netstat -lntup |grep rpc
tcp        0      0 0.0.0.0:111          &a                0.0.0.0:*                   LISTEN      2020/rpcbind        
tcp        0      0 :::111                      :::*                        LISTEN      2020/rpcbind        
udp        0      0 0.0.0.0:111                 0.0.0.0:*                               2020/rpcbind        
udp        0      0 0.0.0.0:923                 0.0.0.0:*                               2020/rpcbind        
udp        0      0 :::111                      :::*                                    2020/rpcbind        
udp        0      0 :::923                      :::*                                    2020/rpcbind

查看是否有房源

[root@oldboy ~]# 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  portmappe

启动nfs,相当于向rpc注册房源

[root@oldboy ~]# /etc/init.d/nfs start
Starting NFS services:                                     [  OK  ]
Starting NFS quotas:                                       [  OK  ]
Starting NFS mountd:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]
Starting RPC idmapd:                                       [  OK  ]

再看中介有没有房

[root@oldboy ~]# 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
    100011    1   udp    875  rquotad
    100011    2   udp    875  rquotad
    100011    1   tcp    875  rquotad
    100011    2   tcp    875  rquotad
    100005    1   udp  34914  mountd
    100005    1   tcp  43493  mountd
    100005    2   udp  50054  mountd
    100005    2   tcp  48624  mountd
    100005    3   udp  37236  mountd
    100005    3   tcp  39378  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  45751  nlockmgr
    100021    3   udp  45751  nlockmgr
    100021    4   udp  45751  nlockmgr
    100021    1   tcp  44021  nlockmgr
    100021    3   tcp  44021  nlockmgr
    100021    4   tcp  44021  nlockmgr
nfs主端口2049是不变的,rpc主端口是111

所有的进程都会对应一个用户,yum安装后就会自动创建

[root@oldboy ~]# id nfsnobody
uid=65534(nfsnobody) gid=65534(nfsnobody) groups=65534(nfsnobody)

假设把rpc服务停了,就找不到nfs了。

[root@oldboy ~]# /etc/init.d/rpcbind stop
Stopping rpcbind:                                          [  OK  ]
[root@oldboy ~]# rpcinfo -p localhost
rpcinfo: can't contact portmapper: RPC: Remote system error - Connection refused

这时启动nfs就会报错

[root@oldboy ~]# /etc/init.d/nfs restart
Shutting down NFS daemon:                                  [  OK  ]
Shutting down NFS mountd:                                  [  OK  ]
Shutting down NFS quotas:                                  [  OK  ]
Shutting down RPC idmapd:                                  [  OK  ]
Starting NFS services:                                     [  OK  ]
Starting NFS quotas: Cannot register service: RPC: Unable to receive; errno = Connection refused
rpc.rquotad: unable to register (RQUOTAPROG, RQUOTAVERS, udp).
                                                           [FAILED]
Starting NFS mountd:                                       [FAILED]
Starting NFS daemon: rpc.nfsd: writing fd to kernel failed: errno 111 (Connection refused)
rpc.nfsd: unable to set any sockets for nfsd
                                                           [FAILED]

刚刚只是测试而已,还是要启动rpcbind的

执行命令启用rcpbind

/etc/init.d/rpcbind srart

启动nfs服务

/etc/init.d/nfs srart

在到rpcbind查看是否有nfs

rpcinfo -p localhost

2.2设置开机启动

[root@oldboy ~]# chkconfig nfs on
[root@oldboy ~]# chkconfig rpcbind on

查看启动先后顺序:grep -E

[root@oldboy ~]# ls /etc/rc.d/rc3.d/|grep -E "nfs|rpc"
K61nfs-rdma
K69rpcsvcgssd
S13rpcbind
S14nfslock
S19rpcgssd
S30nfs

[root@oldboy ~]# head /etc/init.d/nfs
#!/bin/sh
#
# nfs           This shell script takes care of starting and stopping
#               the NFS services.
#
# chkconfig: - 30 60
# description: NFS is a popular protocol for file sharing across networks.
#              This service provides NFS server functionality, which is \
#              configured via the /etc/exports file.
# probe: true

运行NFS服务默认需要启动的服务或者进程至少有:NFS quotas(rpc.rquotad)、NFS daemon(nfsd)、NFS mountd(rpc.mountd)。可以通过执行如下命令查看启动NFS后,系统中运行的NFS相关进程。

[root@oldboy ~]# ps -ef|egrep "nfs|rpc"
root       2080      2  0 12:35 ?        00:00:00 [rpciod/0]
root       2081      2  0 12:35 ?        00:00:00 [rpciod/1]
rpc        2499      1  0 12:47 ?        00:00:00 rpcbind
root       2567      1  0 12:49 ?        00:00:00 rpc.rquotad
root       2572      1  0 12:49 ?        00:00:00 rpc.mountd
root       2579      2  0 12:49 ?        00:00:00 [nfsd4]
root       2580      2  0 12:49 ?        00:00:00 [nfsd4_callbacks]
root       2581      2  0 12:49 ?        00:00:00 [nfsd]
root       2582      2  0 12:49 ?        00:00:00 [nfsd]
root       2583      2  0 12:49 ?        00:00:00 [nfsd]
root       2584      2  0 12:49 ?        00:00:00 [nfsd]
root       2585      2  0 12:49 ?        00:00:00 [nfsd]
root       2586      2  0 12:49 ?        00:00:00 [nfsd]
root       2587      2  0 12:49 ?        00:00:00 [nfsd]
root       2588      2  0 12:49 ?        00:00:00 [nfsd]
root       2619      1  0 12:49 ?        00:00:00 rpc.idmapd
root       2693   2677  0 13:01 pts/0    00:00:00 egrep nfs|rpc

NFS服务端总结:

1.打印系统版本

cat /etc/redhat-release

uname -r

uname -m

2.检查并安装NFS服务

rpm -qa nfs-utils rpcbind

LANG=en

yum install nfs-utils rpcbind

rpm -qa nfs-utils rpcbind

3.启动RPC及服务并检查

/etc/init.d/rpcbind start

ps -ef |grep rpc

/etc/init.d/rpcbind status

rpcinfo -p localhost

/etc/init.d/nfs start

rpcinfo -p localhost

4.设置开机自启动并检查

chkconfig nfs on

chkconfig rpcbind on

chkconfig --list nfs

chkconfig --list rpcbind

5.配置共享/data目录

cat >>/etc/exports<<EOF

#shared data for bbs by jeremy at 20170806

/data 172.16.1.0/24(rw,sync)

EOF

cat /etc/exports

6.创建共享目录

mkdir /data

ll /data

chown -R nfsnobody.nfsnobody /data

cat /var/lib/nfs/etab 参看配置参数

[root@oldboy ~]# cat /var/lib/nfs/etab
/data   172.16.1.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,anonuid=65534,anongid=65534,sec=sys,rw,root_squash,no_all_squash)

7.平滑加载NFS服务并检查服务。

/etc/init.d/nfs reload (相当于exports -rv)

showmount -e localhost

showmount -e 172.16.1.31

mount -t nfs 172.16.1.31:/data /mnt

umount /mnt

本文转自sandshell博客51CTO不可靠,原文链接http://blog.51cto.com/sandshell/1953976如需转载请自行联系原作者

sandshell

搭建nfs共享存储服务之一nfs服务端搭建相关推荐

  1. Docker基于容器制作httpd镜像(使用nfs共享存储部署一个网站)

    Docker基于容器制作httpd镜像 1 编译安装httpd 2 安装nfs共享存储 3 使用nfs共享存储提供httpd网页服务 4 在浏览器上进行测试访问 1 编译安装httpd [root@d ...

  2. Windows/Linux客户端挂载NFS共享存储

    Windows/Linux客户端挂载NFS共享存储 1. Linux搭建NFS共享存储 1.1. NFS概述 1.2. 安装并配置NFS Server 1.3. 启动并验证NFS Server 2. ...

  3. Linux架构之NFS共享存储1

    第35章 NFS共享存储 35.1 NFS基本概述 NFS是Network File System的缩写及网络文件系统.NFS主要功能是通过局域网络让不同的主机系统之间可以共享文件或目录. 常见的文件 ...

  4. Linux NFS共享存储

    Linux NFS共享存储 一.NFS共享存储服务 概述 NFS是一种基于TCP/IP传输的网络文件系统协议.通过使用NFS协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源. 优缺点 对于 ...

  5. NFS共享存储服务(详细图文讲解)

    NFS共享存储服务(详细图文讲解) 文章目录 一.概述 (一)NFS(Network File System)网络文件系统 (二).NFS文件共享服务的搭建 1.具体操作步骤 在服务器上操作: 在客户 ...

  6. Linux YUM扩展NFS共享存储服务(配置图解)

    NFS共享存储服务 一.YUM 1.YUM (Yellow dog Updater Modified) 2.软件仓库的提供方法 3.RPM软件包的来源 4.构建CentOS 7 软件仓库 5.在软件仓 ...

  7. centos 7.6 ——NFS共享存储服务

    NFS共享存储服务 文章目录 NFS共享存储服务 nfs 原理 一.实验准备 三.实验步骤 服务端192.168.75.137配置 客户机192.168.75.134配置 查看服务端文件 注意 FTP ...

  8. NFS共享存储服务介绍与案例详细配置过程

    目录 1,什么是NFS? 2,NFS工作原理 3,使用NFS发布共享资源 4,NFS 挂载原理 5,NFS服务所需软件及主要配置文件 安装NFS服务,需要安装两个软件,分别是: 6, NFS的相关文件 ...

  9. Linux网络系列--YUM仓库部署与NFS服务(YUM本地源仓库与远程ftp仓库部署、YUM命令使用、NFS共享存储服务讲解及实验)

    文章目录 一. 构建YUM软件仓库 1.1 本地源YUM仓库配置 1.2 远程yum仓库(借助FTP协议) 1.2.1 准备网络安装源(服务器端) 1.2.2 配置软件仓库位置(客户机端) 二. YU ...

  10. NFS共享存储服务(图文详解)

    NFS共享存储服务(图文详解) 一.NFS简介 二.NSF服务 1./etc/exports 配置文件 格式 2.服务器使用NFS发布共享资源 ①安装 nfs-utils.rpcbind 软件包 ②. ...

最新文章

  1. js设置元素class方法小结及classList相关
  2. CCF-CSP 201712-2 游戏(C++实现)
  3. Software-Defined Networking之搬砖的故事
  4. python区间分组_python-进行分组时保留其他列
  5. C# #if, #else和#endif预处理指令
  6. 【机器学习基础】通俗讲解集成学习算法!
  7. Generator简单了解
  8. android 4.4.2截屏方法,android4.4.2 使用 uiautoviewer 截屏报错
  9. 嵌入式C语言的7个硬核知识
  10. canvas 实现雷达图
  11. lisp pl线线段数_样条曲线转多段线lisp
  12. 对 torch 中 dim 的总结和理解
  13. PIE二次开发(一)入门介绍及环境搭建
  14. 光头男人乐嘉:非典型主持人(图)
  15. JS,VUE检测Video视频是否全屏播放
  16. SQLServer 连接不上 找不到网络路径
  17. 工业软件开发-odoo
  18. uc/os--OSRdyTbl
  19. iptables端口复用
  20. 计算机网络之实验四---WEB 服务器配置与 HTTP 分析

热门文章

  1. C#中将字符串内容写入到txt文件中
  2. Sqlserver2014在Windows中打开Configuration Manager
  3. 【Python】编程笔记11
  4. 数据库系统概念总结:第三章 SQL
  5. tomcat mysql数据源_Tomcat mysql 配置数据源
  6. 报告解读丨企服 9 大规模化获客标杆模型(附赠案例)
  7. 环球网校签约神策数据,数据赋能教育行业创新升级
  8. 流量时代已亡,如何在 ROI 的魔咒下生存?
  9. 《CSS蝉意花园读书精记》(基础篇---------上.资料篇1)
  10. haproxy1.8安装配置