目录
简介
NFS(Network File System)网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机(不同计算机,不同操作系统)之间通过TCP/IP共享资源。
主要在unix系列系统上使用;在NFS的应用中,本地NFS客户端应用可以透明的读写NFS服务器上的文件,如同访问本地文件;NFS服务器允许计算机将服务器共享的目录挂载到本地的文件系统中,在客户端看来,服务器的目录就好像是自己的一个磁盘分区。
NFS优点
1、共享:服务器的目录可以共享
2、方便:不关注底层协议细节,能访问就能共享
3、高效:读写性能高,访问速度快
4、可靠:服务器与客户端操作同步
应用场景
共享文件服务器、集群环境、分布式存储系统
注意:启动NFS前,需要启动RPC(默认开启),否则NFS无法向RPC注册;RPC重新启动后,管理的所有服务都需要重新启动以向RPC注册。
实验内容
实验准备
一台服务器虚拟机、一台客户端虚拟机
实验步骤
服务器
以root身份操作
关闭SELinux和防火墙
setenforce 0
systemctl stop firewalld.service
安装NFS服务
yum install rpcbind -y #安装rpcbind
yum install nfs-utils -y #安装nfs-utils
创建共享目录
mkdir /public_file #创建共享目录
chmod 777 -R /public_file/ #修改共享目录权限
配置NFS服务
vim /etc/exports #进入配置文件
#添加如下配置
/public_file *(rw,insecure,async,no_root_squash)
# /public_file为共享目录,*为指定共享的主机(*为任何主机),括号内为拥有的权限
参数解释
*位置为主机名,可使用具体的IP地址或某个网段来指定共享的范围,如192.168.1.1、192.168.1.0/24、192.168.1.0/255.255.255.0,*表示任意IP地址
括号内的参数为权限参数,可以写多个,参数之间使用逗号分隔
相关参数说明
1、rw读写权限,ro只读权限,该参数与系统的读写权限及操作账号有关
2、sync、async,sync为数据同步写入内存与硬盘中;async为数据暂存于内存中
3、no_root_squash、root_squash、all_squash,no_root_squash为允许使用root身份操作,root_squash为不允许使用root身份操作,all_squash为所有用户都修改为匿名用户
4、anonuid、anongid,anonuid为UID,anongid为GID
5、subtree_check、no_subtree_check,subtree_check为只允许客户端访问允许访问的目录,会增加额外性能开销;no_subtree_check为允许客户端访问任意目录;该选项在新版本nfs-utils中默认为no_subtree_check
重启服务并检查状态
systemctl restart nfs-server.service #重启服务
showmount -e 127.0.0.1 #检查状态
客户端
关闭SELinux、防火墙
setenforce 0 #关闭SELinux
systemctl stop firewalld.service #关闭防火墙
安装NFS服务
yum install rpcbind -y
yum install nfs-utils -y
查看共享目录
showmount -e 192.168.73.130 #IP地址为服务器IP地址
创建挂载目录
mkdir /nfs_client
挂载共享目录
mount 192.168.73.130:/public_file /nfs_client/
将IP地址为192.168.73.130服务器的/public_file目录挂载到本机的/nfs_client目录中
取消挂载
不使用时需要及时断开挂载
umount /nfs_client
测试
自动挂载
由于网络环境复杂,NFS服务器和客户端的连接不能保持稳定,任何一方脱机都可能导致另一方连接超时,所以我们需要autofs服务来完成挂载操作。
autofs
autofs的工作原理基于Linux内核的automount功能,当用户访问autofs挂载的目录时,automount守护进程会捕获访问请求,然后会根据配置文件挂载相应的文件系统,当文件系统一定时间内没有被访问时,automount会将其取消挂载。autofs服务在客户端上配置。
安装服务
yum install autofs -y
修改主配置文件
vim /etc/auto.master #进入配置文件
末尾添加,/nfs_client为需要挂载的目录,/nfs_client.link为自定义的子配置文件
添加挂载子目录
cd /nfs_client/ #进入目录
mkdir nfs_1 #创建子目录
修改子配置文件
vim /etc/nfs_client.link #创建文件
添加配置,nfs_1为挂载点,后面为NFS服务器地址及共享目录
重启服务
systemctl restart autofs.service
systemctl enable autofs #开机启动
查看效果
注意:服务启用后使用ls无法查看,需要进入到目录中才能查看
如果提示目标繁忙,可能是设备被一些程序占用,使用以下程序查找
fuser -mv /nfs_client/