内网NFS挂载另外一台大盘鸡方法

NFS(网络文件系统)是一种分布式文件系统协议,它允许你在服务器上挂载远程目录。这意味着你可以在不同位置管理存储空间,并允许多个客户端写入该存储空间。NFS为通过网络访问远程系统提供了一种相对标准且高效的方式,适用于需要定期访问共享资源的情况。

具体来说,NFS 可以被理解为一种“虚拟硬盘”,它可以被多个计算机访问,即使这些计算机运行着不同的操作系统。

以下是 NFS 工作原理的简要介绍:

  1. 服务器-客户端架构:
    • NFS服务器将目录导出(共享)给网络上的客户端。
    • 客户端将这些导出的目录挂载,使其像本地存储一样可访问。
  2. 远程访问和共享:
    • 客户端可以在挂载的目录上读取、写入和执行文件,就像它们是本地文件一样。
    • 这使得多个机器之间的协作和数据共享更加高效。

NFS的优势包括:

  • 集中式存储: 在单个位置管理存储空间,可供多个客户端访问。
  • 跨平台兼容性: 适用于不同的操作系统(Linux、Windows、macOS 等)。
  • 性能: 提供对远程文件的有效访问,适用于常规使用情况。
  • 可扩展性: 通过添加更多NFS服务器轻松扩展存储容量。
  • 灵活性: 为不同客户端配置不同级别的访问权限。

首先两台服务器A和服务器B,这两台服务器最好是局域网可以内网互相ping,公网按道理应该是也可以的,我没试过,感觉问题不大。
A服务器为客户端,内网地址为192.168.10.10
B服务器为主机(大盘鸡),内网地址为192.168.10.1
C服务器为主机(大盘鸡),内网地址为192.168.10.2

主机环境安装

首先在两台主机B和C上安装 nfs-kernel-server 软件包,具体命令如下:

sudo apt update
sudo apt install nfs-kernel-server

创建共享目录

创建共享目录是指这个目录可以共享给A客户端,如果你直接共享home等目录也行,就不需要创建了,创建目录命令如下。

sudo mkdir /共享的目录 -p

共享权限配置

使用root权限打开B主机目录 /etc/exports 文本编辑器贴入下方文本

/home               192.168.10.10(rw,sync,no_root_squash,no_subtree_check)

这个命令的意识就是把主机的home目录共享给客户的A,同理C主机也如同此命令

完成更改后,保存并关闭文件。然后使用以下命令重新启动 NFS 服务器B和C

sudo systemctl restart nfs-kernel-server

客户端环境

客户端A上安装 nfs-common 安装包,它提供 NFS 功能,但不包含任何服务器组件。命令如下。

sudo apt update
sudo apt install nfs-common

挂载目录

在客户端A上创建挂载目录,把B、C上的共享文件夹挂载到客户端A上,因此需要挂载2个目录,也就是需要创建两个文件夹。命令如下。

sudo mkdir -p /files1
sudo mkdir -p /files2

然后就是挂载主机目录B和C了,命令如下。

sudo mount 192.168.10.1:/home /files1
sudo mount 192.168.10.2:/home /files2

这样就挂载成功了,查看挂载命令

df -h

开机自动挂载

不废话,还是在目录 /etc/fstab 贴入下方命令。

sudo nano /etc/fstab

添加下方命令,表示开机将主机共享的文件夹自动挂载到files文件夹。

192.168.10.1:/home               /files1      nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0
192.168.10.2:/home               /files2      nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0

卸载客户端NFS

命令如下。

cd ~
sudo umount /files1
sudo umount /files2

同时记得删除 /etc/fstab 里面的计划任务哦。


参考链接