nfs网络文件系统原理与搭建

author author     2022-11-13     366

关键词:

NFS工作流程图

步骤1:先启动RPC服务
步骤2:启动NFS服务(向RPC服务注册启动的端口)
步骤3:客户向RPC请求NFS
步骤4:RPC返回端口到客户
步骤5:拿着地址端口请求传输数据
技术分享图片

服务搭建:将服务端/data挂载到/mnt目录下

1:检查操作系统内核版本,确认是否支持

2:检查并安装NFS服务(服务端必须安装,客户端最好安装)

  2.1:检查NFS服务是否安装

   rpm -aq nfs-utils rpcbind

  2.2:如果未安装,需进行安装

  LANG=en

  yum install nfs-utils rpcbind -y

  2.3:安装完成,再次进行确认

  rpm -aq nfs-utils rpcbind

3:启动RPC及NFS服务并检查

   /etc/init.d/rpcbind start

   ps -ef | grep rpc

  /etc/init.d/rpcbind status

  rpcinfo -p localhost

  /etc/init.d/nfs start

  rpcinfo -p localhost

  检查进程情况

  ps -ef|egrep "rpc|nfs"
root       367     2  0 May04 ?        00:00:00 [rpciod]
rpc       1944     1  0 05:52 ?        00:00:00 /sbin/rpcbind -w
root      1977     1  0 05:58 ?        00:00:00 /usr/sbin/rpc.idmapd         name mapping daemon名称映射
rpcuser   1978     1  0 05:58 ?        00:00:00 /usr/sbin/rpc.statd           检查文件一致性
root      1979     1  0 05:58 ?        00:00:00 /usr/sbin/rpc.mountd        权限管理验证等(NFS mount daemon)
root      1989     2  0 05:58 ?        00:00:00 [nfsd4_callbacks]
root      1993     2  0 05:58 ?        00:00:00 [nfsd]
root      1994     2  0 05:58 ?        00:00:00 [nfsd]                                  主进程,管理登入,ID身份判别等
root      1995     2  0 05:58 ?        00:00:00 [nfsd]
root      1996     2  0 05:58 ?        00:00:00 [nfsd]
root      1997     2  0 05:58 ?        00:00:00 [nfsd]
root      1998     2  0 05:58 ?        00:00:00 [nfsd]
root      1999     2  0 05:58 ?        00:00:00 [nfsd]
root      2000     2  0 05:58 ?        00:00:00 [nfsd]
root      2007  1726  0 05:59 pts/1    00:00:00 grep -E --color=auto rpc|nfs

4:配置服务端/etc/exports(默认为空)文件

vim /etc/exports

/data 172.31.175.0/24(rw,sync)         sync指同步写入磁盘

该配置文件省略了很多配置,详细配置在/var/lib/nfs/etab

5:平滑重启NFS服务

systemctl reload nfs

6:配置客户端

   6.1:启动客户端rpcbind服务

       通过 showmount -e 服务端IP地址  检测能否正常挂载

   6.2:将/data目录挂载到客户端目录下

        mount -t nfs 172.31.175.30:/data /mnt

        df -h 检测是否挂载成功

注意:该配置采用系统默认的nfsnobody用户,请确保客户端和服务端nfsnobody用户的id相同(安装时系统默认会创建,uid和gid都是65535)

如果配置NFS不使用系统默认的nfsnobody用户,需注意以下几点

创建用户组

groupadd -g 889 zuma1

创建用户

useradd -u 889 -g 889 zuma1 -s /sbin/nologin -M

修改客户端挂载用户目录属性

chown zuma1.zuma1 -R data

修改服务端/etc/exports文件

/data1 172.16.1.0/24(rw,sync,all_squash,anonuid=889,anongid=889)

挂载,检查


NFS参数调优与安全

客户端优化

mount -t nfs -o nosuid,noexec,nodev,noatime,nodiratime,intr,rsize=131072,wsize=131072 10.0.0.7:/data /mnt

nosuid    不允许suid   noexec挂载点不允许执行二进制文件      noatime每一次数据访问,不更新inode里面的时间戳   nodiratime每一次访问目录,不更新目录时间戳

rsize 数据传输一次可读多少数据   wsize 数据传输一次可写多少数据

async:涉及文件系统I/O的操作都是异步处理,即不会同步到磁盘,此参数会提高性能,但会降低数据安全,一般情况下,生产环境不推荐使用,除非对性能要求很高,对数据可靠性不要求的场合
sync:同步处理I/O

服务端优化(内核参数调整)

/proc/sys/net/core/rmem_default:该文件指定接收套接字缓冲区大小的默认值(以字节为单位),默认设置:124928
/proc/sys/net/core/rmem_max:该文件指定接收套接字缓冲区大小的最大值(以字节为单位),默认设置:124928
/proc/sys/net/core/wmem_default:该文件指定发送套接字缓冲区大小的默认值(以字节为单位),默认设置:124928
/proc/sys/net/core/wmem_max:该文件指定发送套接字缓冲区大小的最大值(以字节为单位),默认设置:124928

cat>>/etc/sysctl.conf<<EOF
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.wmem_max = 16777216
net.core.rmem_max = 16777216
EOF
sysctl -p

NFS优缺点
局限
存在单点故障,如果NFS server宕机了,所有客户端都不能访问共享目录。
在大数据高并发的场合,NFS效率、性能有限。
客户端认证是基于IP和主机名的,权限要根据ID识别,安全性一般。
NFS数据是明文的,NFS本身不对数据完整性作验证。
多台客户机器挂载一个NFS服务器。当服务端出问题后,所有的NFS客户端都处于挂掉状态。


tips:

umount -lf  挂载点        强制卸载

centos7nfs网络文件系统搭建

NFS,是NetworkFileSystem的简写,即网络文件系统。网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS.NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的... 查看详情

nfs网络文件系统的搭建

 NFS网络文件系统的搭建什么是NFS网络文件系统?NFS(NetworkFileSystem)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读... 查看详情

nfs架构搭建及配置

第14章NFS服务搭建与配置14.1NFS介绍NFS(NetworkFileSystem)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器... 查看详情

nfs架构搭建及配置

第14章NFS服务搭建与配置14.1NFS介绍NFS(NetworkFileSystem)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器... 查看详情

mfs分布式文件系统的原理及环境搭建(代码片段)

概述:NFS网络文件系统在性能与容量上无法胜任更高的要求,而本篇讲的MFS(MooseFS)可以提供容量PB级别的共享存储,无需昂贵的专业硬件服务器,自身就拥有冗余功能及动态扩容功能,能保证数据的安全性。`分布式原理:分... 查看详情

nfs网络共享文件服务搭建

一.NFS(networkfilesystem)1.概念:NFS(networkfilesystem)网络共享文件系统2.作用:类似于windows系统网络共享,但无法部署在windows中,适用于中小型企业共享部署,大型网站不适合(Moosefs,FASTdfs)windows网络共享FTP(linux),samba(linux),... 查看详情

nfs系统的搭建(代码片段)

...建立NFS文件系统。调研:   NFS(NetworkFileSystem)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位 查看详情

centos7.9:nfs服务搭建与配置(代码片段)

...成功。NFS工作原理简介NFS是NetworkFileSystem的缩写,即网络文件系统。一种使用于 查看详情

嵌入式设备搭建nfs环境(服务器/客户端源码下载编译文件系统适配内核适配)(代码片段)

1、什么是nfs(1)NFS(NetworkFileSystem)是网络文件系统,能让使用者访问网络上别处的文件就像在使用自己的计算机一样;(2)NFS是基于UDP/IP协议的应用,其实现主要是采用远程过程调用RPC机制,RPC提供了一组与机器、操... 查看详情

arm开发板搭建nfs网络文件系统方法

...re-VM-Setting-Networkadapter选择custom-VMnet03、在ubuntu系统中编辑网络:选择编辑连接,添加网络命名无线连接:如 查看详情

搭建nfs文件共享--实例解析

1NFS简介  NFS是NetworkFileSystem的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户... 查看详情

nfs应用及搭建

...一台是服务端,一台是客户端NFS:NFS(NetworkFileSystem)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务... 查看详情

nfs网络文件系统原理及案例

...就是“这是什么呀?”或者“这是干什么的呀?”那么NFS网络文件系统到底是一个什么东西,它的作用又是什么,我们在这里围绕这两个问题进 查看详情

搭建nfs环境

一.简介什么是NFS?  NFS是网络文件系统networkfilesystem的缩写,他的主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录。比较适用于IDC机房,集群。工作中NFS一般被用来存储视频,图片,附件... 查看详情

linux下的nfs搭建配置

...服务3.编辑配置文件五、检查测试一、NFS介绍1.NFS简介NFS:网络文件系统,由Sun公司开发,通过网络,NFS支持在不同的文件系统之间共享文件.用 查看详情

nfs安装与配置

NFS通常用于网络中的多台计算机实现共享存储。由于测试环境没有购买阿里云的NFS,所以自己搭建一个NFS文件系统,实现一些比如上传图片,静态资源等同享功能。下面的测试是在CentOSrelease6.8(Final)中进行的。其他的系统略有不... 查看详情

搭建企业级nfs网络文件共享服务

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

linux系统开发:搭建nfs服务器实现文件共享

...介绍1.1什么是NFS服务器NFS是NetworkFileSystem的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据࿰... 查看详情