721 字
4 分钟
Debian12上安装NFS服务器和客户端
什么是NFS?
网络文件系统NFS可以让机器像在本地挂载磁盘分区一样挂载远程机器上的磁盘分区。它可以通过网络快速、无缝地共享文件。
准备工作
准备3台虚拟机
| 操作系统 | IP | 角色 |
|---|---|---|
| Debian12 | 172.16.126.130 | 服务端 |
| Debian12 | 172.16.126.131 | 客户端 |
| Debian12 | 172.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-serversudo systemctl status nfs-server管理
之后,您可以使用以下命令来启动、重新启动和停止 nf-server 服务
sudo systemctl start nfs-serversudo systemctl restart nfs-serversudo 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 nfssudo ufw reloadsudo ufw status导出文件系统
创建共享目录
sudo mkdir -p /nfssudo 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-serversudo systemctl status nfs-serversudo 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 updatesudo 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-reloadsudo mount -a此时可以尝试重启客户端机器看看是否可以自动挂载成功
验证
sudo df -Th
使用
在任意一台机器上的/nfs文件夹下进行文件操作,都会同步到其他机器上
- 在客户端机器172.16.126.131写入文件
echo "hello nfs" > /nfs/hello.txt- 在客户端机器172.16.126.132读取文件
ls /nfscat /nfs/hello.txt卸载NFS挂载
sudo umount /nfssudo umount -f /nfs-f: 强制卸载 Debian12上安装NFS服务器和客户端
https://blog.dongge.de/posts/debian12上安装nfs服务器和客户端/ 
