Linux下使用NFS实现多设备文件同步

使用NFS实现不同设备上的文件同步,以下使用三台虚拟机简述实现流程。
虚拟机目录及规划如下:

主机 用途 系统版本
192.168.186.130 nfs_server debian12
192.168.186.131 nfs_client debian12
192.168.186.132 nfs_client debian12

NFS-Server

在192.168.186.130上安装NFS服务器

安装NFS

在安装NFS时会创建用户nobody和用户组nogroup

apt-get update -y
#安装文件编辑工具
apt-get install -y nano net-tools
#安装nfs-server
apt-get install -y nfs-kernel-server
#配置共享目录并设置权限
mkdir -p /mnt/shared
chown nobody:nogroup /mnt/shared
chmod 755 -R /mnt/shared

配置NFS导出设置

nano /etc/exports
#添加以下一行到/etc/exports以允许任意主机访问共享目录
/mnt/shared *(rw,sync,no_subtree_check)
#导出共享目录
exportfs -a
#设置nfs服务开机自启并启动nfs服务
systemctl enable nfs-kernel-server
systemctl restart nfs-kernel-server && systemctl status nfs-kernel-server

NFS-Client

在192.168.186.131及192.168.186.132上安装NFS客户端

安装客户端

apt-get update -y
#安装文件编辑工具
apt-get install -y nano net-tools
#安装nfs客户端
apt-get install -y nfs-common
#创建挂载点并挂载NFS共享目录到挂载点
mkdir -p /app/sharedfiles
mount 192.168.186.130:/mnt/shared /app/sharedfiles
#验证是否挂载成功
df -h | grep /app/sharedfiles
#成功结果应如下
# 192.168.186.130:/mnt/shared  2.6G  879M  1.6G  37% /app/sharedfiles
#持久化挂载,确保客户端重启后,NFS共享目录能自动挂载,将挂载配置写到/etc/fstab中
nano /etc/fstab
#将以下一行添加到/etc/fstab文件末尾
192.168.186.130:/mnt/shared /app/sharedfiles nfs defaults 0 0
#重新加载配置
systemctl daemon-reload
#重启
reboot
#查看挂载关系
df -h | grep /app/sharedfiles
#正常结果如下
# root@debian:~# df -h | grep /app/sharedfiles
# 192.168.186.130:/mnt/shared  2.6G  879M  1.6G  37% /app/sharedfiles

测试文件同步

  1. 在客户端新建文件
##192.168.186.131(客户端1)
touch /app/sharedfiles/131_client_test_file
##192.168.186.132(客户端2)
touch /app/sharedfiles/132_client_test_file
  1. 在服务器端及客户端查看文件是否存在
##192.168.186.130(服务器端)
ls -l /mnt/shared
# root@debian:~# ls -l /mnt/shared
# total 0
# -rw-r--r-- 1 nobody nogroup 0 Jul 26 10:52 131_client_test_file
# -rw-r--r-- 1 nobody nogroup 0 Jul 26 10:54 132_client_test_file

##192.168.186.131(客户端1)
ls -l /app/sharedfiles
# root@debian:~# ls -l /app/sharedfiles/
# total 0
# -rw-r--r-- 1 nobody nogroup 0 Jul 26 10:52 131_client_test_file
# -rw-r--r-- 1 nobody nogroup 0 Jul 26 10:54 132_client_test_file

##192.168.186.132(客户端2)
ls -l /app/sharedfiles
# root@debian:~# ls -l /app/sharedfiles/
# total 0
# -rw-r--r-- 1 nobody nogroup 0 Jul 26 10:52 131_client_test_file
# -rw-r--r-- 1 nobody nogroup 0 Jul 26 10:54 132_client_test_file

END

posted @ 2024-07-26 11:28  Ar4te  阅读(68)  评论(0编辑  收藏  举报