在 UOS ARM 架构系统上安装和配置 NFS 服务,实现与局域网中其他服务器共享文件夹的步骤如下:
1. 安装 NFS 服务
首先更新系统并安装 NFS 服务器组件:
bash
# 更新软件包列表
sudo apt update# 安装NFS服务器
sudo apt install nfs-kernel-server -y
2. 创建共享目录
bash
# 创建要共享的目录(示例路径)
sudo mkdir -p /data/nfs_share# 设置适当的权限(根据需求调整)
sudo chmod -R 777 /data/nfs_share
sudo chown -R nobody:nogroup /data/nfs_share
3. 配置共享目录
编辑 NFS 配置文件/etc/exports
:
bash
sudo nano /etc/exports
添加以下内容(根据实际情况修改):
plaintext
# 允许192.168.1.0/24网段的所有主机访问
/data/nfs_share 192.168.1.0/24(rw,sync,no_subtree_check,no_root_squash)# 如果只允许特定IP访问,例如192.168.1.100
# /data/nfs_share 192.168.1.100(rw,sync,no_subtree_check,no_root_squash)
参数说明:
rw
:读写权限sync
:同步写入磁盘no_subtree_check
:关闭子目录检查no_root_squash
:允许 root 用户操作
4. 生效配置并重启服务
bash
# 使配置生效
sudo exportfs -a# 重启NFS服务
sudo systemctl restart nfs-kernel-server# 设置开机自启
sudo systemctl enable nfs-kernel-server
5. 配置防火墙(如果启用)
bash
# 允许NFS相关端口
sudo ufw allow from 192.168.1.0/24 to any port nfs
sudo ufw allow mountd
sudo ufw allow rpc-bind
sudo ufw reload
6. 客户端挂载(其他服务器操作)
在局域网中的其他服务器上执行:
bash
# 安装NFS客户端
sudo apt install nfs-common -y# 创建挂载点
sudo mkdir -p /mnt/nfs_client# 挂载共享目录(替换为NFS服务器IP)
sudo mount -t nfs 192.168.1.10:/data/nfs_share /mnt/nfs_client# 设置开机自动挂载(编辑/etc/fstab)
echo "192.168.1.10:/data/nfs_share /mnt/nfs_client nfs defaults 0 0" | sudo tee -a /etc/fstab
完成以上步骤后,局域网中的其他服务器就可以通过挂载点访问 UOS ARM 服务器上的共享文件夹了。可以通过创建测试文件来验证共享是否正常工作。
如果服务器更换了网段和ip怎么办
当 NFS 服务器更换网段或 IP 后,需要同步更新服务器端的配置和客户端的挂载设置,否则会导致共享连接失败。以下是具体操作步骤:
一、服务器端(UOS ARM)配置调整
更新 NFS 共享配置(
/etc/exports
)
由于网段或 IP 变更,需修改允许访问的客户端范围:bash
sudo nano /etc/exports
将原配置中的网段 / IP 替换为新的网段 / IP,例如:
- 原配置:
/data/nfs_share 192.168.1.0/24(...)
- 新配置(假设新网段为
192.168.2.0/24
):bash
/data/nfs_share 192.168.2.0/24(rw,sync,no_subtree_check,no_root_squash)
若只允许特定新 IP(如
192.168.2.20
),则改为:bash
/data/nfs_share 192.168.2.20(rw,sync,no_subtree_check,no_root_squash)
- 原配置:
重新加载 NFS 配置
使新的共享规则生效:bash
sudo exportfs -ra # 重新导出所有共享并刷新 sudo systemctl restart nfs-kernel-server # 重启服务确保生效
更新防火墙规则
若服务器启用了防火墙(如ufw
),需允许新网段 / IP 访问 NFS 相关端口:bash
# 先删除旧规则(假设旧网段为192.168.1.0/24) sudo ufw delete allow from 192.168.1.0/24 to any port nfs # 添加新规则(新网段192.168.2.0/24) sudo ufw allow from 192.168.2.0/24 to any port nfs sudo ufw allow from 192.168.2.0/24 to any port mountd sudo ufw allow from 192.168.2.0/24 to any port rpc-bind sudo ufw reload
二、客户端(局域网其他服务器)配置调整
先卸载旧的 NFS 挂载(若已挂载)
避免残留连接导致冲突:bash
sudo umount /mnt/nfs_client # 替换为实际挂载点 或者强制卸载:sudo umount -lf /zkys_data/
更新临时挂载命令
使用服务器的新 IP重新挂载:bash
# 示例:新IP为192.168.2.10,共享目录和客户端挂载点不变 sudo mount -t nfs 192.168.2.10:/data/nfs_share /mnt/nfs_client
更新开机自动挂载配置(
/etc/fstab
)
编辑fstab
文件,替换旧 IP 为新 IP:bash
sudo nano /etc/fstab
找到原 NFS 挂载行并修改:
- 原配置:
192.168.1.10:/data/nfs_share /mnt/nfs_client nfs defaults 0 0
- 新配置:
192.168.2.10:/data/nfs_share /mnt/nfs_client nfs defaults 0 0
- 原配置:
验证自动挂载
重新加载fstab
配置并检查是否生效:bash
sudo mount -a # 加载所有fstab中的挂载 df -h # 查看是否成功挂载(应显示新IP对应的共享)
三、验证共享可用性
在服务器端的共享目录创建测试文件,然后在客户端挂载点查看是否能正常读取 / 修改,确认网络连通性和权限是否正常:
bash
# 服务器端创建测试文件
sudo touch /data/nfs_share/test_after_ip_change# 客户端检查
ls -l /mnt/nfs_client/test_after_ip_change # 应能看到文件
通过以上步骤,即可在服务器网段 / IP 变更后重新恢复 NFS 共享功能。核心是确保服务器端的访问规则、防火墙和客户端的挂载目标同步更新为新的网络信息。