td p { margin-bottom: 0cm }
p { margin-bottom: 0.25cm; line-height: 120% }
a:link { }

补充知识:

  • RPC
    主程序:rpcbind



    我们的
    NFS
    其实可以被视为一个 RPC
    服务,而要启动任何一个 RPC
    服务之前,我们都需要做好
    port
    的对应 (mapping)
    的工作才行,这个工作其实就是『
    rpcbind
    』这个服务所负责的!也就是说,
    在启动任何一个 RPC
    服务之前,我们都需要启动 rpcbind
    才行! (在
    CentOS
    5.x 以前这个软件称为 portmap,在
    CentOS
    6.x 之后才称为 rpcbind
    的!)

  • NFS
    主程序:nfs-utils

就是提供
rpc.nfsd
及 rpc.mountd
这两个 NFS
daemons 与其他相关 documents
与说明文件、执行文件等的软件!这个就是
NFS
服务所需要的主要软件啦!一定要有喔!

好了,知道我们需要这两个软件之后,现在干嘛?赶快去你的系统先用
RPM
看一下有没有这两个软件啦!
没有的话赶快用 RPM
或 yum
去安装喔!不然就玩不下去了!

例题:

请问我的主机是以 RPM
为套件管理的 Linux
distribution ,例如 Red
Hat, CentOS 与 SuSE
等版本,那么我要如何知道我的主机里面是否已经安装了
rpcbind
与 nfs
相关的软件呢?

答:

简单的使用『 rpm
-qa | grep nfs 』与『 rpm
-qa | grep rpcbind 』即可知道啦!如果没有安装的话,
在 CentOS
内可以使用『 yum
install nfs-utils 』来安装!

环境:

系统平台:Centos
7

防火墙
:关闭

1.编辑exports文件,配置共享目录以及权限

[root@localhost
var]# vim /etc/exports

expports文件中的权限设置可以限制用户的访问,目录本身的权限也限制着用户的访问。

[shao@localhost
nfs]$ ll

总用量
4

-rw-rw-r--.
1 qi qi 0 4月 11
22:20 qi

-rw-rw----.
1 shao shao 5 4月 11
22:23 shao

2.开启nfs服务:

1)首先开启rpcbind

2)开启nfs

3.关闭防火墙(实验环境,真实环境时参见下文对防火墙配置):

qi@zhuandshao:~$
showmount -e 192.168.1.1

clnt_create:
RPC: Port mapper failure - Unable to receive: errno 113 (No route to
host)

#以上在客户端测试时出现的问题就是由于防火墙的缘故,使得端口无法使用

[root@localhost
var]# systemctl stop firewalld.service

4.客户端挂载

qi@zhuandshao:~$
sudo mount -t nfs 192.168.1.1:/var/nfs /mnt/nfs

5.设置nfs开机自启动

[root@localhost
~]# systemctl enable rpcbind.service

[root@localhost
~]#

[root@localhost
~]# systemctl enable nfs-server.service

ln
-s '/usr/lib/systemd/system/nfs-server.service'
'/etc/systemd/system/multi- user.target.wants/nfs-server.service'

6.端口

1)nfs需要的端口

  • rpcbind
    启动的 port
    在 111
    ,同时启动在 UDP
    与 TCP;

  • nfs
    本身的服务启动在 port
    2049 上头!

  • 其他 rpc.*
    服务启动的 port
    则是随机产生的,因此需向 port
    111 注册。

2)nfs打开的端口:

[root@localhost
qi]# netstat -tulnp| grep -E '(rpc|nfs)'

tcp
0 0 0.0.0.0:111 0.0.0.0:*
LISTEN 1480/rpcbind

tcp
0 0 0.0.0.0:20048 0.0.0.0:*
LISTEN 2528/rpc.mountd

tcp6
0 0 :::111 :::* LISTEN
1480/rpcbind

tcp6
0 0 :::20048 :::* LISTEN
2528/rpc.mountd

udp
0 0 0.0.0.0:111 0.0.0.0:*
1480/rpcbind

udp
0 0 0.0.0.0:669 0.0.0.0:*
1480/rpcbind

udp
0 0 0.0.0.0:20048 0.0.0.0:*
2528/rpc.mountd

udp6
0 0 :::111 :::*
1480/rpcbind

udp6
0 0 :::669 :::*
1480/rpcbind

udp6
0 0 :::20048 :::*
2528/rpc.mountd

7.设置开机挂载

如果想在客户机开机时就自动挂载服务器下的/var/nfs的话,就要在客户机下的/etc/fstab添加东西了

192.168.1.1:/var/nfs
/mnt/nfs nfs defaults 0 0

这样就行了,也不用每次都自己mount。

出现的问题:

[root@localhost
/]# systemctl start nfs

Job
for nfs-server.service failed. See 'systemctl status
nfs-server.service' and 'journalctl -xn' for details.

没建立/etc/exports里的目录的问题!!!

参考资料:

1.鸟哥的Linux私房菜(服务器篇):http://cn.linux.vbird.org/linux_server/0330nfs_2.php

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

  1. CentOS7下NFS服务安装及配置固定端口

    CentOS7下NFS服务安装及配置 系统环境:CentOS Linux release 7.4.1708 (Core) 3.10.0-693.el7.x86_64 软件版本:nfs-utils-1. ...

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

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

  3. CentOS 6.3下NFS安装配置

    CentOS 6.3下NFS安装配置 一.环境介绍   NFS服务器:CentOS6.3 192.168.8.20 NFS客户端:CentOS6.5 192.168.8.39 二.服务器端安装配置   ...

  4. Ubuntu 12.04下NFS安装配置图解

    以前就听说过nfs服务,但是一直没有用,在学习制作根文件系统的时候,才算是真正用上它了,我感觉它还不错,通过它“挂载”制作好的根文件系统.它在嵌入式中的角色就用下面的一张图说明吧! 用网线将主机与开发 ...

  5. centos7下MySQL的配置

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

  6. centos7下NFS使用与配置

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

  7. centos7下NFS配置

    NFS是Network File System的缩写,即网络文件系统.客户端通过挂载的方式将NFS服务器端共享的数据目录挂载到本地目录下. 前言 四台机器: ,218三台机器的/root/filedi ...

  8. CentOS7下NFS服务安装及配置

    系统环境:CentOS Linux release 7.4.1708 (Core) 3.10.0-693.el7.x86_64 软件版本:nfs-utils-1.3.0-0.48.el7_4.x86_ ...

  9. centOS7下Spark安装配置

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

随机推荐

  1. AndroidStudio运行项目出现Unsupported method: AndroidProject.getPluginGeneration()错误解决办法

    一.错误描述 今天在使用AndroidStudio运行项目时出现了一个Unsupported method: AndroidProject.getPluginGeneration()错误,如下图所示: ...

  2. DotNet友元程序集解析

    项目开发的过程中,调试使用的可能是最多的操作.任何代码写出来都需要经过调试和整合,以此扩展和提升程序的稳定性和可靠性.谈到.NET的单元测试,在这里就得提提.NET的友元程序集这一特性,也借用.NET ...

  3. 1677: [Usaco2005 Jan]Sumsets 求和

    1677: [Usaco2005 Jan]Sumsets 求和 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 626  Solved: 348[Submi ...

  4. 用php+mysql+ajax+jquery做省市区三级联动

    要求:写一个省市区(或者年月日)的三级联动,实现地区或时间的下拉选择. 实现技术:php ajax 实现:省级下拉变化时市下拉区下拉跟着变化,市级下拉变化时区下拉跟着变化. 使用chinastates ...

  5. python 接口自动化测试(二)

    代码实现 1.XlsEngine.py # -*- coding:utf-8 -*- __author__ = 'yanghaitao' import xlrd import xlwt class X ...

  6. golang socket 分析

    socket:tcp/udp.ip构成了网络通信的基石,tcp/ip是面向连接的通信协议 要求建立连接时进行3次握手确保连接已被建立,关闭连接时需要4次通信来保证客户端和,服务端都已经关闭 在通信过程 ...

  7. zabbix_agent-linux下的安装

    scp 10.25.133.184:/usr/local/zabbix-2.4.1.tar.gz /usr/local 1.为了安全考虑zabbix只使用普通用户运行,假如你当前用户叫ttlsa,那么 ...

  8. git 远程仓库管理

    要参与任何一个 Git 项目的协作,必须要了解该如何管理远程仓库.远程仓库是指托管在网络上的项目仓库,可能会有好多个,其中有些你只能读,另外有些可以写.同他人协作开发某 个项目时,需要管理这些远程仓库 ...

  9. 初学canvas,遇到width和height显示问题和用excanvas.js兼容IE问题

    /*-----------------------ITEYE 祈祷幸福博客原创,转载请注明.-------------------*/ 第一次认真写技术博客文~~~若有不严谨的地方,望指正. 今天是第 ...

  10. Linux之例行(任务调度)

    一. 例行命令之at 1.1 at 仅执行一次就从Linux任务中取消  1.2 at 指令可以将工作命令写入工作记录文件,工作记录文件默认存放在/var/spool/at目录内  1.3 at 工作 ...