在 Debian 12 上安装 NFS(Network File System) 分为 NFS 服务器 和 NFS 客户端 两部分。以下是详细步骤:
1. 安装 NFS 服务器(共享目录)
(1) 安装 NFS 内核服务器
sudo apt update
sudo apt install nfs-kernel-server
(2) 创建共享目录
sudo mkdir -p /srv/nfs/share
sudo chown nobody:nogroup /srv/nfs/share # 设置权限
sudo chmod 777 /srv/nfs/share # 允许所有用户访问(测试用,生产环境需限制)
(3) 配置 NFS 导出目录
编辑 /etc/exports
:
sudo nano /etc/exports
添加以下内容(按需修改 IP
和权限):
/srv/nfs/share 192.168.1.0/24(rw,sync,no_subtree_check,no_root_squash)
192.168.1.0/24
:允许访问的客户端 IP 范围(可改为*
允许所有,但不安全)。rw
:读写权限。sync
:同步写入磁盘。no_subtree_check
:提高性能。no_root_squash
:允许 root 用户访问(生产环境慎用)。
(4) 应用配置并启动服务
sudo exportfs -a # 重新加载 exports
sudo systemctl restart nfs-kernel-server
sudo systemctl enable nfs-kernel-server
(5) 检查 NFS 共享
sudo showmount -e localhost
输出示例:
Exports list on localhost:
/srv/nfs/share 192.168.1.0/24
2. 安装 NFS 客户端(挂载远程目录)
(1) 安装 NFS 客户端工具
sudo apt update
sudo apt install nfs-common
(2) 创建本地挂载点
sudo mkdir -p /mnt/nfs
(3) 挂载远程 NFS 共享
sudo mount -t nfs 服务器IP:/srv/nfs/share /mnt/nfs
- 替换
服务器IP
为 NFS 服务器的实际 IP。
(4) 测试挂载
df -h | grep nfs
输出示例:
192.168.1.100:/srv/nfs/share 50G 10G 40G 20% /mnt/nfs
(5) 开机自动挂载
编辑 /etc/fstab
:
sudo nano /etc/fstab
添加一行:
服务器IP:/srv/nfs/share /mnt/nfs nfs defaults 0 0
然后测试挂载:
sudo mount -a
3. 防火墙配置(可选)
如果启用了 ufw
,允许 NFS 流量:
sudo ufw allow from 192.168.1.0/24 to any port nfs
sudo ufw enable
sudo ufw status
4. 常见问题
问题1:mount.nfs: access denied by server
- 检查
/etc/exports
是否允许客户端 IP。 - 检查防火墙是否阻止 NFS(默认端口
2049
)。
问题2:RPC Error: Program not registered
- 重启 NFS 服务:
sudo systemctl restart nfs-kernel-server
问题3:性能优化
- 在
/etc/exports
中添加async
(异步写入,风险较高)。 - 使用
no_wdelay
减少延迟:/srv/nfs/share 192.168.1.0/24(rw,sync,no_subtree_check,no_wdelay)
5. 总结
角色 | 关键命令/文件 |
---|---|
服务器 | nfs-kernel-server , /etc/exports |
客户端 | nfs-common , mount -t nfs , /etc/fstab |
按照上述步骤,你可以在 Debian 12 上快速搭建 NFS 共享环境。
正文完
发表至: 分享
近三天内