当前位置: 代码网 > 服务器>服务器>Linux > 在Linux中安装、配置和挂载NFS的完整指南

在Linux中安装、配置和挂载NFS的完整指南

2025年06月11日 Linux 我要评论
一、nfs简介nfs(network file system)是一种分布式文件系统协议,允许用户通过网络在不同主机间共享文件和目录。它适用于局域网环境,常用于服务器集群、数据共享等场景。本文详细介绍n

一、nfs简介

nfs(network file system) 是一种分布式文件系统协议,允许用户通过网络在不同主机间共享文件和目录。它适用于局域网环境,常用于服务器集群、数据共享等场景。本文详细介绍nfs服务端与客户端的安装、配置及挂载流程。

二、nfs服务端配置

1. 安装nfs服务

根据 linux 发行版选择命令:

ubuntu/debian

sudo apt update && sudo apt install nfs-kernel-server

centos/rhel

sudo yum install nfs-utils  # centos 7
sudo dnf install nfs-utils  # centos 8+/rhel

2. 创建共享目录

sudo mkdir -p /mnt/nfs_share
sudo chown nobody:nogroup /mnt/nfs_share  # 设置权限(根据需要调整)

3. 配置nfs导出规则

编辑配置文件 /etc/exports,定义共享目录及访问权限:

# 语法:<共享目录> <客户端ip/网段>(权限选项)
/mnt/nfs_share 192.168.1.0/24(rw,sync,no_subtree_check)

常用权限选项

  • rw:读写权限。
  • ro:只读权限。
  • sync:同步写入磁盘(数据安全性高)。
  • async:异步写入(性能更好,但可能丢失数据)。
  • no_root_squash:允许客户端root用户保留权限(谨慎使用)。

示例:

/mnt/nfs_share  *(rw,sync,no_root_squash)

4. 生效配置并启动服务

sudo exportfs -a  # 重新加载 exports 配置
sudo systemctl start nfs-server  # 启动服务
sudo systemctl enable nfs-server  # 设置开机自启

5. 防火墙配置

开放 nfs 相关端口(nfsv4 默认使用 tcp 2049):

sudo ufw allow 2049/tcp  # ubuntu
sudo firewall-cmd --permanent --add-service=nfs && firewall-cmd --reload  # centos

三、nfs客户端配置

1. 安装nfs客户端工具

ubuntu/debian

sudo apt install nfs-common

centos/rhel

sudo yum install nfs-utils

2. 创建本地挂载点

sudo mkdir -p /mnt/nfs_client

3. 手动挂载nfs共享

sudo mount -t nfs <服务端ip>:/mnt/nfs_share /mnt/nfs_client

示例

sudo mount -t nfs 192.168.1.100:/mnt/nfs_share /mnt/nfs_client

4. 自动挂载(重启生效)

编辑 /etc/fstab 文件,添加以下行:

<服务端ip>:/mnt/nfs_share  /mnt/nfs_client  nfs  defaults  0  0

示例

192.168.1.100:/mnt/nfs_share  /mnt/nfs_client  nfs  defaults  0  0

5. 验证挂载

df -h | grep nfs  # 查看挂载状态
touch /mnt/nfs_client/test.txt  # 测试读写权限

四、高级配置与调试

1. 指定nfs版本

挂载时强制使用 nfsv4:

sudo mount -t nfs -o vers=4 192.168.1.100:/mnt/nfs_share /mnt/nfs_client

2. 用户身份映射

在服务端 /etc/exports 中配置 anonuid 和 anongid

/mnt/nfs_share 192.168.1.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)

3. 查看nfs共享状态

服务端

showmount -e localhost  # 查看已导出的共享目录

客户端

showmount -e <服务端ip>

4. 日志排查

  • 服务端日志:/var/log/syslog(ubuntu)或 /var/log/messages(centos)。
  • 客户端日志:dmesg | grep nfs

五、常见问题解决

权限被拒绝(permission denied)

  • 检查服务端 /etc/exports 的权限配置。
  • 确保客户端用户对挂载点有访问权限。

连接超时或无法访问

  • 确认防火墙已放行nfs端口(尤其是nfsv3需要额外开放 rpcbind 端口)。
  • 使用 rpcinfo -p <服务端ip> 检查rpc服务状态。

挂载后文件属主显示为nobody

  • 在服务端配置 no_all_squash 或指定 anonuid/anongid

六、总结

nfs 是 linux 环境中高效的文件共享解决方案。通过配置服务端导出规则、客户端挂载目录,并合理设置权限与防火墙规则,即可实现稳定可靠的网络存储。对于生产环境,建议结合kerberos增强安全性,并定期监控nfs性能。

注意:nfs默认不加密传输数据,公网环境建议使用vpn或ssh隧道保护通信。

以上就是在linux中安装、配置和挂载nfs的完整指南的详细内容,更多关于linux安装、配置和挂载nfs的资料请关注代码网其它相关文章!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com