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

Linux搭建NFS服务

1.概述

Network File System的缩写,它最大的功能是可以通过网络使用挂载的方式,让不同的机器、不同的操作系统可以共享彼此的文件

2.名称

  • 软件名 nfs-utils
  • 服务名 nfs或者nfs-server

3.端口

nfs-server tcp/2049 负责建立连接

rpcbind tcp/111 负责传输数据

4.配置文件

  • 主配置文件 /etc/nfs.conf

  • 存储配置文件 /etc/exports

    #书写格式:共享位置          指定服务器(网段)的权限
    	  /test        192.168.100.0/24(rw)
    #权限列表
      rw:指定共享目录具备可读写权限
      ro:指定只读
      sync:立即同步    (同步I/O)
      async:异步同步  数据存储信息-->内存中-->写入磁盘,容易造成数据丢失
      all_squash: 将所有用户的操作文件全部映射为指定的用户nobody
      no_all_squash: 所有用户操作文件是什么用户就保留什么用户权限,不转换用户身份
      root_squash: 指定root用户需要转换身份
      no_root_squash: root不需要转换身份
      anonuid:用于指定用户身份映射到的用户的uid    (挂载)
      anongid:用于指定用户组身份映射到的用户组的gid
    

5.控制命令

exportfs   #检查nfs服务的存储配置文件
showmount 	#查看当前可以访问的NFS共享
	showmount -e  服务端IP地址  #查看服务端共享的目录

6.使用流程

NFS Client NFS Server 1. 挂载远程文件系统 mount /nfs/share /mnt/nfs (RPC请求) 返回挂载权限和句柄 2. 文件读写操作 read(/mnt/nfs/file.txt) (NFS协议) 返回文件数据 write(/mnt/nfs/file.txt, data) 确认写入成功 loop [用户操作文件] 3. 卸载文件系统 umount /mnt/nfs (RPC请求) 确认卸载 NFS Client NFS Server

7.nfs共享实验

  • 服务端安装nfs服务并修改配置文件

    yum install -y nfs-utils
    echo "/test   192.168.98.0/24(rw,no_root_squash)" >> /etc/exports  #修改配置文件
    systemctl start rpcbind && systemctl start nfs-server #启动服务,CentOS7中服务名是nfs
    systemctl stop firewalld #关闭防火墙
    showmount -e  #查看目录是否被共享
    
  • 客户端安装nfs并挂载服务端共享的目录

    yum install -y nfs-utils  
    showmount -e 192.168.98.98  #查看服务端共享的目录
    mount  服务器IP地址:共享的目录  挂载点  #将Nfs服务共享的目录挂到本地
    	mount 192.168.98.98:/test  /test   #示例
    #配置永久挂载
    	vim    /etc/fstab
      挂载源                          挂载点              文件系统            默认配置
    192.168.98.98:/test           /lc160               nfs4         defaults   0  0 
    #nfs服务开机自启
    systemctl enable nfs-server
    
  • 测试

    touch /test/1.pdf  #在客户端和服务端创建文件,观察是否可以共享
    

http://www.kler.cn/a/614923.html

相关文章:

  • 解决Trae AI Builder 模式出现“服务异常,请稍后重试”的问题
  • 2025年3月电子学会c++五级真题
  • 18-动规-子序列中的 k 种字母(中等)
  • 一些需要学习的C++库:CGAL和Eysshot
  • 数巅科技首发企业级 Multi-Agent 框架 AskBot —— 探索企业数据领域的 AGI 初级形态
  • 【蓝桥杯速成】| 15.完全背包
  • Layui实现table动态添加行,可删除、表格可编辑,小数校验
  • Android ViewModel学习总结(源码级理解)
  • python 如何打包成exe文件
  • 可拖动对象编辑器使用指南
  • 【Linux】了解基础指令(超详细)
  • Python3基础库入门(个人学习用)
  • Epoll 的本质与原理:高性能网络编程的基石
  • 调用 DeepSeek制作简单的电子宠物
  • 区块链技术在投票系统中的应用:安全、透明与去中心化
  • Linux CentOS 7 搭建我的世界服务器详细教程 (丐版 使用虚拟机搭建)
  • 横扫SQL面试——连续性登录问题
  • 【前端】使用 HTML、CSS 和 JavaScript 创建一个数字时钟和搜索功能的网页
  • AIDD-人工智能药物设计-利用自动化机器学习(AutoML)方法促进计算机模拟的ADMET特性预测
  • 破界·共生:生成式人工智能(GAI)认证重构普通人的AI进化图谱