文章目录
1. nfs介绍
NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
- 用途:网络上与他人共享目录和文件
- 优点:节省磁盘空间
- 用途:共享文件
注意
- NFS不提供加密功能. 在处理敏感数据时,请使用类似Kerberos或安全的VPN的协议传输NFS流量
- 与Samba不同, NFS默认不提供任何验证用户的方法,客户端访问限制是通过IP地址和/或hostname实现的.
- NFS期望user和/或user group的ID在客户端与服务端上是相同的.使用启用NFSv4 ID映射,或使用
anonuid
/anongid
并在/etc/exports
中启用all_squash
,手动改变UID/GID来解决这一问题
2. nfs安装及启用
dnf search nfs
查询dnf install nfs-utils.x86_64 -y
:安装systemctl enable --now nfs-server
:启动服务- 添加火墙设定:
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --permanent --add-service=mountd
firewall-cmd --permanent --add-service=nfs
firewall-cmd --reload
showmount -e 服务器主机IP
:查看nfs服务器共享信息
showmount参数 | |
---|---|
-e | 显示NFS服务器的共享列表 |
-a | 显示本机挂载的文件资源的情况(NFS资源的情况) |
-v | 显示版本号 |
3. nfs配置
- 配置文件:/etc/exports
#文件格式
共享目录 共享给谁(共享参数)
exportfs -rv
:刷新后/etc/exports生效并输出详细信息showmount -e 服务器主机IP
:查看nfs服务器共享信息mount 服务器主机IP:共享目录 挂载点
:挂载
exportfs参数 | |
---|---|
-r | 重新读取并同步/etc/exports和/etc/exports.d |
-v | 输出详细信息 |
-a | 挂载或卸载/etc/exports所有目录 |
-u | 卸载单一目录(和a一起为卸载所有) |
-s | 显示适用于/etc/exports的当前导出目录列表 |
3.1 服务器端配置
mkdir /lwh
:创建共享目录chmod 777 /lwh/
:修改目录权限touch /lwh/lwh_file{1…3}
:建立共享文件vim /etc/exports
:编辑配置文件
/lwh *(ro) #共享/lwh目录,共享给所有人,只读共享
共享目录 共享给谁(共享参数)
exportfs -rv
:刷新后/etc/exports生效并输出详细信息
3.2 客户端测试
showmount -e 192.168.43.101
:查看nfs服务器共享信息mount 192.168.43.101:/lwh /mnt/
:挂载
4. nfs共享参数
ro | 只读 |
rw | 读写 |
sync | 实时同步数据到服务器 (效率低,但保证数据一致性) |
async | 更改生成后同步数据到服务器 |
root_squash | root用户及所属组都映射为匿名用户或组nobody(默认) |
no_root_squash | root用户挂载不转换身份 |
all_squash | 客户端无论以什么身份访问,都映射为匿名用户nobody |
anonuid=1000 | 指定用户身份 |
anongid=1000 | 指定用户组身份 |
4.1 访问权限
- 服务器端配置
- 客户端挂载测试
4.2 用户设置1
- 服务器端配置
- 客户端挂载测试
- 服务器端对照建立文件用户及用户组
4.3 用户设置2
- 服务器端配置
- 客户端挂载测试
4.4 添加版本号挂载
mount -o vers=3 服务器端IP:共享目录 挂载目录
5. nfs+autofs自动挂卸载
autofs:在客户端实现自动挂载卸载的软件;
mount是用来挂载文件系统的,可以在系统启动的时候挂载也可以在系统启动后挂载。对于本地固定设备,如硬盘可以使用mount挂载;而光盘、软盘、NFS、SMB等文件系统具有动态性,即需要的时候才有必要挂载。光驱和软盘我们一般知道什么时候需要挂载,但NFS和SMB共享等就不一定知道了,即我们一般不能及时知道NFS共享和SMB什么时候可以挂载。而autofs服务就提供这种功能,好像windows中的光驱自动打开功能,能够及时挂载动态加载的文件系统。免去我们手动挂载的麻烦。要实现光驱,软盘等的动态自动挂载,需要进行相关的配置。
dnf install autofs -y
:客户端安装autofs
5.1 自动挂载实验1
vim /etc/auto.master
:编辑配置文件
/mnt /etc/auto.nfs
最终挂载点的上层目录 自动定义子策略文件
vim /etc/auto.nfs
:编辑自动定义子策略文件
nfs -vers=3 192.168.43.101:/westosdir
最终挂载点 版本 挂载资源
vim /etc/autofs.conf
:修改默认卸载时间
timeout = 3 #自动卸载时间默认为300秒
systemctl restart autofs.service
:重启服务- 测试
5.2 自动挂载实验2
5.2.1 客户端autofs配置
vim /etc/auto.master
:编辑配置文件
/home /etc/auto.nfs
最终挂载点的上层目录 自动定义子策略文件
vim /etc/auto.nfs
:编辑自动定义子策略文件
* -vers=3 192.168.43.101:/lwh/&
最终挂载点 版本 挂载资源
vim /etc/autofs.conf
:修改默认卸载时间
timeout = 3 #自动卸载时间默认为300秒
systemctl restart autofs.service
:重启服务
5.2.2 服务端设置
mkdir /lwh/sdsnzy1 /lwh/sdsnzy2
:创建目录并建立文件