CentOS NFS共享目录

最近遇到一个问题,一台CentOS7应用服务器上的服务需要访问另外一台CentOS7应用服务器上的文件,然后传输文件给第三方。想到windows系统之间有文件共享的功能,Linux系统之间是否也有类似的文件共享功能呢?

NFS

NFS 代表Network File System,即网络文件系统。它是一种分布式文件系统协议,允许一个系统在网络上与他人共享目录和文件。通过NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件,这极大地促进了文件共享和协作。

NFS最初由Sun Microsystems开发,并迅速成为了Unix系统间实现文件共享的标准。随着时间的发展,它也被移植到了其他操作系统上,包括Windows、Linux以及各种版本的Unix。

使用NFS有几个主要优点:

易于文件共享:用户可以通过网络轻松访问和使用存储在不同计算机上的文件。

简化存储管理:通过集中存储数据,NFS减少了对多个副本的需求,从而简化了存储管理。

提高效率:NFS允许用户同时从多个客户端访问相同的文件,提高了工作效率。

NFS的工作原理涉及服务器和客户端之间的交互。服务器端设置并导出文件系统供网络中的其他机器访问,而客户端则挂载这些远程文件系统到本地文件树中,使得它们看起来就像本地文件一样。

NFS经历了几个版本的发展,目前最常见的是NFSv3和NFSv4,后者提供了改进的安全性和性能。

服务端

检查是否安装nfs-utils、rpcbind

复制代码
rpm -qa|grep nfs-utils

root@app-0002 temp\]# rpm -qa\|grep nfs-utils nfs-utils-1.3.0-0.54.el7.x86_64 rpm -qa | grep rpcbind \[root@app-0002 temp\]# rpm -qa \| grep rpcbind rpcbind-0.2.0-44.el7.x86_64 没有,则手动安装 sudo yum install -y nfs-utils rpcbind ### 启动rpcbind sudo systemctl start rpcbind#开机自启sudo systemctl enable rpcbind ### 启动nfs-server​​​​​​​ sudo systemctl start nfs-server#开机自启sudo systemctl enable nfs-server 创建目录/disk01/temp(如果已有目录,则不需要创建) sudo mkdir -p /disk01/temp ### 设置目录权限​​​​​​​ #至少644 所有用户可读sudo chmod 755 /disk01/temp #可选sudo chown nobody:nobody /disk01/temp ### 编辑/etc/exports文件,添加共享配置​​​​​​​ vi /etc/exports#文件最下面添加/disk01/temp 10.96.41.0/24(rw,sync,no_root_squash,no_subtree_check) 10.96.41.0/24:允许访问的客户端ip(10.96.41.1\~254) (rw,sync,no_root_squash,no_subtree_check):挂在选项(读写、同步写入、允许客户端以root用户身份访问共享目录、禁用子树选项等) 或者指定具体的ip,多个ip之间空格隔开 /disk01/temp 10.96.41.98(rw,sync,no_root_squash,no_subtree_check) 10.96.41.99(rw,sync,no_root_squash,no_subtree_check) ### 应用NFS配置 sudo exportfs -ra ### 验证共享是否生效 sudo exportfs -v ![图片](https://i-blog.csdnimg.cn/img_convert/dba299e9787fc62291b246d01772bcf0.png) ## **客户端** ### 检查是否安装nfs-utils rpm -qa|grep nfs-utils \[root@app-0002 temp\]# rpm -qa\|grep nfs-utils nfs-utils-1.3.0-0.54.el7.x86_64 没有,则手动安装 sudo yum install -y nfs-utils ### 创建目录/disk01/temp sudo mkdir -p /disk01/temp ### 挂载共享目录 sudo mount 10.96.41.62:/disk01/temp /disk01/temp mount会根据设备的文件系统类型(如ext4、xfs、nfs)自动挂载,也可以使用-t \<文件系统类型\> sudo mount -t nfs 10.96.41.62:/disk01/temp /disk01/temp 将10.96.41.62:/disk01/temp目录挂载在本机的/disk01/temp目录 ### 验证挂载 df -h ![图片](https://i-blog.csdnimg.cn/img_convert/9f26bb4256f7dfa1873176b248586741.png) ### 设置开机自动挂载 **注意**:不设置的话,服务器重启后,会发现挂载目录没有了,需要重新挂载。 vim /etc/fstab 最后一行下面加入 10.96.41.62:/disk01/temp /disk01/temp nfs defaults 0 0 测试写的配置是否有问题 mount -a 最后,在客户端或者服务端目录下创建一个测试文件,看对方是否能看到,然后删除测试文件。 ## **问题** ### 1、检查客户端 rpm -qa\|grep nfs mount \| grep /disk01/temp ![图片](https://i-blog.csdnimg.cn/img_convert/d0a8b6e79e398285b3e25e6ee3486be6.png) ### 2、卸载客户端挂载,重新挂载 sudo umount /disk01/temp sudo mount -t nfs 10.96.41.62:/disk01/temp /disk01/temp ### 3、设置服务端共享目录权限 sudo chmod 755 /disk01/temp (至少644 所有用户可读)

相关推荐
vortex513 分钟前
Linux PAM 配置详解:从原理到实战,彻底阻断非授权提权
java·linux·服务器
ZPC821017 分钟前
Linux Preempt-RT 实时内核 ** 抖动(Jitter)** 完整测试方法
linux·运维·服务器
2501_9200470319 分钟前
openclaw在ubuntu系统的安装
linux·运维·ubuntu·openclaw
呉師傅42 分钟前
UPS滴滴告警!如何测量UPS电池内阻【UPS学习】
运维·服务器·网络·学习·电脑
一个人旅程~1 小时前
linux如何“抢”过windows的usb移动硬盘权限对0磁道损坏的移动硬盘进行尝试修复
linux·windows·经验分享·电脑
YL200404262 小时前
MySQL-运维篇-主从复制
运维·数据库·mysql
AC赳赳老秦2 小时前
OpenClaw碎片时间利用:设置轻量化自动化任务,高效利用职场碎片时间
java·大数据·运维·服务器·数据库·自动化·openclaw
sukioe2 小时前
Linux RPM 方式安装 MySQL 8.0
linux·mysql·adb
worm小虫2 小时前
这场劫难,从一份等保报告开始——一件运维的小事SSH升级
运维
JAVA学习通2 小时前
《大营销平台系统设计实现》 - 营销服务 第8节:抽奖规则树模型结构设计
运维·决策树·docker·容器·责任链模式