NFS Server 搭建与配置
✨ NFS(Network File System)是一种分布式文件系统协议,可以使计算机在网络中像访问本地文件一样访问远程文件。在Linux系统中,可以通过安装NFS服务端和配置NFS来实现共享存储。安装NFS服务端需要使用特定的命令,如在Debian系发行版中可以使用以下命令安装NFS:sudo apt install nfs-kernel-server。配置NFS需要编辑/etc/exports文件,指定共享路径、允许的主机和共享参数,如读写权限、同步写入等。编辑完成后,使用sudo exportfs -arv命令启动共享文件夹。管理NFS服务可以通过systemctl命令来查看状态、启动和重启NFS服务。连接NFS客户端需要安装NFS客户端并挂载NFS共享目录,最后可以进行测试以确保共享目录的正常使用.
因客户环境暂无 NAS,故采用搭建 NFS 的方式来实现共享存储,如下做一个简单整理记录以备查询。
什么是NFS协议?
NFS(Network File System)是一种分布式文件系统协议,可以使计算机在网络中像访问本地文件一样访问远程文件。
安装NFS服务端
安装NFS
在Linux系统中,以
Debian系发行版为例,可以使用以下命令安装NFS:sudo apt install nfs-kernel-server配置NFS
配置NFS需要编辑
/etc/exports文件,例如:# 共享路径 允许的主机(共享参数) # /home/user/shared是要共享的目录,*表示允许任何客户端连接,rw表示可读写,sync表示同步写入,no_subtree_check表示不检查子树。 /home/user/shared *(rw,sync,no_subtree_check)更多参数说明如下:
参数 说明 ro / rw 只读 / 读写 root_squash 当 NFS 客户端以 root 管理员访问时,映射为 NFS 服务器的匿名用户 no_root_squash 当 NFS 客户端以 root 管理员访问时,映射为 NFS 服务器的 root 管理员 all_squash 无论 NFS 客户端使用什么账户访问,均映射为 NFS 服务器的匿名用户 sync 同时将数据写入到内存与硬盘中,保证不丢失数据 async 优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据 编辑好该文件后,可使用如下命令启动该共享文件夹:
sudo exportfs -arv使用
showmount -e可查看该共享目录。管理NFS服务
使用以下命令重启NFS服务:
# 查看状态 sudo systemctl status nfs-server # 启动 sudo systemctl start nfs-server # 重启 sudo systemctl restart nfs-kernel-server
连接NFS客户端
安装NFS客户端
使用以下命令安装NFS客户端:
sudo apt install -y --no-install-recommends nfs-common挂载NFS共享目录
使用以下命令挂载NFS共享目录:
# 创建挂载路径 mkdir -p /mnt/nfs # 挂载, 其中 nfs_server 是NFS服务端的IP地址或主机名,/home/user/shared是要挂载的共享目录路径,/mnt是本地挂载目录。 sudo mount nfs_server:/home/user/shared /mnt/nfs挂载时,须保证 NFS 服务相关端口是通达的,可通过
rpcinfo -p | grep nfs命令查看相应端口,一般为 2049,防火墙中打开此端口后再尝试挂载即可。测试NFS共享目录
# 客户端文件夹中,创建文件 cd /mnt/nfs dd if=/dev/zero of=./test bs=1M count=10 ll # 服务端查看该共享目录 ll /home/user/shared客户端强制卸载挂载点
# 强制关闭正在使用指定文件或目录的进程 fuser -km /mnt/nfs/ # 再 umount umount /mnt/nfs/