尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

nfs服务

nfs服务
📅 发布时间:2026/6/18 1:34:17
  • 用一个磁盘来进行挂载

  • 创建一个nfs的目录,然后写入到配置文件中去,允许客户端可以访问挂载

  • 但是大小不知道,因此我就有一个磁盘100G的大小,直接挂载到这个nfs目录上面去,因此这个目录就有100G的大小了

  • 然后客户端将这个100G目录挂载到我本地的/mnt目录下,我也就有了100G的大小了,实现了同步了

一、NFS存储服务

1、概念说明

  • nfs就是network file system 是网络文件共享系统

  • 通过网络让不同主机系统之间可以共享文件或者目录

  • nfs客户端通过挂载的方式将nfs服务器端共享的数据目录挂载到客户端上面,从客户端上来看的话,这个共享的目录就好像是自己的磁盘分区或者目录,但是其实是远端nfs服务器的目录

img

2、存储的分类

  • ftp和samba,可以实现windows和linux之间的文件共享

  • nfs只能实现linux和linux之间的共享数据

二、NFS部署

1、nfs服务启动流程

  • 第一步:启动RPC服务(中介)

  • 第二步: 启动NFS进程,将nfs服务端口信息告知rpc服务进程管理

  • 第三步:客户端访问rpc服务,询问nfs服务端口信息

  • 第四步:rpc服务返回客户端信息(nfs端口信息)

  • 第五步;客户端根据这个端口访问nfs服务器,实现文件共享

img

2、nfs部署流程

1、服务端部署

  • 第一步:安装nfs和rpc软件
yum -y install nfs-utils rpcbind
  • 第二步:编写nfs软件
# 服务的配置文件
[root@master ~]# ll /etc/exports
-rw-r--r--. 1 root root 0 Jun 23  2020 /etc/exports[root@master ~]# cat /etc/exports
/nfs-share 192.168.50.0/24(rw,sync)# 第一列 设置nfs存储目录# 第二列 设置nfs服务访问的白名单# 第三列 设置存储目录权限等等其他的功能
  • 第三步:创建存储目录,对目录设置+w权限
[root@master ~]# mkdir /nfs-share
[root@master ~]# touch /nfs-share/nfs-flag
[root@master ~]# ll /nfs-share/
total 0
-rw-r--r--. 1 root root 0 Sep  8 19:56 nfs-flag
[root@master ~]# ll /nfs-share/ -d 
drwxr-xr-x. 2 root root 22 Sep  8 19:56 /nfs-share/
[root@master ~]# chmod +w /nfs-share/
[root@master ~]# ll /nfs-share/ -d 
drwxr-xr-x. 2 root root 22 Sep  8 19:56 /nfs-share/# 设置其他用户对这个目录,有写的权限
[root@master ~]# chmod o+w /nfs-share/
[root@master ~]# ll /nfs-share/ -d 
drwxr-xrwx. 2 root root 22 Sep  8 19:56 /nfs-share/# 或者修改拥有用户和拥有组为nfsnobody,因为这个是nfs自动创建虚拟用户,用于管理存储目录的
  • 第四步:启动nfs服务,防火墙操作
# 防火墙放行nfs,rpc-bind,mountd这些
[root@master ~]# firewall-cmd --permanent --add-service=nfs
success
[root@master ~]# firewall-cmd --permanent --add-service=rpc-bind
success
[root@master ~]# firewall-cmd --permanent --add-service=mountd
success
# 立刻生效
[root@master ~]# firewall-cmd --reload 
success# selinux不用修改,samba需要修改,这个是linux之间共享的文件,都是linux之间内部的信息,所以的话,不需要修改# 启动nfs服务
systemctl enable nfs-server --now
systemctl enable rpcbind --now[root@master ~]# netstat -pant|grep rpc
tcp        0      0 0.0.0.0:20048           0.0.0.0:*               LISTEN      5023/rpc.mountd     
tcp        0      0 0.0.0.0:36517           0.0.0.0:*               LISTEN      5016/rpc.statd      
tcp6       0      0 :::20048                :::*                    LISTEN      5023/rpc.mountd     
tcp6       0      0 :::51059                :::*                    LISTEN      5016/rpc.statd 

2、nfs客户端部署

  • 安装nfs软件
[root@node1 ~]# yum -y install nfs-utils
  • 挂载nfs服务器的共享目录
# mount -t nfs协议 nfs服务器:共享目录 挂载到本地的那一个目录上面去[root@node1 ~]# mount -t nfs 192.168.50.10:/nfs-share /mnt/
[root@node1 ~]# ls /mnt/
nfs-flag
[root@node1 ~]# touch /mnt/node1.txt
[root@node1 ~]# df -hT /mnt
Filesystem               Type  Size  Used Avail Use% Mounted on
192.168.50.10:/nfs-share nfs4   50G  2.2G   48G   5% /mnt# 企业中的话,会有一个几个T的盘挂载到这个共享目录上面去,即可

三、NFS工作原理和配置参数

1、原理

  • 服务端工作原理

    • 启动rpc服务,开启111端口

    • 启动nfs服务

    • 实现nfs服务进程和端口信息向rpc服务注册

  • 客户端工作原理

    • 客户端和服务端建立tcp网络连接

    • 客户端执行挂载命令,进行远程挂载

    • 实现数据传输

2、配置参数

img

  • rw 存储目录是否有读写权限

  • ro 存储目录是否时只读权限

  • sync 同步方式存储数据 直接将数据保存到磁盘(数据存储安全)

  • async 异步方式存储数据 直接将数据保存到内存(提高数据存储效率)

  • no_root_squash 不要将root用户身份转换(默认参数)

  • root_squash 将root用户身份转换为nfsnobody

  • all_squash 将所有普通用户转换

  • no_all_squash 不要将所有用户转换

  • all_squash功能

# nfs服务端修改配置文件参数
[root @nfs ~ ]# cat /etc/exports
/date	172.16.1.0/24(rw,sync,all_squash)[root @nfs ~ ]# systemctl restart nfs# 客户端backup挂载存储目录,创建数据。(需要重新挂载共享目录)
[root @backup ~ ]# mount -t nfs 172.16.1.31:/date /mnt/nfs
[root @backup ~ ]# su - xuan
[xuan @backup ~ ]$ touch /mnt/nfs/xuan_backup.txt[xuan @backup ~ ]$ ll /mnt/nfs/xuan_backup.txt
-rw-rw-r-- 1 nfsnobody nfsnobody 0 Sep  3 08:55 /mnt/nfs/xuan_backup.txt
  • no_all_squash功能
# nfs服务端修改配置文件参数
[root @nfs ~ ]# cat /etc/exports
/date	172.16.1.0/24(rw,sync,no_all_squash)# 客户端操作,没有权限创建。原因:no_all_squash取消其他用户映射nfsnobody身份,以共享目录其他身份权限操作
[xuan @backup ~ ]$ touch /mnt/nfs/xuan_backup_no_squash.txt
touch: cannot touch ‘/mnt/nfs/xuan_backup_no_squash.txt’: Permission denied解决权限问题:
1.修改目录属主信息
2.修改目录其他用户权限chmod o+w /date

四、总结

1、权限这个问题的话

  • 首先就是配置文件的权限,

  • 还有就是共享目录的权限

2、配置文件参数

  • root_squash,all_squash,就是会将用户转换为nfsnobody,如果将共享目录属主和属组都改为nfsnobody就能直接操作了

  • no_root_squash,no_all_squash,不会将用户进行转换,也就是需要将共享目录o+w才能修改了

  • 单独是一个用户修改的话,可以将共享目录修改为这个用户

相关新闻

  • 低功耗蓝牙BLE与小程序通讯
  • 深度解码你自己看着办:职场新人必须掌握的潜台词破解术
  • 记录一个Windows上的键盘鼠标模拟库和沟子库--Input

最新新闻

  • 2026年6月玻纤土工格栅实力厂家推荐指南 - 多才菠萝
  • 如何永久保存你的微信聊天记忆?这个开源工具让珍贵对话永不丢失
  • Code-Text-Code:语义也需要一道闸门
  • 六月十八晚上
  • vue3项目引用vue-office组件
  • 2026年国内GEO优化机构排行榜:技术实力实测对比 - 起跑123

日新闻

  • 2026年不锈钢卷板厂家推荐排行榜:冷轧热轧/304/201不锈钢卷板,高颜值耐腐蚀源头厂家实力精选 - 企业推荐官【官方】
  • FLUX.1-dev FP8模型实战指南:24GB以下显卡高效部署方案
  • 2026佛山长途搬家价目表:跨省跨市搬家费用完整计算指南 - 从来都是英雄出少年

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号