Mobile wallpaper 1Mobile wallpaper 2
721 字
4 分钟
Debian12上安装NFS服务器和客户端

什么是NFS?#

网络文件系统NFS可以让机器像在本地挂载磁盘分区一样挂载远程机器上的磁盘分区。它可以通过网络快速、无缝地共享文件。

准备工作#

准备3台虚拟机#

操作系统IP角色
Debian12172.16.126.130服务端
Debian12172.16.126.131客户端
Debian12172.16.126.132客户端

服务端#

注意⚠️: 以下安装NFC服务器操作,只需要在服务端服务器(172.16.126.130)操作。

安装#

更新软件包列表#

apt update

安装NFS服务器包和客户端软件包#

apt install nfs-kernel-server nfs-common -y

检查NFS服务器状态#

执行以下 systemctl 命令来验证 nfs-server 服务并确保该服务已启用并正在运行

sudo systemctl is-enabled nfs-server
sudo systemctl status nfs-server

管理#

之后,您可以使用以下命令来启动、重新启动和停止 nf-server 服务

sudo systemctl start nfs-server
sudo systemctl restart nfs-server
sudo systemctl stop nfs-server

配置NFS#

配置NFS服务器#

sudo vim /etc/default/nfs-common

修改内容

NEED_STATD="no"
NEED_IDMAPD="yes"

禁用 NFSv2 和 NFSv3

sudo vim /etc/default/nfs-kernel-server
# 添加
RPCNFSDOPTS="-N 2 -N 3"
# 修改
RPCMOUNTDOPTS="--manage-gids -N 2 -N 3"

重启NFS服务

sudo systemctl restart nfs-server

配置防火墙#

sudo ufw allow from 172.16.126.0/24 to any port nfs
sudo ufw reload
sudo ufw status

导出文件系统#

创建共享目录#

sudo mkdir -p /nfs
sudo chmod 777 /nfs

配置NFS导出#

sudo vim /etc/exports
# 允许访问该共享的客户端 IP 范围(这里表示 172.16.126.0 网段的所有主机)
/nfs 172.16.126.0/24(rw,sync,fsid=0,root_squash,no_subtree_check)

导出共享目录#

sudo exportfs -ra

重启并查看

sudo systemctl restart nfs-server
sudo systemctl status nfs-server
sudo showmount --exports

客户端#

注意⚠️: 以下设置客户端操作,只需要在客户端服务器(172.16.126.131,172.16.126.132)操作。

  • 在 Debian 和 Ubuntu 上安装 NFS 客户端 在基于 Debian 的发行版中,包含挂载 NFS 文件系统的软件包名是:nfs-common
  • 在 CentOS 和 Fedora 上安装 NFS 客户端 在 Red Hat 和它的衍生版本上安装nfs-utils包: sudo yum install nfs-utils

安装NFS客户端包#

sudo apt update
sudo apt install nfs-common -y

创建目标挂载目录#

sudo mkdir -p /nfs

手动挂载共享目录#

这个命令会将172.16.126.130上的/nfs目录挂载到本地的/nfs目录

sudo mount -t nfs 172.16.126.130:/nfs /nfs

验证挂载 执行以下命令来验证挂载是否成功

df -Th

以上手动挂载的方式,重启后会失效,下面通过/etc/fstab设置永久挂载。

设置永久挂载#

sudo vim /etc/fstab

在文件最后添加一行

172.16.126.130:/nfs /nfs nfs defaults 0 0

重新挂载

sudo systemctl daemon-reload
sudo mount -a

此时可以尝试重启客户端机器看看是否可以自动挂载成功

验证

sudo df -Th

df.png

使用#

在任意一台机器上的/nfs文件夹下进行文件操作,都会同步到其他机器上

  1. 在客户端机器172.16.126.131写入文件
echo "hello nfs" > /nfs/hello.txt
  1. 在客户端机器172.16.126.132读取文件
ls /nfs
cat /nfs/hello.txt

卸载NFS挂载#

sudo umount /nfs
sudo umount -f /nfs
-f: 强制卸载
Debian12上安装NFS服务器和客户端
https://blog.dongge.de/20240906212203/
作者
V.V.
发布于
2024-09-06
许可协议
CC BY-SA 4.0
封面
加载中...
加载中...
封面
加载中...
加载中...
0:00 / 0:00