理论部分

NFS(网络文件系统):让网络上的不同linux/unix系统机器实现文件共享

nfs本身只是一种文件系统,没有提供文件传递的功能,但却能让我们进行文件的共享,原因在于 NFS 使用RPC服务,用到NFS的地方都需要启动RPC服务,无论是NFS客户端还是服务端

nfs和rpc的关系:nfs是一个文件系统,负责管理分享的目录;rpc负责文件的传递

nfs启动时至少有rpc.nfsd和rpc.mountd2个daemon

rpc.nfsd主要是管理客户机登陆nfs服务器时,判断改客户机是否能登陆,和客户机ID信息。

Rpc.mountd主要是管理nfs的文件系统。当客户机顺利登陆nfs服务器时,会去读/etc/exports文件中的配置,然后去对比客户机的权限。

协议使用端口:

RPC:111 tcp/udp

nfsd:  2049 tcp/udp

mountd:RPC服务在 nfs服务启动时默认会为 mountd动态选取一个随机端口(32768--65535)来进行通讯 ,可以在/etc/nfsmount.conf文件中指定mountd的端口

nfs服务器启动nfs服务时,先向rpc服务注册,然后通过rpc服务来监听客户端的请求;

客户端连接过程:

1、客户端的rpc服务向服务端的rpc服务询问nfsd和mountd的端口并测试连通性

2、客户端发送挂载请求

3、服务端根据/etc/exports配置文件确定是否允许挂载

4、挂载成功/失败

NFS服务器安装与配置

1、安装nfs-utils和nfs-utils-lib

yum install nfs-utils -y    #nfs服务的主程序包

yum install nfs-utils-lib -y    #nfs支持库

2、nfs的主配置文件为/etc/nfsmount.conf 一般默认即可,在此不做介绍

3、修改/etc/exports添加共享目录

内容格式:

共享目录        客户端(导出选项)

客户端指定方式

example

单个IP地址

192.168.10.5

网段

192.168.10.0/24、192.168.10.0/255.255.255.0 、192.168.10.*

域名

linux.lzs.org

指定所在域内的所有客户端

*.lzs.org

使用通配符*指定所有

*

导出选项

说明

rw

读写权限

ro

只读

root_squash

当使用root登录时,被映射成nfsnobody(建议使用)

no_root_squash

关闭root_squash

all_squash

无论以什么身份登录,都映射成nfsnobody

hide

在共享目录中不共享子目录

nohide

共享NFS目录的子目录

例如:

vim /etc/exports

/tmp/share      *(rw)

4、开启nfs服务

service nfs start

管理共享目录

使用exportfs命令可以共享、显示或不共享/etc/exports中定义的目录

语法格式:exportfs 选项 [目录]

选项

说明

-a

共享或不共享/etc/exports中定义的共享目录,常与r或u一起使用

-r

重新共享指定目录

-u

不共享指定目录

-o

可以指定导出选项(后面所跟的目录可以不是/etc/exports中的目录)

-v

查看共享的目录及其导出选项

使用showmount命令可以查看指定服务器的共享目录

语法格式:showmount -e NFS_IP

查看/var/lib/nfs/etab文件可以查看nfs服务器共享目录和导出选项的详细信息

客户端挂载nfs文件系统

mount -t nfs NFS_IP:共享目录 本地挂载点

注意要点:

1、开启nfs前要确保rpcbind服务已启动

2、服务端和客户端都要开启rpc服务

3、最好关闭iptables和selinux

linux格式化nfs,NFS协议详解与配置实现相关推荐

  1. Linux网络-UDP/TCP协议详解

    Linux网络-UDP/TCP协议详解 零.前言 一.UDP协议 二.TCP协议 1.应答机制 2.序号机制 3.超时重传机制 4.连接管理机制 三次握手 四次挥手 5.理解CLOSE_WAIT状态 ...

  2. linux格式化4t硬盘分区,详解:Linux 硬盘,格式化,分区 详解

    disk是Linux自带的硬盘分区工具,可以对硬盘进行分区,或者对硬盘分区进行调整. 首先选择要进行操作的磁盘 [root@linuxidc ~]# fdisk /dev/sdb 输入m,列出可以执行 ...

  3. [linux] Linux网络之TCP协议详解

    目录 1. 传输层 2. 端口号 3. TCP协议 3.1 TCP协议的特性 3.1.1 面向连接 3.1.2 可靠传输 3.1.3 面向字节流 3.2 TCP报头 3.3 TCP连接管理及可靠性问题 ...

  4. n3k配置vpc是否还需要配置hsrp_HSRP协议详解:配置HSRP实现网关的冗余备

    在配置HSRP之前,有必要深刻了解一些基础的概念. 什么是HSRP协议?HSRP也叫热备份由协议,即第一跳冗余协议,第一跳实际就是网关.从而实现网关的冗余和自动切换.该协议确保了当网络边缘设备或接入链 ...

  5. IP协议详解---Linux学习笔记

    网络层概述: IP服务的特点: IP协议为上层协议提供无状态.无连接.不可靠的服务. 无状态:IP通讯双方不同步传输状态的信息,因此所有IP数据报发送.传输.接收都是相互独立的,没有上下文关系.这样同 ...

  6. linux下挂载共享目录,linux mount挂载共享目录详解

    linux mount挂载共享目录详解 这里有新鲜出炉的 Linux 常用命令,程序狗速度看过来! Linux Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 ...

  7. Linux文件系统的目录结构详解(转)

    Linux文件系统的目录结构详解(转) 原文链接https://www.cnblogs.com/cyjaysun/p/4462325.html 一.前 言 文章对Linux下所有目录一一说明,对比较重 ...

  8. linux脚本日期时间,Linux 日期和时间操作详解

    Linux 日期和时间操作详解 发布时间:2012-11-27 15:10:07   作者:佚名   我要评论 Linux将时钟分为系统时钟(System Clock)和硬件(Real Time Cl ...

  9. linux proc目录作用,Linux下的proc目录详解

    Linux下的proc目录详解 [复制链接] 文章结构: 1.什么是proc目录 2. 初识proc目录 3. 从proc窥看系统详情 1.什么是proc目录 proc是Linux系统下一个很重要的目 ...

最新文章

  1. 『转载』在vs2008(2005)winform中,打开office文档
  2. [ARM异常]-ARMV8-aarch64 异常(中断)是如何跳转到向量表的
  3. MySQL高级 - 锁 - InnoDB行锁 - 争用情况查看
  4. github 码云 获取_开发记录篇使用VS2019管理github项目
  5. mybatis分页应用
  6. linux从一台服务器传输文件到另一台服务器上
  7. android 源码打patch
  8. 【TSP】基于matlab蚁群算法求解旅行商问题【含Matlab源码 1583期】
  9. HDU 2144(最长公共子序列+并查集)
  10. Android 支付宝小程序跳转
  11. 我叫mt4公会攻城战服务器维护中,我叫MT4公会攻城战怎么打 我叫MT4公会攻城战打法攻略...
  12. IAR下载并创建Example工程
  13. JMeter TCP取样器的坑
  14. 【机器学习基础】泛化能力、过拟合、欠拟合、不收敛、奥卡姆剃刀原则
  15. iView组件+Django实现前后端分离上传图片
  16. java+epub+阅读器_java – 转到epub阅读器页面(PageTurner)
  17. JS,统计图表大全--三、饼形图(饼图及环形图)
  18. ThinkPHP5客户关系管理系统(CRM)
  19. Java 使用word模板创建word文档报告教程
  20. 第三篇 考研这一年

热门文章

  1. java.lang.Class.isPrimitive()用法解析
  2. sass import 小记
  3. NI笔试——大数加法
  4. Ubuntu 学习系列-安装Flash播放器
  5. 微软MCITP系列课程(十)WSUS服务器搭建
  6. 雨巷(A Lane in the Rain)
  7. ssm线上文具销售系统答辩PPT模板
  8. 本地信息搜索php程序,PHP搜索引擎
  9. linux java mysql 备份 runtime_Mysql如何在linux中实现定时备份
  10. webpack html自动引入,开发必备的webpack4