1、nfs 进程

[root@nfsserver ~]# ps -ef|egrep "nfs|rpc"
rpcuser : ? :: rpc.statd -->检查文件一致性
root : ? :: [rpciod/]
rpc : ? :: rpcbind -->rpc服务
root : ? :: rpc.mountd -->权限验证等
root : ? :: [nfsd4]
root : ? :: [nfsd4_callbacks]
root : ? :: [nfsd]
root : ? :: [nfsd]  -->nfs主进程
root : ? :: [nfsd]
root : ? :: [nfsd]
root : ? :: [nfsd]  -->nfs主进程
root : ? :: [nfsd]
root : ? :: [nfsd]  -->nfs主进程
root : ? :: [nfsd]
root : ? :: rpc.idmapd -->权限管理进程
root : pts/ :: egrep nfs|rpc

2、/etc/exports

  NFS 服务主配置文件,配置NFS具体共享服务的地点,默认内容为空,以行为单位。

3、/usr/sbin/exportfs

  NFS服务的管理命令。例如:可以加载NFS配置生效,还可以直接配置NFS共享目录,即无需配置 /etc/exports 实现共享。

  exportfs -rv   -- 加载配置生效,等价于重启 /etc/init.d/nfs  reload

  exportfs 不但可以加载配置生效,也可以通过命令直接共享目录,越过 /etc/exports,但是重启失效。

4、/usr/sbin/showmount

  常用来在客户端,查看NFS配置及挂载结果的命令

  配置 nfsserver,分别在服务端以及客户端查看挂载情况。

5、/var/lib/nfs/etab

  NFS配置文件的完整参数设定的文件(有很多没有配置但是默认就有的NFS参数)

6、nfs 参数:

  (1)rw -- 读写

  (2)sync -- 同步,同时将数据写入到内存与硬盘中,保证不丢失数据(发送端等待客户端连接,例如两个人手把手交接物品)

  (3)async -- 异步,优先将数据写入到内存,然后再写入到内存,这样效率更高,但可能会丢失数据(例如:一人将物品放在某处,另一个人再去取)

  (4)同步异步的对比:

    异步(async):将东西写到内存里,速度快,容易丢数据。队列的概念。

    同步(sync):客户端写到服务端的磁盘,速度慢,但是写到磁盘里,关机数据也不丢失。

  (5)ro -- 只读 -- read only

  (6)all_squash:

  不管访问NFS server共享目录的用户身份如何,它的权限都将被压缩成匿名用户,同时它的UID和GID都会变成nobody或nfsnobody账号身份。

  (7)root_squash:当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户。

  (8)no_root_squash:当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员。

  配NFS生产重要技巧:

  ①确保所有服务器对NFS共享目录具备相同的权限

    a、all_squash 把所有客户端都压缩成匿名用户  

    b、就是anonuid,anongid指定的UID和GID的用户

  ②所有的客户端和服务端都需要有一个相同的UID和GID的用户,即nfsnobody(UID必须相同)

(7)annonuid and anongid

   指定具体的UID和GID

7、实现当对台客户端同时挂一台NFS Server时,无论从哪个客户端写入数据,其他客户端同样也可以读写,即让所有 nfs 客户端写入到 Nfs Server 的文件或目录在Nfs Server 上的用户和组都是同一个名称 nfsusers。

  三台机器:两台客户端,一台服务端。

(1)由于客户端在添加文件的时候,默认所属的用户和组为nfsnobody,要想客户端在操作的时候将用户和组属于nfsusers,必须在每台机器上都添加该用户和组。

useradd -u  nfsusers    #将每台机器都添加该用户和组,UID和 GID 为555

(2)在配置文件 /etc/exports 中将服务端的目录 /data 进行共享,一些权限和限制可在 /var/lib/nfs/etab 中进行查看,小括号中的内容均是权限或限制。

(3)共享目录 /data 限制UID和GID为555,即用户和用户组为nfsusers

(4)此时用户和用户组是555,如果客户端没有nfsusers这个用户,那么客户端看到的就是555了,所以要把555对应的用户和组给 /data 目录。

chown -R nfsusers.nfsusers /data  #改变/data 目录为 nfsusers的用户和组

(5)挂载,服务端启动rpcbind和nfs服务,在客户端启动rpcbind服务后,进行操作。

mount -t nfs 192.168.3.137:/data /mnt    #cilent01 --将服务器下的/data 挂载到本地/mnt
mount -t nfs 192.168.3.137:/data /mnt #client02 --

server服务器的 /data 目录:

  

client01 添加一个 network.gz

  

在client02上查看添加后的内容:

  

  已经同步:

在client02上将所有删除:

  

在client01上查看

  

在server上查看

  

NFS深度解析及搭建同步NFS服务的更多相关文章

  1. 搭建WEB、NFS共享、sersync实时同步以及全网定时备份服务流程

    本次实验的主要目的: 1.搭建web服务,使用nfs服务共享的/data目录挂载到web站点目录上. 2.nfs服务器与backup服务器使用sersync实时同步/data目录中的文件. 3.bac ...

  2. 常用服务搭建(nfs/ftp/samba)

    一. NFS1. NFS简介NFS全称是network file systemNFS允许一个系统在网络上与他人共享目录和文件.通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件. 假 ...

  3. 搭建企业级NFS网络文件共享服务

    NFS服务简介 NFS是Network  File System(网络文件系统).主要功能是通过网络让不同的服务器之间可以共享文件或者目录.NFS客户端一般是应用服务器(比如web,负载均衡等),可以 ...

  4. 搭建企业级NFS网络文件共享服务说明[一]

    1.1.0. 概述: 共享/NFS目录给整个192.168.25.0/24网段主机读写 man nfs 可以查看mount的信息 rpc端口111 nfs主端口2049 1.1.1. 搭建NFS环境 ...

  5. 嵌入式环境搭建之NFS

    嵌入式环境搭建之NFS Author:tiger-johnTime:2013-08-04mail:jibo.tiger@gmail.comBlog:http://blog.csdn.net/tiger ...

  6. 【NFS项目实战二】NFS共享数据的时时同步推送备份

    [NFS项目实战二]NFS共享数据的时时同步推送备份 标签(空格分隔): Linux服务搭建-陈思齐 ---本教学笔记是本人学习和工作生涯中的摘记整理而成,此为初稿(尚有诸多不完善之处),为原创作品, ...

  7. Ubuntu 搭建 配置 nfs服务器

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

  8. Nfs+Drdb+Heartbeat 数据存储高可用服务架构方案

    一.方案的应用场景 适用于2千万-3千万PV架构的网站,Nfs数据存储高可用服务方案 备注:互联网排名前30左右公司常用的架构 二.生产环境方案部署原理图 三.生产环境服务器硬件配置: 生产环境中采用 ...

  9. 在linux配置NFS用于RAC的搭建

    rac的共享存储有很多种搭建方式,nfs是其中一种.生产环境一般不采用nfs,多用于测试. nfs搭建步骤大致分为如下: 1.划盘 给节点1挂载一块磁盘,并将磁盘分区,并格式化,再挂载 [root@n ...

随机推荐

  1. 记一次 Kafka 集群线上扩容

    前段时间收到某个 Kafka 集群的生产客户端反馈发送消息耗时很高,于是花了一段时间去排查这个问题,最后该集群进行扩容,由于某些主题的当前数据量实在太大,在对这些主题迁移过程中话费了很长一段时间,不过 ...

  2. Flutter - You need to use a different version code for your APK or Android App Bundle because you already have one with version code 1.

    前两天提交了一个版本Google Play,结果今天收到拒绝的邮件,说App内购有问题. 于是把设置里面的支付宝和微信打赏功能关闭,又打了一个aab. 然后上传到Google Play,结果提示 Yo ...

  3. Winform中使用Timer实现滚动字幕效果(附代码下载)

    场景 效果 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书.教程推送与免费下载. 实现 新建一个Fo ...

  4. 阿里云esc 安装 mysql8.0

    打开 连接工具,我用的是 MobaXterm_Personal_12.1 (官网下载地址:https://moba.en.softonic.com/) 连接到 ecs,然后移除 默认的 mariadb ...

  5. Please ensure the argon2 header and library are installed

    在CentOS上安装libargon2和libargon2-devel即可 yum install -y libargon2 libargon2-devel

  6. 微信 电脑版 HOOK(WeChat PC Hook)- 远程线程注入dll原理

    Windows加载dll的特性 1.Windows系统中,每个exe软件运行的时候,会加载系统模块kernel32.dll 2.所有加载进exe软件的系统模块kernel32.dll,内存地址都是一样 ...

  7. Markdown的常用方法总结

    1.标题 # 大标题 ## 副标题 ### 小标题 标准 2.强调 *斜体类型* **黑体字** 3.折叠 折叠长句 <details><summary>Boostnote是对 ...

  8. (一)初识NumPy库(数组的创建和变换)

    在学习数据分析时,NumPy作为最基础的数据分析库,我们能够熟练的掌握它是学习数据分析的必要条件.接下来就让我们学习该库吧. 学习NumPy库的环境: python:3.6.6 编辑器:pycharm ...

  9. Java开发中解决Js的跨域问题

    主流方法有JSONP和CORS两种,这里记一下后者的方式,理论基础就是在请求的时候在http请求头中添加如下属性: //指定允许其他域名访问 Access-Control-Allow-Origin:h ...

  10. Redis面试篇 -- 如何保证缓存与数据库的双写一致性?

    如果不是严格要求“缓存和数据库”必须保证一致性的话,最好不要做这个方案:即 读请求和写请求串行化,串到一个内存队列里面去.串行化可以保证一定不会出现不一致的情况,但会导致系统吞吐量大幅度降低. 解决这 ...