配置NFS网络文件共享存储服务
NFS(Network File System)是一种经典的网络文件系统协议,通过在网络中共享文件系统实现跨设备数据访问,它广泛应用于服务器集群、虚拟化环境、分布式存储等场景,本文将系统介绍NFS的配置流程,涵盖服务器端与客户端部署、安全优化及测试验证,并附常见问题解答。
NFS与核心概念
NFS的核心逻辑是
“服务器提供共享目录,客户端挂载后透明访问”
,服务器端通过
/etc/exports
文件定义共享规则,客户端通过命令挂载服务器共享目录,实现“远程文件即本地文件”的体验,NFS支持多种访问模式(如只读、读写)、传输方式(同步、异步),满足不同场景的性能需求。
环境准备与前提条件
配置前需确保以下环境就绪:
关键组件准备(示例:CentOS 8)
| 组件 | 作用 | 安装命令 |
|---|---|---|
| 提供RPC通信基础 |
sudo yum install -y rpcbind
|
|
| NFS服务器核心工具 |
sudo yum install -y nfs-utils
|
|
| 防火墙管理(可选) |
sudo firewall-cmd --add-service=nfs --permanent
|
配置NFS服务器(核心步骤)
服务器端配置是NFS部署的核心,需完成共享目录创建、权限设置、文件配置等关键操作。
创建并配置共享目录
选择空闲目录作为共享源(如
/exports/share
),设置权限确保NFS服务可读写:
# 创建共享目录sudo mkdir -p /exports/share# 设置目录所有者为nfsnobody(NFS默认客户端用户)sudo chown -R nfsnobody:nfsnobody /exports/share# 可选:允许组内成员写入sudo chmod 775 /exports/share
编辑文件
/etc/exports
文件定义共享规则,格式为“共享目录 路径 参数”,示例(允许所有主机读写):
# 编辑文件sudo nano /etc/exports/exports/share *(rw,sync,no_subtree_check)
参数说明 :
重启NFS服务并应用配置
CentOS 8中,NFS服务由
nfs-server
管理,重启服务加载文件:
sudo systemctl restart nfs-serversudo systemctl enable nfs-server --now# 开机自启动
验证服务器端状态
使用命令查看共享目录:
sudo showmount -e server_ip# 输出共享目录列表
配置NFS客户端(挂载共享)
客户端配置包括安装软件、挂载服务器共享目录,并可选持久化挂载。
安装NFS客户端软件
以CentOS 8为例,安装
nfs-common
包:
sudo yum install -y nfs-common
挂载服务器端共享目录
创建挂载点(如
/mnt/nfsshare
),执行挂载命令:
# 挂载服务器IP的/export/share到/mnt/nfssharesudo mount -t nfs server_ip:/exports/share /mnt/nfsshare
验证挂载状态
ls -l /mnt/nfsshare# 应显示共享目录中的文件
持久化挂载(可选)
sudo echo "server_ip:/exports/share /mnt/nfsshare nfs defaults 0 0" >> /etc/fstab
安全与权限优化
生产环境需关注NFS安全性,通过防火墙、SELinux等手段限制访问。
防火墙配置
在服务器端开放NFS相关端口(TCP/UDP 2049、RPC端口):
# 永久添加服务sudo firewall-cmd --add-service=nfs --permanentsudo firewall-cmd --add-service=rpc-bind --permanentsudo firewall-cmd --add-service=mountd --permanent# 应用配置sudo firewall-cmd --reload
SELinux配置(CentOS默认启用)
若SELinux处于“enforcing”模式,临时允许NFS访问:
sudo setsebool -P nfs_export_all_ro on# 只读访问sudo setsebool -P nfs_export_all_rw on# 读写访问
测试与验证
完成配置后,通过实际操作验证NFS服务可用性。
客户端写入测试
在挂载点创建文件并写入内容:
sudo touch /mnt/nfsshare/testfileecho "This is a test file" | sudo tee /mnt/nfsshare/testfile
服务器端同步验证
登录服务器端,检查共享目录是否有新文件:
ls -l /exports/share# 应显示testfile
客户端读取测试
在客户端读取文件内容:
cat /mnt/nfsshare/testfile# 应显示“This is a test file”
常见问题与FAQs
问题:挂载时提示“Permission denied”(权限拒绝)
问题:客户端无法访问服务器端共享(防火墙或网络问题)
通过以上步骤,可完成NFS网络文件共享存储服务的配置,实现跨设备的文件高效共享。
怎样设置局域网文件共享?
用的是路由器吗?如果是自己设置的IP地址,那么共享后可以通过在网上邻居地址栏输入://IP地址,来访问开启共享的机器的共享文件.如果出现无权限的情况,一般都是你用的GHOST版的系统所致.可以根据下面的步骤解决:1、打开控制面板-管理工具-本地安全策略-本地策略-计算机权利指派-双击从网络访问此计算机。 打开属性框,点击下面添加用户或组-输入administrator,确定。 2、在找到拒绝从网络访问这台计算机。 双击打开属性,把administrator、GUEST等删除。 确定。 按这样设置重启计算机一般就可以访问了希望可以帮到你!
如何在LINUX下架设NFS
(1)数据文件将纯本文件转化成数据库文件(2)启用RPC(3)master/slave:为了减轻服务器的负担,需要架设主/辅服务器的结构要在master和slave上做好所有的信息master可以主动把信息复制给slavemaster也可以通知slave来复制(4)将想要工作的文件做好所有准备即可.
如何设置文件共享
比如在A机器把需要共享的文件夹上右键--->选择“共享和安全”,把“在网络上共享该文件夹”勾选。
如果你们机器没ip地址用的是自动获取,那么B和C机器就直接在网上邻居上右键--->查找计算机,寻找A计算机的计算机名,计算机名可以在我的电脑上右键--->属性--->计算机名里的“完整的计算机名”处可以看见。 在查找计算机成功后,双击找到计算机A的计算机图标进入,就可以看见A设置的共享目录了~如果怕以后闲麻烦,你可以在这个共享文件夹上点右键盘,设置网络印射驱动器,以后A机器的共享文件夹就印射成了你一个本地磁盘了。














发表评论