【Ubuntu 服务器间 NFS 共享配置指南】

Ubuntu 服务器间 NFS 共享配置指南

本文将详细介绍如何在 服务器A(应用服务器)服务器B(数据盘服务器) 之间通过 NFS 实现数据共享的完整配置流程。

目录

  1. 服务器B(数据盘服务器)配置
  2. 服务器A(应用服务器)配置
  3. 补充建议

服务器B(数据盘服务器)配置

1. 格式化磁盘

sudo mkfs.ext4 /dev/vdb
sudo mkfs.ext4 /dev/vdc
sudo mkfs.ext4 /dev/vdd

2. 创建挂载点并永久挂载

sudo mkdir -p /mnt/data1 /mnt/data2 /mnt/data3
sudo vim /etc/fstab

添加以下内容:

/dev/vdb  /mnt/data1  ext4  defaults  0  0
/dev/vdc  /mnt/data2  ext4  defaults  0  0
/dev/vdd  /mnt/data3  ext4  defaults  0  0
注意​​:
确保挂载点目录已创建
fstab 修改后不需要手动执行 systemctl daemon-reload

3. 测试挂载

sudo mount -a

验证挂载是否成功:

df -h | grep /mnt/data

4. 安装 NFS 服务

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

5. 配置 NFS 共享

编辑 /etc/exports 文件:

sudo vim /etc/exports

添加以下内容(根据实际情况调整 IP 地址和权限):

/mnt/data1  服务器A的IP(rw,sync,no_root_squash,no_subtree_check)
/mnt/data2  服务器A的IP(rw,sync,no_root_squash,no_subtree_check)
/mnt/data3  服务器A的IP(rw,sync,no_root_squash,no_subtree_check)​​
配置说明​​:
rw:允许读写
sync:同步写入,确保数据一致性
no_root_squash:允许 root 用户访问(谨慎使用)
no_subtree_check:禁用子树检查,提高性能
​​安全建议​​:
生产环境建议限制访问 IP 范围(如 192.168.1.0/24)
避免在生产环境中使用 no_root_squash

6. 启动 NFS 服务

sudo systemctl restart nfs-kernel-server
sudo systemctl enable nfs-kernel-server

7. 检查 NFS 导出情况

sudo exportfs -v

确保 /mnt/data1、/mnt/data2、/mnt/data3 已正确导出。

服务器A(应用服务器)配置

1. 安装 NFS 客户端

sudo apt update && sudo apt install nfs-common

2. 创建挂载点

sudo mkdir -p /mnt/data1 /mnt/data2 /mnt/data3

3. 测试挂载

先测试手动挂载:

sudo mount -t nfs 服务器B的IP:/mnt/data1 /mnt/data1
sudo mount -t nfs 服务器B的IP:/mnt/data2 /mnt/data2
sudo mount -t nfs 服务器B的IP:/mnt/data3 /mnt/data3

验证挂载是否成功:

df -h | grep nfs

4. 永久挂载

编辑 /etc/fstab 文件:

sudo vim /etc/fstab

添加以下内容:

服务器B的IP:/mnt/data1  /mnt/data1  nfs  defaults  0  0
服务器B的IP:/mnt/data2  /mnt/data2  nfs  defaults  0  0
服务器B的IP:/mnt/data3  /mnt/data3  nfs  defaults  0  0
注意​​:如果网络不稳定,可以添加 soft,timeo=180,retrans=3 等选项

5. 测试永久挂载

sudo mount -a
df -h | grep nfs
补充建议
1. 防火墙配置
确保服务器B的防火墙允许 NFS 流量(默认端口 2049):
sudo ufw allow from 服务器A的IP to any port nfs
如果使用 iptables:
sudo iptables -A INPUT -p tcp --dport 2049 -s 服务器A的IP -j ACCEPT
sudo iptables -A INPUT -p udp --dport 2049 -s 服务器A的IP -j ACCEPT
2. SELinux 配置(如果启用)
如果服务器B启用了 SELinux,可能需要调整策略:
sudo setsebool -P nfs_export_all_rw 1
3. 测试 NFS 权限
在服务器A上创建测试文件:
sudo touch /mnt/data1/testfile
sudo rm /mnt/data1/testfile
4. 日志检查
如果挂载失败,检查日志:
sudo tail -f /var/log/syslog
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值