阅读 417
Linux7 挂载 nfs 远程目录

Linux7 挂载 nfs 远程目录

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

本文已参与「掘力星计划」,赢取创作大礼包,挑战创作激励金。

📚 前言

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、开启服务

服务端需要开启 rpcbindnfs 服务:

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

systemctl disable firewalld
systemctl stop firewalld
systemctl status firewalld

sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
复制代码

3、配置 exports

默认是一个空文件,只需要按照如下格式配置即可,一行一个共享卷。

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、创建挂载目录

mkdir /backup
复制代码

可以与服务端挂载目录不同名。

2、查看是否可以访问服务端NFS

showmount -e 10.211.55.100
复制代码

如果显示如下即为正确:

导出列表在 10.211.55.100:
/backup                            10.211.55.*
复制代码

3、mount 挂载远程目录

mount -t nfs -o rw,bg,hard,rsize=32768,wsize=32768,vers=3,nointr,timeo=600,tcp  10.211.55.100:/backup /backup
复制代码

4、配置开机自动挂载

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三思而后行 ❤️

文章分类
后端
文章标签