当前位置: 首页 > news >正文

网络文件共享系统NFS服务搭建

一、NFS介绍

一种情况是一台普通的服务器安装Linux操作系统,配置nfs服务。方法如下

一种情况是一台磁盘阵列柜,具体方法要看具体的产商。

NFS Network File System

网络文件系统,由Sun公司研发的文件系统,简单的说也可以实现文件共享,主要用来做服务器后端共享存储。

任何一个网站都是由零散的网页构成的。

image

NFS的作用:主要用来实现服务器后端的共享存储,适用于Linux与Linux间的数据共享。

CIFS类似于NFS,适用于Linux与windows间的数据共享。

借助文件系统可以把后端的文件共享出去,但是nfs没有提供文件传输功能,要想实现文件传输借助了Linux系统中的rpc机制实现文件传输功能。

二、NFS实现

软件:nfs-utils实现文件共享功能,rpcbind实现文件传输功能。

配置文件:/etc/exports  在这个文件实现nfs服务器上的数据共享。

服务:nfs-server

格式:目录名称    客户端地址(权限,权限,权限)

也就是说,这个目录挂载出去,允许我写的客户端使用。

客户端地址:

1.单个IP地址   eg:192.168.1.10/24

2.网段:eg:192.168.1.0/24

3.主机名:node01.linux.com

4.所有 : *(这个目录,允许所有主机使用,也就是说,这个客户端需要可以和NFS服务器通信。)

范围写的越小越好。能写网段不写*,能写IP地址不写网段。

权限:

1.ro代表只读共享的意思,

2.rw代表读写共享的意思,

3.sync 同步

4.async异步(默认)

拿计算机解释,三个核心部件,CPU,硬盘,内存,

同步的意思是CPU处理完数据以后会直接把数据交给硬盘保存

异步的意思是CPU处理完数据以后不会直接把数据交给硬盘保存,而是会把数据交给内存,过一段时间之后,内存交给硬盘。

从数据的处理速度来说肯定是异步快,

但是从数据的安全性来讲是同步数据安全性更高。

速度和安全性肯定是相互矛盾的。

需要根据公司业务需求来讲。

默认是异步,只追求速度。

5.no_root_squash 保留root用户创建的文件的权限信息

权限必写的只有ro或者是rw

三、配置NFS只读共享

一台NFS服务器,两台客户端

要求:共享/webdata目录,要求/webdata为独立的存储空间,允许另外两台客户端以只读的方式挂载使用。

以下为NFS服务器上操作:

1.创建分区,挂载到/webdata目录

image

如上图所示,可以使用lsblk命令查看系统中所有可用的块设备。

这个命令非常适合于查看整个系统的存储布局,并且可以用来确定设备是否被挂载以及挂载的位置。

image

如上图所示,可以使用fdisk命令 加上磁盘名,来在磁盘上创建新分区。

image

如上图所示,使用partprobe命令来使得系统核心重新检测硬盘/dev/sdb分区表变化。

随后使用lsblk | grep sdb

来查看硬盘sdb的分区情况。

image

如上图所示,可以使用mkfs -t 文件系统名称 磁盘分区名 来格式化硬盘分区并赋予其文件系统。

image

如上图所示,需要在nfs服务器上实现磁盘开机自动挂载,就使用vim 编辑器编辑/etc/fstab文件,随后使用mount -a命令来重新自动挂载所有配置在 /etc/fstab 文件中的条目的命令。这里的 -a 是 --all 的缩写,指示 mount 命令去挂载所有在配置文件中定义的文件系统。

image

如上图所示,此时可以使用df -hT命令来查看分区是否挂载成功。

可以在/webdata/中创建几个测试文件

2.安装nfs相关的软件

安装NFS相关软件:yum install -y nfs-utils rpcbind

image

如上图所示,此时在nfs服务器上安装这两个软件,以实现文件的共享。

3.编辑配置文件实现数据共享

查看配置文件:/etc/exports 是否存在:ls -l /etc/exports

编辑配置文件:vim /etc/exports

添加内容如下:

# 语法:nfs服务挂载共享文件目录    共享客户端IP(权限)
/webdata    192.168.183.10(ro)    192.168.183.11(ro)

image

如上图所示,此时编辑nfs服务的配置文件,要共享的文件夹名称,可以连接nfs服务器的客户端的IP地址,以及客户端的权限。

4.重启nfs-server服务

systemctl start nfs-server
systemctl enable nfs-server

image

如上图所示,是重启nfs-server服务,并且配置开机自启动。

查看nfs服务的相关进程:ps -elf | grep nfs

image

5.在客户端测试挂载使用nfs服务

需要我们在Linux客户端上安装一个nfs-utils的软件:yum install -y nfs-utils

挂载nfs服务:mount -t nfs 192.168.183.12:/webdata /mnt/

image

如上图所示,一旦挂载成功后NFS服务器上的文件就会映射到我客户端的挂载点上。

其中nfs 的后面紧跟着的是我nfs服务器的IP地址。

image

如上图所示,此时打开/etc/fatab文件配置nfs服务的开机自动挂载,具体格式如上图所示,随后使用mount -a使得重新自动挂载所有配置在 /etc/fstab 文件中的条目的命令。

四.配置NFS的读写共享

1.创建/test目录,并准备测试文件

mkdir /test
touch /test/{1..10}.sh
ls /test/

image

2.编辑nfs配置文件,支持读写共享

查看配置文件:/etc/exports 是否存在:ls -l /etc/exports

编辑配置文件:vim /etc/exports

添加内容如下:

/test/ 192.168.183.10(rw sync,no_root_squash) 192.168.183.11(rw sync,no_root_squash)

image

3.重新读取nfs配置文件,使其生效

重新读取nfs配置文件:exportfs -rav

image

如上图所示,是在不重启nfs服务的前提下,重新读取nfs配置文件,使得nfs配置文件中的配置生效。

4.在客户端测试挂载读写共享

image

如上图所示,在客户端上创建新目录,编辑/etc/fstab,实现在Linux客户端上的开机自动挂载,随后使用mount -a命令来使得系统重新读取/etc/fstab中的配置,然后使用df -hT查看当前系统的硬盘使用情况,此时在Linux客户端往挂载nfs服务的目录中编写文件,但是权限拒绝,

image

如上图所示,还需要在nfs服务器上确保其他用户在nfs服务器上对/test/用户拥有读写权限,

添加读取权限:chmod o+w /test/

image

如上图所示,在nfs服务器上对/test/要共享的目录,加上其他用户都有的w写权限,

image

如上图所示,此时在Linux客户端实际上对挂载nfs服务的目录进行创建文件的操作,这个新的aa.txt文件是存到了后端nfs服务器的test目录上了

五.对no_root_squash 保留root用户创建的文件的权限信息的解释。(这个权限,一般是要加上的)

客户端向NFS服务器写入数据时,默认NFS服务器会将文件的属主、属组修改为nfsnobody的用户no_root_squash:保留root用户创建的文件的权限信息

 

http://www.zskr.cn/news/20941.html

相关文章:

  • C# 泛型懒汉单例类
  • MyEMS 支撑公共建筑低碳运营:多维度能耗建模逻辑与运行优化策略
  • 实时检测机器人广告点击的深度学习技术
  • 开源生态视角下 MyEMS 的能源管理系统国产化实践:架构设计与自主可控路径
  • 【IEEE出版】第七届机器学习、大数据与商务智能国际会议(MLBDBI 2025)
  • 2025 年国内优质货代公司最新推荐排行榜:深度解析头部企业服务能力,助力企业精准选合作伙伴泰国货代/印尼货代/马来货代/日本货代/东南亚货代公司推荐
  • 国标GB28181算法算力平台EasyGBS在食品安全监管系统中的融合与应用方案
  • springcloud和dubbo有什么区别
  • mysql默认事务隔离级别,从入门到精通的完全指南
  • 利用 OpenTelemetry 集成 JMX 监控
  • 深入浅出 Go slices 包:类型安全、内存安全与高性能实践
  • 斑马日记2025.10.10
  • 入门指南:使用 Playwright MCP Server 为你的 AI Agent 赋予浏览器自动化能力
  • 实战教程:构建能交互网页的 AI 助手——基于 Playwright MCP 的完整项目
  • 达梦开启awr功能报错:[-7160]:Object [DBMS_WORKLOAD_REPOSITORY_DATA_LOW] is invalid
  • ceph日常管理
  • Flash游戏浏览器
  • vi/vim 的使用及 CentOS 静态网络配置并链接 Xshell
  • 102500410 杜惟真 10月14日作业
  • alpline 构建lnmp
  • Ubuntu tightenVNC安装及配置
  • 试验2
  • 浩辰CAD 2025 SP2安装包下载与安装教程
  • 高级程序语言设计第一次作业
  • 2025 年聚氨酯砂浆厂家最新推荐排行榜:聚焦欧洲技术与一站式服务的国内优质企业甄选指南水性聚氨酯砂浆/聚氨酯砂浆自流平厂家推荐
  • 2025 年湖南单招培训学校最新推荐榜单:口碑实力机构排行榜,聚焦高升学率与优质服务的精准选校指南单招无忧题库/单招培训学校推荐
  • 2025-10-14 el.style.backGroundColor = #ccc !important样式不生效??==》改为添加类
  • 牛客周赛113
  • 分组密码算法工作模式
  • 2025 年山西/在职研究生培训机构推荐榜:同等学力申硕培训机构,聚焦数智化与个性化学习新范式