📚 前言
NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。
在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,像访问本地文件一样。
☀️ 介绍
Linux 系统下,如果想要将 A 机器的目录挂载到 B 机器,让 B 机器访问,可以通过 NFS 将目录挂载到 B 机器!
本文介绍下如何配置 NFS 远程目录:
- 机器A: 服务端,IP:10.211.55.100,假设有有一个目录 /backup
- 机器B: 客户端,IP:10.211.55.101,需要访问 A 服务器的 /backup 目录
- 机器 A,B 尽量配置在同一个网段下,假设为:10.211.55.*
❤️ NFS 配置
服务端配置
1、开启服务
服务端需要开启 rpcbind,nfs 服务:
bash
systemctl enable rpcbind.service
systemctl start rpcbind.service
systemctl status rpcbind.service
systemctl enable nfs.service
systemctl start nfs.service
systemctl status nfs.service
确认服务都已成功开启,并且配置开机自启。
2、关闭防火墙和selinux
bash
systemctl disable firewalld
systemctl stop firewalld
systemctl status firewalld
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
3、配置 exports
默认是一个空文件,只需要按照如下格式配置即可,一行一个共享卷。
bash
cat <<EOF>>/etc/exports
/backup 10.211.55.*(rw,sync)
EOF
## 生效exports
exportfs -rv
文件中可以设置参数:
- rw:具有读写权限
- sync:资料同步写入磁盘和内存
- o:只读权限
- no_root_squash:登入nfs主机时,拥有共享目录所有者权限
- root_squash:登入nfs主机时,拥有共享目录所有者权限,但如果共享目录的拥有者时root用户,那么登入者权限为nobody权限
- all_squash:登入nfs主机时,拥有nobody用户权限
- anonuid:指定用户id
- anongid:指定群id
- async:资料先存内存,再存硬盘
- no_subtree_check:不检查父文件夹权限
- subtree:检查父文件权限
- secure:限制client port(<1024)
至此,服务端就已经配置好了!
客户端配置
客户端配置比较简单!
1、创建挂载目录
bash
mkdir /backup
可以与服务端挂载目录不同名。
2、查看是否可以访问服务端NFS
bash
showmount -e 10.211.55.100
如果显示如下即为正确:
bash
导出列表在 10.211.55.100:
/backup 10.211.55.*
3、mount 挂载远程目录
bash
mount -t nfs -o rw,bg,hard,rsize=32768,wsize=32768,vers=3,nointr,timeo=600,tcp 10.211.55.100:/backup /backup
4、配置开机自动挂载
bash
cat <<EOF>>/etc/rc.local
mount -t nfs -o rw,bg,hard,rsize=32768,wsize=32768,vers=3,nointr,timeo=600,tcp 10.211.55.100:/backup /backup
EOF
## Linux7需要手动授权执行权限,否则无权限
chmod +x /etc/rc.d/rc.local
看到这里有朋友会问了,为什么不配置在 /etc/fstab 文件中?
我悄悄告诉你:等你开机开不了的时候,就不会配置在 /etc/fstab 里面了罒ω罒!
OK,至此已经配置完成,通过 df -h 就可以查看已挂载的 NFS 目录啦!
小BUG
最后再分享一个很坑的小bug吧,需要注意 📢:
‼️ 不要在服务端 /etc/hosts 文件中配置客户端的主机解析名!
至于为什么? 你可以自己去测试一下呀!毕竟实践出真知嘛~😄
本次分享到此结束啦~
如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是我创作最大的动力。
❤️ 技术交流可以 关注公众号:Lucifer三思而后行 ❤️
📚 推荐阅读:DBA 学习之路
如果这篇文章对你有帮助,推荐访问我的 Oracle DBA 系统学习站点,涵盖 100 天完整学习路线:
- 🔧 Oracle 安装部署 · RMAN 备份恢复 · Data Pump 数据迁移
- 🏗️ RAC 高可用 · DataGuard 容灾 · 多租户架构
- 🔍 故障排查 · 升级迁移 · GoldenGate 数据同步