一、NFS简介

NFSNetwork File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。

NFS最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导开发,最新为4.1版本NFS数据传输基于RPC(Remote Procedure Call)协议。

NFS 的基本原则是“容许不同的客户端及服务端通过一组RPC分享相同的文件系统”,它是独立于操作系统,容许不同硬件及操作系统的系统共同进行文件的分享。

NFS在文件传送或信息传送过程中依赖于RPC协议。RPC (远程过程调用) 是能使客户端执行其他系统中程序的一种机制。NFS本身是没有提供信息传输的协议和功能的,但NFS却能让我们通过网络进行资料的分享,这是因为NFS使用了一些其它的传输协议。而这些传输协议用到这个RPC功能的。可以说NFS本身就是使用RPC的一个程序。或者说NFS也是一个RPC SERVER。所以只要用到NFS的地方都要启动RPC服务,不论是NFS SERVER或者NFS CLIENT。这样SERVER和CLIENT才能通过RPC来实现PROGRAM PORT的对应。

简单来说:NFS可以透过网络,让不同的主机、不同的操作系统实现共享存储。可以这么理解RPC和NFS的关系:NFS是一个文件系统,而RPC是负责负责信息的传输。

二、NFS搭建

2.1 NFS服务端所需的软件列表
nfs-utils: 这个是NFS服务主程序(包含rpc.nfsd、rpc.mountd、daemons)
rpcbind: 这个是CentOS6.X的RPC主程序(CentOS5.X的为portmap)

2.2 检查软件是否安装

cat /etc/redhat-release #查看系统版本
uname -r #查看系统内核版本
uname -m #查看系统是否64位
rpm -qa nfs-utils rpcbind #检查安装的软件包

2.3 如果 nfs-utils 和 rpcbind 没有安装,可以使用 yum 命令进行安装

yum install -y nfs-utils rpcbind

2.4 启动NFS服务端相关服务 (CentOS7.4)

/bin/systemctl start rpcbind.service
/bin/systemctl start nfs.service

如果是CentOS 6.x,执行以下脚本

service rpcbind start
service nfs start

三、 配置NFS服务端

3.1 创建共享目录,例如是 /data/nfs_share

mkdir -p /data/nfs_share

3.2 给目录添加权限

chown -R nfsnobody /data/nfs_share

3.2 编辑配置文件

vi /etc/exports

3.3 添加配置 (例如共享网段为 192.168.1.*)

/data/nfs_share 192.168.1.0/(rw,sync)

3.4 使配置生效

exportfs -r

3.5 重启服务

/bin/systemctl restart rpcbind.service
/bin/systemctl restart nfs.service

如果是CentOS 6.x

service rpcbind start
service nfs start

3.6 查询NFS服务器

showmount -e localhost

如果正确,会打印 /data/nfs_share 192.168.1.0/24

四、 配置NFS客户端

4.1 客户端也需要安装rpcbind和nfs-utils软件,并且设置开机自启动。(只需要启动rpcbind即可)

systemctl enable rpcbind.service  

( CentOS 6.x 的命令是 chkconfig rpcbind on )

4.2 查看可以挂载目录 (这里假设NFS服务器IP是 192.168.1.1)

showmount -e 192.168.1.1

会打印出可以挂载的目录信息

4.3 创建挂载目录(目录路径根据实际情况创建)

mkdir /mnt/nfs_share 

4.3 挂载目录

mount -t nfs 192.168.1.1:/data/nfs_share/  /mnt/nfs_share -o proto=tcp -o nolock

4.4 如果需要开机自动挂载目录,需要将挂载命令放在rc.local里面

五、 配置Windows NFS客户端

如果客户端是Windows,我们需要在程序和功能里面启用 NFS客户端。

控制面板 -> 程序 -> 程序和功能 --> 勾选 NFS服务,NFS客户端,确定。

之后可以在命令行使用mount命令挂载远程目录 (比如挂载到 Z 盘)

mount ip:/192.168.1.1/ /data/nfs_share/ z:

另外也可以在我的电脑(计算机) 中,创建映射网络驱动器,来挂载远程目录。

如果Windows版本不支持NFS服务,那么需要安装  Windows Services for UNIX ,然后在Korn Shell (开始菜单 -> 程序 ->  Windows Services for UNIX -> Korn Shell) 中执行 mount命令。

六、 配置防火墙

如果网络环境中需要开启防火墙,那么需要在防火墙上打开如下端口:

1. portmap 端口 111 udp/tcp;
2. nfsd 端口 2049 udp/tcp;
3. mountd 端口 "随机(32768-65535)" udp/tcp

防火墙常用命令

#启动防火墙
systemctl start firewalld.service
#关闭防火墙
systemctl stop firewalld.service
#重新载入
systemctl restart firewalld.service
#查看配置结果
firewall-cmd --list-all
#添加规则(指定端口,--permanent永久生效,没有此参数重启后失效)
firewall-cmd --zone=public --add-port=8080/tcp --permanent
#添加规则(指定IP与端口)
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.2" port protocol="tcp" port="" accept"
#删除规则
firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.1.2" port protocol="tcp" port="" accept"
#添加规则(端口段)
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.2" port protocol="tcp" port="-" accept"

Liunx下NFS服务器的搭建与配置的更多相关文章

  1. Linux下NFS服务器的搭建与配置

    一.NFS服务简介 NFS 就是 Network FileSystem 的缩写,最早之前是由sun 这家公司所发展出来的. 它最大的功能就是可以透过网络,让不同的机器.不同的操作系统.可以彼此分享个别 ...

  2. Linux下NFS服务器的搭建与配置(转载)

    一.NFS服务简介 NFS 就是 Network FileSystem 的缩写,最早之前是由sun 这家公司所发展出来的. 它最大的功能就是可以透过网络,让不同的机器.不同的操作系统.可以彼此分享个别 ...

  3. Linux下NFS服务器的搭建与配置(转)

    一.NFS服务简介 NFS 就是 Network FileSystem 的缩写,最早之前是由sun 这家公司所发展出来的. 它最大的功能就是可以透过网络,让不同的机器.不同的操作系统.可以彼此分享个别 ...

  4. ubuntu下nfs服务器的安装与配置

    nfs服务器的安装和配置 1.安装nfs 服务器,前提是你的系统能连上网. 2.设置/etc/exports配置文件 (1) 进入/etc/exports配置文件 (2) 在最后一行加入红色那行,/h ...

  5. CentOS NFS服务器的搭建与配置

    1.查看系统是否已安装NFS [root@bogon ~]# rpm -qa | grep nfs [root@bogon ~]# rpm -qa | grep rpcbind 2.安装NFS [ro ...

  6. CentOS 6.7下 Samba服务器的搭建与配置(share共享模式)

    https://www.linuxidc.com/Linux/2016-12/138220.htm

  7. 4、nfs服务器的搭建

    4.1.nfs服务介绍: samba服务器一般互联网企业不会使用 nfs服务的端口是不固定的,需要先启动rpc服务对nfs服务端口进行注册 4.2.安装nfs: rpm -qa nfs-utils r ...

  8. CentOS 6.3下Samba服务器的安装与配置方法(图文详解)

    这篇文章主要介绍了CentOS 6.3下Samba服务器的安装与配置方法(图文详解),需要的朋友可以参考下   一.简介  Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件, ...

  9. 【转载】Linux NFS服务器的安装与配置

    一.NFS服务简介 NFS 是Network File System的缩写,即网络文件系统.一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布.功能是通过网络让不同的机器.不同的操 ...

随机推荐

  1. js firstChild 、nextSibling、lastChild、previousSibling、parentNode

    nextSibling下一个兄弟节点 previousSibling上一个兄弟 parentNode父亲节点 <select><option value="zs" ...

  2. MyEclipse 8.6插件下载

    (源自网络:http://hi.baidu.com/%D4%B5%BA%A3%C7%E9%C9%EE/blog/item/ad86323d1e80a5e33d6d97c6.html  和 http:/ ...

  3. Python 的 Matplotlib 画图库

    Matplotlib安装 NumPy库方便数值运算,但枯燥的数据并不利于人们的直观理解. 数据需要可视化. Matplotlib:一个数据可视化函数库 使用前需要安装  利用Python自带 ...

  4. Android开发学习之数据存取

    Android系统中提供了一种文件读写的方法,可以将一些数据以文件的形式保存在设备中.比如一些word文档,PDF文档,图片,音频,视频文件等. 使用文件读写方法的步骤: 1.调用Context.op ...

  5. 关于JavaScript中Get/Set访问器

    有时候大家可能会纳闷,在使用JavaScript的时候,只需要给一个系统变量赋值就可以触发一系列操作去相应. 但是我们在写Js的时候,修改了一个自定义变量,却连个P都没有.是不是很郁闷呢? 其实,我们 ...

  6. PLSQL_Oracle Exception异常分类、异常抛出、异常处理、异常传播(概念)

    2014-06-03 Created By BaoXinjian

  7. Linux 配置rdate时间服务器方法

    配置多台服务器时,经常需要让各个服务器之间的时间保持同步,如果服务器有外网环境,可以直接同外部的时间服务器更新时间,可以采用rdate命令更新时间: rdate -s tick.greyware.co ...

  8. python标准库介绍——25 errno 模块详解

    ==errno 模块== ``errno`` 模块定义了许多的符号错误码, 比如 ``ENOENT`` ("没有该目录入口") 以及 ``EPERM`` ("权限被拒绝& ...

  9. 常用IP核

    前言 记录自己用到的模块,随时补充. 主要分类: 一.常用模块 1-FIFO FIFO分为两种,一是输入输出时钟相同(Common clock)的 fifo ;二是输入输出时钟不相同(Independ ...

  10. 【Android】6.2 AlertDialog(警告对话框)

    分类:C#.Android.VS2015: 创建日期:2016-02-08 一.简介 AlertDialog也是Android系统当中常用的对话框之一. 在一个AlertDialog中,可以有一个Bu ...