一、nfs工作原理
1. 首先NFS服务器端开启rpcbind;
2. 然后服务端开启NFS服务,这时NFS的各项功能都需要向RPC服务注册,这时rpc会通知portmap模块将可用的端口分配给statd,rquotad 等;
3. 然后NFS客户端RPC服务就会通过网络向NFS服务端的RPC服务的111端 口发出NFS文件存取功能的询问请求。
4. NFS服务端的RPC服务找到对应的已注册的NFSdaemon端口后,通知 NFS客户端的RPC服务。
5. 此时NFS客户端就可获取到nfs服务端各个进程的正确端口,然后通过客 户端rpc就直接与NFS服务器的rpc进行存取数据了(rpc知道了nfs的具 体端口,就可以实现远程调用,即传输)。
二、实验环境
node01 192.168.0.2 NFS服务端
node02 192.168.0.3 NFS客户端
三、实验要求
1、node01上的本地yum源与node02共享
2、实现共享目录自动挂载
四、实验步骤
1、为保证实验过程顺利关闭firewalld\selinux
#systemctl stop firewalld && systemctl disable firewalld
#setenforce 0
#sed -i 's/=enforcring/=disabled/' /etc/selinux/config
2、再服务器端和客户端都安装nfs服务
#yum install -y nfs-utils
3、配置nfs服务
#mkdir /data/reposhare
#vi /etc/exports
/data/reposhare 192.168.0.0/24(rw,sync,root_squash)
wq!
配置文件解释:
/data/repshare --用于共享的目录
192.168.0.0 --可访问共享目录的网段
rw --客户端对目录的权限
root_squash --客户端用root身份访问,则被压缩成nobody,权限也将受 到限制
4、启动nfs rpcbind服务并使能
#systemctl start nfs rpcbind && systemctl enable nfs rpcbind
#exportfs -r
5、配置客户端
#showmount -e 192.168.0.2
#mkdir /data/reposhare -p #创建挂载目录
# mount 192.168.0.2:/data/reposhare /data/reposhare #挂载
6、实现自动挂载
此时我们希望使用时才自动挂载,不使用时自动卸载,那么需要安装autofs服务来解决此问题,在客户端安装autofs
#yum install -y autofs
配置autofs
rpm -qc autofs
[root@node02 ~]# rpm -qc autofs
/etc/auto.master
/etc/auto.misc
/etc/auto.net
/etc/auto.smb
/etc/autofs.conf
/etc/autofs_ldap_auth.conf
/etc/sysconfig/autofs
/usr/lib/systemd/system/autofs.service
#vi /etc/auto.master
#vi /etc/auto.reposhare
/data/reposhare -fstype=nfs,rw,sync 192.168.0.2:/data/reposhare
启动autofs服务
#systemctl start autofs
7、在node01将网络源同步到本地
#yum install -y createrepo yum-utils #安装yum自动配置管理工具,安装reposync工具
#yum repolist
#reposync -r mirrors.tuna.tsinghua.edu.cn_epel_7_x86_64_ -p /data/reposhare #同步yum源到本地
#createrepo /data/reposhare #生成Yum元数据
8、在node02配置yum源
#vi /etc/yum.repos.d/local.repo