一、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. Archlive新年第一棒: 基于2.6.37稳定内核的archlive20110107

    先上图,再来说明吧... 下载地址: http://u.115.com/file/t2cd0ea120 先上个本机器运行teamviewer的效果图吧... 如假包换的 2.6.37,  担保是目前最 ...

  2. HDUOJ------(1230)火星A+B

    火星A+B Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submi ...

  3. PAT 1087 All Roads Lead to Rome

    PAT 1087 All Roads Lead to Rome 题目: Indeed there are many different tourist routes from our city to ...

  4. Eclipse 调试器:零距离接触实战技巧

    http://my.oschina.net/willSoft/blog/37784调试的方法虽然千千万万,但归根结底,就是找到引发错误的代码.Eclipse调试器的目标是让程序员能对本地或远程程序进行 ...

  5. RabbitMQ 安装和监控[原,转]

    在Windows上安装Rabbit MQ 指南,最好的是这篇<Rabbit MQ Windows Installation guide>,其中还包括了使用.NET RabbitMQ.Cli ...

  6. Kafka中Topic级别配置

    一.Kafka中topic级别配置 1.Topic级别配置 配置topic级别参数时,相同(参数)属性topic级别会覆盖全局的,否则默认为全局配置属性值. 创建topic参数可以设置一个或多个--c ...

  7. python学习笔记013——模块中的私有属性

    1 私有属性的使用方式 在python中,没有类似private之类的关键字来声明私有方法或属性.若要声明其私有属性,语法规则为: 属性前加双下划线,属性后不加(双)下划线,如将属性name私有化,则 ...

  8. Linux内核(9) - 精华版 之 方法论

    到目前为之,博客上分享的精华篇都可以归为方法论的范畴,在很多时候,都是方法论要比细节紧要得多.而这些精华篇又可细分为三个专题:Linux大史记:内核学习的方法论:驱动开发的方法论. Linux大史记 ...

  9. 【JavaWeb】(10)微信公众号开发进阶

    因为普通开发会有很多的权限限制,所以我们能够申请一个測试账号来开发体验一下微信公众号的其它接口功能. 申请測试号我就不介绍了.非常easy.申请成功后,还须要配置Url地址和token,和我们普通公众 ...

  10. [gj]HK一行所见闻

    香港一行 20多年来,未未去过HK,前段时间由于工作关系去了趟HK.感触良多. 一清早,福田过关,做火车,做地铁,一通到了目的地. 总结对那边的印象: 1,所有人都是粤语,包括工作交流.而且他们不怎么 ...