一、概念

NFS(Network File Server) 网络文件系统(映射)。网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS; NFS允许一个系统在网络上与他人共享目录和文件。

作用:用于Linux系统间进行文件共享

优点:配置简单,使用方便

缺点:兼容性差,安全性低

应用:机房集群内部的服务器共享,企业里常用nfs搭建存储系统(盘阵系统)

模式:C/S 模式

端口:NFS通常运行于2049端口

二、部署NFS

注意:

1、由于在使用NFS服务进行文件共享之前,需要使用RPC(Remote Procedure Call,远程过程调用)服务将NFS服务器的IP地址和端口号等信息发送给客户端。所以,在启动nfs之前,需要先查询rpcbind状态,如果该服务为停止状态,需要先启用rpcbind,再启用nfs;

2、图形界面会自带nfs,所以无需执行第一步骤,最小化安装时,客户端和服务端都需要安装;

3、步骤中的挂载,需在客户端上执行;

4、在设置挂载目录时,需要注意绝对路径,且该目录是否允许访问;

5、设置共享目录的权限时,除了服务权限,还要注意系统权限。

搭建步骤:

1、下载安装

# yum install nfs-utils -y

2、启动

# systemctl start nfs #开启后最好查询一下状态:systemctl status nfs

3、配置

# vim /etc/exports

/PATH HOSTNAME(rw)/(ro)

共享地址 客户机的IP  共享权限

/ken 172.20.10.7(rw) #给特定的ip共享,rw表示权限

/data *(rw) #给所有ip 共享

/data 172.20.10.0/28(rw)  #把网段共享出去 28表示掩码

/data 172.20.10.0/28(rw)  192.168.64.0/24(rw)  #设置多个网络

注意:* 表示对所有网段开放权限

nfs也可以共享多个目录

/ken 192.168.64.5(rw)

/test 192.168.64.7(rw)

4、刷新

# exportfs -r

更改属主:#chown -R nfsnobody:nfsnobody /home/renyz

或者更改权限:#chmod 757 /home/renyz

5、客户端挂载使用(客户端需要下载nfs-utils)

# mount -t nfs ServerIP:/PATH /LocalIDIR

# mount 服务机IP:/共享目录 /本地目录

# showmount -e ServerIP  #查看共享

6、开机自动挂载

服务机IP:/共享目录 /本地目录 nfs default 0 0 /etc/fstab

三、autofs(客户端操作)

nfs 是长连接的服务(客户端挂载完成之后,客户端与服务端之间连接一直保持,不管有无数据传输)

优点:响应速度快;缺点:浪费资源

自动挂载取消挂载的服务(15分钟后自动解挂)

1、安装

# yum install autofs -y

2、配置主配文件

# vim /etc/auto.master

/misc   /etc/auto.misc

#客户端挂载点目录 /etc/auto.misc

# 陷阱        规则文件

# 进入左边的路径将执行右边的规则

3、配置规则文件

# vim /etc/auto.misc

触发点 执行规则(命令)

cd  -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom

1   -fstype=nfs,rw  192.168.11.3:/renyz/1

2   -fstype=nfs,rw  192.168.11.3:/renyz/2

4、重启autofs服务

# systemctl restart autofs

5、测试

四、SSH

SSH为Secure Shell缩写,由IETF的网络小组所制定。SSH为建立在应用层基础上的安全协议。SSH是目前较可靠的,为远程登录会话和其他网络服务提供安全性的协议。

使用格式:ssh USERNAME@HOSTNAME

注意:其中USERNAME是服务端的用户名称,HOSTNAME是服务器的访问地址。

五、挂载问题一

1、问题起因:

在配置好一台NFS服务器,建立好分享目录,刷新配置以后,在另一台客户机中使用showmount -e 出现报错:

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

2、问题原因:

服务端的防火墙上默认没有开启nfs服务相应的端口

3、解决办法:

(1)简单粗暴地关闭防火墙

systemctl stop firewalld

如果开启了iptables的话,也是一样的,iptables的策略里也默认不会为nfs服务开启需要的端口

systemctl stop iptables

(2)在防火墙上开启端口

在设置了防火墙的环境中使用NFS,需要在防火墙上打开如下端口:

1. portmap 端口 111 udp/tcp;
2. nfsd 端口 2049 udp/tcp;
3. mountd 端口 "xxx" udp/tcp
系统 RPC服务在 nfs服务启动时默认会为 mountd动态选取一个随机端口(32768--65535)来进行通讯,我们可以通过编辑/etc/services 文件为 mountd指定一个固定端口:
# vim /etc/services
在末尾添加

mountd 1011/udp
mountd 1011/tcp

wq退出保存该文件

# stopsrc -s rpc.mountd
# startsrc -s rpc.mountd
# exportfs -a
# rpcinfo -p Hostname
现在我们会发现 mountd已经和端口 1011绑定了。

另外,nfs中需要通讯的服务还有 rpc.lockd和 rpc.statd,其中对lockd我们可以用类似的方法来指定固定端口,
# vim /etc/services
添加

lockd 35000/ucp
lockd 35000/tdp

# stopsrc -s rpc.lockd

# startsrc -s rpc.lockd
# exportfs -a
nfs客户端mount文件系统
# rpcinfo -p Hostname

但 rpc.statd无法通过该方法来指定端口,它只能使用随机端口,如有必要,在防火墙上要根据下面命令的显示来开放随机端口:

# no -a |grep ephemeral
tcp_ephemeral_high = 65535
tcpp_ephemeral_low = 32768
udp_ephemeral_high = 65535
udp_ephemeral_low = 32768

当然也可以不开放 rpc.statd需要的随机端口,带来的影响就是如果 nfs连接中断(比如server或client宕掉了),系统将无法通过statd来恢复连接中断前的状态,而必须重新 mount该nfs文件系统。

有关statd的详细功能说明,请参阅 http://publib.boulder.ibm.com/infocenter/
pseries/v5r3/topic/com.ibm.aix.cmds/doc/aixcmds5/statd.htm

六、挂载问题二

用mount挂载时却出现“access denied by server while mounting”这个错误;

原因及解决办法:

1、使用了非法端口,也就是使用了大于1024的端口。
这个错误,可以通过查看日志确认:
[root@local~ /]# cat /var/log/messages | grep mount
Jan 2 12:49:04 localhost mountd[1644]: refused mount request from 192.168.0.100 for /home/nfsshare/ (/home/nfsshare): illegal port 1689
解决办法:
修改配置文件/etc/exports,加入 insecure 选项,重启nfs服务,再尝试挂载。
/home/nfsshare/  *(insecure,rw,async,no_root_squash)
2、NFS版本问题
编辑/etc/sysconfig/nfs文件,找到下面:

#Turn off v2 and v3 protocol support
#RPCNFSDARGS="-N 2 -N 3"
#Turn off v4 protocol support
#RPCNFSDARGS="-N 4"  /*把这句前面的#号去掉*/

最后保存,重启nfs服务,再尝试挂载;如果挂载不上,可尝试在后面加-o nolock参数。
3、查看客户端挂载的目录是否具备读写权限,添加相应权限即可。
4、nfs服务器上的/etc/hosts中设置了客户端机器IP对应域名,去掉即可。
通过以上这几种方法,access denied by server while mounting这个错误应该可以得到解决了。

linux服务之NFS服务篇的更多相关文章

  1. Linux下开启nfs服务

    1.什么是NFS(Network FileSystem) NFS 就是 Network FileSystem 的缩写,最早之前是由 Sun 所发展出来的.他最大的功能就是可以透过网络,让不同的机器.不 ...

  2. Linux系统数据共享-NFS服务

    转载:http://www.cnblogs.com/mchina/archive/2013/01/03/2840040.html 一.NFS服务简介 NFS 是Network File System的 ...

  3. Linux系统中NFS服务配置

    文章目录:                一.NFS服务简介                二.NFS服务端配置                三.NFS客户端配置                四. ...

  4. linux服务搭建----NFS服务搭建

    nfs  服务     //配置脚本         /etc/exports     //服务器  发布目录     1> 确定需要发布的目录(想要共享的目录)     例如:      想发 ...

  5. Linux CentOS6.6 NFS服务的配置与安装

    一.简介 NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源.在NFS的应用中,本地NFS的客 ...

  6. linux基础(5)- nginx服务、nfs服务

    一.nginx服务 源码安装: yum install gcc-* glibc-* openssl openssl-devel pcre pcre-devel zlib zlib-devel -yls ...

  7. Linux 笔记 - 第二十一章 配置 NFS 服务

    一.前言 NFS(Network File System,网络文件系统),主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录.NFS 客户端(一般为应用服务器,例如web)可以通 ...

  8. Linux搭建NFS服务

    一.NFS服务简单介绍 NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源.在NFS的应用中, ...

  9. Linux网络文件共享服务之NFS

    一.NFS服务简介 NFS全称network file system 网络文件系统,基于内核的文件系统,有sun公司开发,通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件,它基于r ...

随机推荐

  1. SpringBoot整合阿里云OSS对象存储实现文件上传

    1. 准备工作: 一.首先登录阿里云OSS对象存储控制台创建一个Bucket作为你的存储空间. 二.创建Access Keyan按要求创建进行,这里的方法步骤我就不展现出来了,你们可以自行查询阿里云文 ...

  2. 结对编程_stage2

    项目 内容 这个作业属于哪个课程 2021春季软件工程(罗杰 任健) 这个作业的要求在哪里 结对项目-第二阶段 我在这个课程的目标是 从实践中学习软件工程相关知识(结构化分析和设计方法.敏捷开发方法. ...

  3. SpringBoot(九篇)

    (一) SpringBootCLI安装 (二)SpringBoot开发第一个应用 (三)SpringBoot pom.xml配置文件详解 (四)SpringBoot起步依赖Starters详解 (五) ...

  4. Apache Hudi C位!云计算一哥AWS EMR 2020年度回顾

    1. 概述 成千上万的客户在Amazon EMR上使用Apache Spark,Apache Hive,Apache HBase,Apache Flink,Apache Hudi和Presto运行大规 ...

  5. 数据库MySQL六

    介绍什么是JDBC JAVA SE也有 提高综合篇 JDBC(Java Database Connectivity) :java和数据库的连接技术,sun公司推出的一套java应用程序访问数据库的技术 ...

  6. 2. Mybatis Select

    mybatis select是mybatis 中最常用的元素之一. 对简单的查询,select 元素的配置是相当简单的: <?xml version="1.0" encodi ...

  7. xss-labs全关教程

    0x01 Level 1 查看源码,可以看到接收了name参数,并直接嵌入到HTML页面中了 没有任何过滤,而且直接会当作代码执行. 0x02 Level 2 先传入<script>ale ...

  8. C#开发医学影像胶片打印系统(一):万能花式布局的实现思路

    本篇文章将介绍开发医学影像胶片打印系统(printscu模式)遇到不规则排版时的一种思路, 一般来讲,医院打印胶片时都是整张胶片打印,但有时需要将多个病人或一个病人的多个检查打印在同一张胶片上, 这时 ...

  9. 浅谈跨域问题,CORS跨域资源共享

    1,何为跨域? 在理解跨域问题之前,你先要了解同源策略和URL,简单叙述: 1)同源策略 三同:协议相同,域名相同,端口相同: 目的:保证用户信息安全,防止恶意网站窃取数据.同源策略是必须的,否则co ...

  10. CentOS7 常用基础操作

    系统目录结构了解 CentOS系统中没有磁盘的概念,一切皆文件,/目录下的的一个个文件夹目录就相当于磁盘了,这里简单记录几个常用的目录以及对应的作用: dev:Linux一切皆文件,包括硬件也进行了文 ...