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

简单的来说:它就是是可以透过网络,让不同的主机、不同的操作系统可以共享存储。

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

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

需要安装的软件包:nfs-utils (NFS服务的主程序)  、 rpcbind (RPC服务的主程序)

程序目录:/usr/lib/systemd/system/nfs-server.service    、  /usr/sbin/rpcbind 

服务器端nfs配置文件:/etc/exports

NFS的优势:

  • 节省本地存储空间,将常用的数据存放在一台NFS服务器上且可以通过网络访问,那么本地终端将可以减少自身存储空间的使用。
  • 用户不需要在网络中的每个机器上都建有Home目录,Home目录可以放在NFS服务器上且可以在网络上被访问使用。
  • 一些存储设备CDROM和Zip(一种高储存密度的磁盘驱动器与磁盘)等都可以在网络上被别的机器使用。这可以减少整个网络上可移动介质设备的数量。

NFS文件共享服务的搭建:
服务器端 (Rhel7      ip: 192.168.10.17)

客户端    (Centos 6.5 ip: 192.168.10.24)

  1. 服务器端安装相应的软件包:  yum  -y  install  rpcbind  nfs-utils
  2. 服务器端关闭SElinux和防火墙:setenforce  0  ; systemctl  stop  firewalld
  3. 创建共享目录(也可以不创建,直接共享现存的目录),并且赋予权限:mkdir  /share  ;    chmod   777    /share
  4. 修改共享配置文件 /etc/exports ,然后重新加载exports文件:exportfs  -a
  5. 启动 rpcbind服务和nfs服务: systemctl  start  rpcbind ; systemctl  start  nfs
  6. 客户端关闭Selinux和防火墙:setenforce  0  ; service  iptables  stop
  7. 客户端安装rpcbind,并且启动:  yum  -y  install  recbind  ;  service   rpcbind  start
  8. 创建挂载点,查看,并且挂载:mkdir  /data ;  showmount  -e  192.168.10.17;  mount  -t nfs  192.168.10.17:/share  /data

注:rpcbind软件包yum安装必须用本地源安装!!用网络源会报错

1:服务器端安装相应的软件包:  yum  -y  install  rpcbind  nfs-utils

2: 服务器端关闭SElinux和防火墙:setenforce  0  ; systemctl  stop  firewalld

3: 创建共享目录(也可以不创建,直接共享现存的目录),并且赋予权限:mkdir  /share  ;    chmod   777    /share

4:修改共享配置文件 /etc/exports ,然后重新加载exports文件:expotfs  -a

/share  192.168.10.0/24(rw,sync,no_root_squash)

5:systemctl  start  rpcbind ; systemctl  start  nfs

6:客户端关闭SElinux和防火墙:setenforce  0  ; service  iptables  stop

7:客户端安装rpcbind,并且启动:  yum  -y  install  recbind  ;  service  rpcbind  start

8:创建挂载点,查看,并且挂载:mkdir  /data ;  showmount  -e  192.168.10.17;  mount  -t nfs  192.168.10.17:/share   /data

注:这里我已经在客户端的hosts文件中添加了Redhat解析192.168.10.17

相关文章:  Linux文件共享服务之Samba

Linux文件共享服务之Vsftp

Linux文件共享服务之NFS的更多相关文章

  1. Linux文件共享服务之Vsftp

    目录 FTP Vsftp服务的搭建 ftp.sftp.vsftp.vsftpd的区别 FTP FTP的工作原理: FTP会话时包含了两个通道,一个叫控制通道,一个叫数据通道.控制通道是和FTP服务器进 ...

  2. Linux文件共享服务之Samba

    目录 Samba Samba的配置 Samba Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写,即为服务器消息块 ...

  3. Linux网络服务12——NFS共享服务

    Linux网络服务12--NFS共享服务 一.NFS简介 端口号:TCP.UDP 111端口 NFS(Network File System)网络文件系统,是一种基于TCP/IP传输的网络文件系统协议 ...

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

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

  5. linux文件共享服务

    linux文件共享配置 Windows访问linux 以下操作都在关闭防火墙和关闭selinux的环境下. 关闭防火墙的命令:service iptables stop关闭SELINUX命令:sete ...

  6. Linux文件共享服务 FTP,NFS 和 Samba

    Linux 系统中,存储设主要有下面几种: DAS DAS 指 Direct Attached Storage,即直连附加存储,这种设备直接连接到计算机主板总线上,计算机将其识别为一个块设备,例如常见 ...

  7. Linux 学习笔记_12_Windows与Linux文件共享服务_1.1_--Samba(上)

    Samba简介:在UNIX系统中,Samba是通过服务器消息块协议(SMB)在网络上的计算机之间,共享文件和打印服务的软件包. SMB简介:Server Message Block,SMB协议是一种服 ...

  8. linux文件共享之samba,nfs的搭建

    Samba server简介 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局 ...

  9. Linux 学习笔记_12_Windows与Linux文件共享服务_1.1_--Samba(下)Samba经典应用案例

    五.[Samba应用案例二] 设置Samba共享目录/software,允许用户jack和mary可以通过Windows客户端访问,并具有读写权限. 1.创建目录/software,添加用户jack, ...

随机推荐

  1. ModuleNotFoundError: No module named 'django'

    1 .就在前天 我还能用python3 manage.py runserver 0.0.0.0:8000 启动Django  今天就突然报错了(心情极为复杂,你这也能信?)   2.打印python找 ...

  2. 理解函数式编程中的函数组合--Monoids(二)

    使用函数式语言来建立领域模型--类型组合 理解函数式编程语言中的组合--前言(一) 理解函数式编程中的函数组合--Monoids(二) 继上篇文章引出<范畴论>之后,我准备通过几篇文章,来 ...

  3. ECMAScript 2016(ES7)新特性简介

    简介 自从ES6(ECMAScript 2015)在2015年发布以来,ECMAScript以每年一个版本的速度持续向前发展.到现在已经是ECMAScript 2020了. 每个版本都有一些新的特性, ...

  4. Mysql给外网IP授权访问

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'58.221.44.174' IDENTIFIED BY 'njqt123456' WITH GRANT OPTION; ...

  5. 危害api收集

    以下每一条代码,无论其通过什么方式被调用,在哪个类里被调用,传入什么参数,都具有唯一不变性(在逆向出来的的smali文件里),故可以作为匹配的凭证.     网络操作相关: Ljava/net/URL ...

  6. 你只会用 map.put?试试 Java 8 compute ,操作 Map 更轻松!

    今天栈长分享一个实用的 Java 8 开发技能,那就是 Map 接口中增加的 compute 方法,给 Map 集合计算更新用的. compute简介 如下所示,Java 8 在 Map 和 Conc ...

  7. C++如何解析函数调用

    C语言是一个简单的语言.用户针对每一个函数,只能设置一个唯一的函数签名.但是C++而言,就给了我们很多的灵活性: 你可以将多个函数设置为相同的名字(overloading) 你可以使用内置操作符重载( ...

  8. Github Actions 还能做这些事

    前言 最近公司内部项目的发布流程接入了 GitHub Actions,整个体验过程还是比较美好的:本文主要目的是对于没有还接触过 GitHub Actions的新手,能够利用它快速构建自动测试及打包推 ...

  9. Manjaro Linux平台用pyinstaller打包python可执行文件

    技术背景 当我们创建一个python项目,最终的成果如果希望用户能够不依赖于python源代码也能够正常的执行,就会比较的人性化.因为源代码数量众多,很难让每个用户都自行管理所有的源代码,因此我们需要 ...

  10. dll远线程注入

    原理 核心函数 CreateRemoteThread:让在其他进程中创建一个线程变成可能 核心思想 HANDLE WINAPI CreateRemoteThread( __in HANDLE hPro ...