Linux中有文件共享协议可用于网络上共享存储和文件。经常使用的协议是Samba和NFS。Samba属于流行开源应用程序套件,采用客户端-服务器架构,提供跨平台兼容性。可以在Linux、Windows和macOS操作系统之间无缝共享文件。Linux系统上的文件共享能从不同平台访问,从而促进协作。另外一种NFS是网络文件共享缩写,允许用户通过我拿过来和多个远程客户端用户共享目录和文件。下文为大家分享基于RHEL系统NFS服务器和客户端安装。
NFS发布主要4个版本,NFSv2/NFSv3/NFSv4.0/NFSv4.1。NFSv4相较于早期版本有显著变化和改进,特别是状态管理和安全性方面。这些版本仍然被广泛使用,特别是需要高性能和高可用性的共享场景中。
NFS服务器(nfs-server)允许客户端访问NFS共享文件,而rpcbind服务负责将RPC程序映射到通用地址。nfs-idmap服务则负责用户和组ID与名称之间的转换。portmap服务将RPC程序号映射到IP端口号,是RPC通信的关键组件。nfslock服务在NFS服务器崩溃时确保启动必要的RPC进程,以维护NFS服务的稳定性。这些组件共同协作,确保NFS服务的正常运行和数据的高效共享。
安装NFS服务器之前,要确保服务器有静态IP地址和静态主机名:
sudo yum -y update
sudo hostnamectl set-hostname server.example.com --static
在RHEL/CentOS 8系统上,用以下命令安装NFS服务器:
sudo yum -y install nfs-utils
安装完成后,启动NFS的服务,并设置它们在系统启动时自动启动::
sudo systemctl enable --now nfs-server rpcbind
可配置NFS为共享,如想要共享一个目录,可以添加如下行到/etc/exports:
/data/nfs *(rw,sync,no_subtree_check)
再运行exportfs-arv来应用更改。
在客户端系统上安装nfs-utils包来访问NFS服务器共享:
sudo yum -y install nfs-utils
创建一个挂载点并挂载NFS,如在服务器上共享目录为/data/nfs,且客户端挂载点为/mnt/nfs:
sudo mkdir -p /mnt/nfs
sudo mount -t nfs server.example.com:/data/nfs /mnt/nfs
为在系统启动时自动完成NFS共享,可在/etc/fstab文件中添加以下行:
server.example.com:/data/nfs /mnt/nfs nfs defaults 0 0
删除NFS挂载:
$ umount ~/nfs_backup
NFS相关重要命令:
showmount -e – 显示本地计算机上的可用共享
showmount -e ip-address – 列出远程服务器上可用的共享
showmount -d – 列出所有子目录
exportfs -v – 显示服务器上的共享文件和选项列表
exportfs -a – 导出/etc/exports中列出的所有共享,或指定名称
exportfs -u – 取消导出/etc/exports中列出的所有共享,或指定名称
exportfs -r – 修改/etc/exports后刷新服务器列表