linux(centos7)版本NFS 来实现共享文件夹

共享文件夹的使用场景:a.保证多个应用服务器的文件保持一致。b.拆分文件服务器和应用服务器解耦合。
在 CentOS 7 上使用 NFS 来实现共享文件夹是一个常见且有效的方案。以下是详细的步骤,包括如何设置 NFS 服务器以及如何从客户端访问共享目录。本文一共分为两步配置,一个注意事项。

第一步:服务端配置(CentOS 7)

1. 安装 NFS 服务

首先,确保 NFS 服务已安装。在 CentOS 7 中,这个功能包含在 nfs-utils 包中。

sudo yum install -y nfs-utils

2. 创建共享目录

创建一个目录作为要共享的文件夹。例如:

sudo mkdir -p /srv/nfs/shared

3. 设置目录权限

调整目录权限以允许访问。在示例中,我们将目录权限设置为全局可读写,以便演示(生产环境中应根据需求设置权限):

sudo chown -R nfsnobody:nfsnobody /srv/nfs/shared
sudo chmod 777 /srv/nfs/shared

4. 编辑 /etc/exports 文件

这个文件用于配置 NFS 共享目录及其访问权限。

sudo vim /etc/exports

在文件中添加以下行,将 /srv/nfs/shared 目录共享给特定的客户端:

/srv/nfs/shared 192.168.1.0/24(rw,sync,no_root_squash,no_subtree_check)

说明:
192.168.1.0/24: 允许从该子网段的所有 IP 访问。
rw: 读写权限。
sync: 确保写操作同步完成。
no_root_squash: 允许 NFS 客户端的 root 用户拥有 root 权限。
no_subtree_check: 禁用子树检查,提高性能。

5. 导出共享目录

让 NFS 服务意识到新的共享配置:

exportfs -a

6. 启动 NFS 服务

启动并设置 NFS 服务在启动时自动运行:

sudo systemctl start nfs-server
sudo systemctl enable nfs-server

7. 开通防火墙端口:2049

通过以下命令:查看服务端:2049

   netstat -tulpn 

一般场景的防火墙有两种iptables和firewall这两种防火墙:
firewall的需要开通端口2049的linux命令如下:

#添加端口命令
firewall-cmd --add-port=2049/tcp --zone=public --permanent
#重新加载防火墙配置
firewall-cmd --reload
#查看一下是否添加成功
firewall-cmd --list-ports;

第二步:客户端配置

1. 安装 NFS 客户端

在客户端机器上,需要安装相关的 NFS 工具:

sudo yum install -y nfs-utils

2. 创建挂载点

在客户端上创建一个目录,用于挂载远程 NFS 共享:

sudo mkdir -p /mnt/nfs/shared

3. 挂载 NFS 共享

手动挂载 NFS 共享到指定的挂载点:

sudo mount 192.168.1.x:/srv/nfs/shared /mnt/nfs/shared
将 192.168.1.x 替换为 NFS 服务器的实际 IP 地址。

4. 自动挂载(可选)

为了在系统重启后自动挂载,编辑 /etc/fstab 文件并添加以下行:

192.168.1.x:/srv/nfs/shared /mnt/nfs/shared nfs defaults 0 0

测试共享

在客户端,尝试读写测试文件以确认 NFS 共享是否正常工作:

touch /mnt/nfs/shared/testfile
ls -l /mnt/nfs/shared/

注意事项

错误一:mount: wrong fs type, bad option, bad superblock on 221.0.1.11:/home/nfs/shared

解决办法:
1.检查防火墙的端口是否开启,可以先关闭,服务端和客户端服务器的防火墙,并重启一下服务端服务。
2.检查服务器上的可用导出:
在客户端机器上,使用 showmount 查看 NFS 服务器的可用共享,这可以帮助确认路径是否正确:

showmount -e 221.0.1.11
确保 /home/nfs/shared 出现在结果中。如果没有,检查 NFS 服务器的导出配置

总结:
通过此设置,您可以在 CentOS 7 系统上使用 NFS 提供和访问共享文件夹。在配置 exports 和目录权限时应考虑安全性,确保仅允许信任的客户端访问共享资源。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容