目录
四、Linux客户端挂载配置(192.168.65.202)
一、NFS的工作原理
因为NFS支持的功能相当多,而不同的功能都会使用不同的程序来启动,每启动一个功能就会启用一些端口来传输数据,因此NFS的功能对应的端口并不固定,客户端要知道NFS服务器端的相关端口才能建立连接进行数据传输,而RPC就是用来统一管理NFS端口的服务,并且统一对外的端口是111,RPC会记录NFS端口的信息,如此我们就能够通过RPC实现服务端和客户端沟通端口信息。PRC最主要的功能就是指定每个NFS功能所对应的port number,并且通知客户端,记客户端可以连接到正常端口上去。
在启动NFS SERVER之前,首先要启动RPC服务(即portmap或rpcbind服务,下同)否则NFS SERVER就无法向RPC服务区注册,另外,如果RPC服务重新启动,原来已经注册好的NFS端口数据就会全部丢失。因此此时RPC服务管理的NFS程序也要重新启动以重新向RPC注册。一般修改NFS配置文档后,是不需要重启NFS的,直接在命令执行/etc/init.d/nfs reload或exportfs –rv即可使修改的/etc/exports生效。
二、NFS安装与检查
1、环境信息
服务端:192.168.65.201 【Linux】 ;
客户端:192.168.65.202 【Linux】;
2、NFS服务检查以及安装
检查是否安装nfs-utils 、rpcbind服务,系统默认已安装,如果没有安装通过 yum安装
[root@CentOS7-0002 ~]# rpm -qa nfs-utils rpcbind
rpcbind-0.2.0-49.el7.x86_64
nfs-utils-1.3.0-0.68.el7.2.x86_64
[root@CentOS7-0002 ~]#
[root@CentOS7-0001 /]# yum -y install nfs-utils rpcbind
3、关闭防火墙、selinux
[root@CentOS7-0002 ~]# systemctl stop firewalld
[root@CentOS7-0002 /]# sed -i "7s/enforcing/disabled/" /etc/selinux/config
[root@CentOS7-0002 /]# setenforce 0
三、服务端安装配置(192.168.65.201)
1、创建共享文件
在NFS服务端上创建共享目录/srv/nfs_share/test并设置权限
[root@CentOS7-0002 /]# mkdir -p /srv/nfs_share/test
[root@CentOS7-0002 /]# chmod 666 /srv/nfs_share/test/
2、编辑export文件设置共享目录
[root@CentOS7-0002 /]# vim /etc/exports
/srv/nfs_share/test/ 192.168.65.*(rw,no_root_squash,async)
3、使配置文件生效
[root@CentOS7-0001 /]# exportfs -r
exportfs -rv //重新输出共享目录(重新启动本机上的所有共享目录)
nfsstat //查看NFS的运行状态,对于调整NFS的运行有很大帮助。
4、启动rpcbind、nfs服务
[root@CentOS7-0002 /]# systemctl start rpcbind
[root@CentOS7-0002 /]# systemctl start nfs
5、设置rpcbind、nfs开机自启动
[root@CentOS7-0002 /]# systemctl enable rpcbind
[root@CentOS7-0002 /]# systemctl enable nfs
6、查看 RPC 服务的注册状况
[root@CentOS7-0002 /]# rpcinfo -p localhost
7、查看共享出来的目录( 服务端或者客户端都可以)
[root@CentOS7-0002 /]# showmount -e 192.168.65.56
四、Linux客户端挂载配置(192.168.65.202)
1、客户端查看nfs共享状态
[root@CentOS7-0003 ~]# showmount -e 192.168.65.201
Export list for 192.168.65.56:
/srv/nfs_share/test 192.168.65.*
2、客户端挂载nfs服务器共享目录
命令格式:mount 文件类型 NFS服务器IP:共享目录 本地挂载点目录
[root@CentOS7-0003 ~]# mkdir -p /srv/nfs_share/test
[root@CentOS7-0003 ~]# mount -t nfs 192.168.65.56:/srv/nfs_share/test /srv/nfs_share/test
说明:mount命令只能通过root用户才能执行,如果客户端想通过普通用户访问该同步目录,需要设置服务端共享目录的权限,设置共享目录普通用户可以访问。
如服务端设置:chmod -R 666 /srv/nfs_share_test
3、设置开机自动挂载
因为在centos7中/etc/rc.d/rc.local的权限被降低了,所以需要赋予其可执行权,并将命令添加到/etc/rc.d/rc.local文件中
[root@CentOS7-0002 ~]# chmod +x /etc/rc.d/rc.local
添加一下脚本,并保存即可。
mount -t nfs 192.168.65.56:/srv/nfs_share/test /srv/nfs_share/te
五、Linux挂载windows的共享目录(192.168.65.148)
1、window端共享目录需要挂载的目录
找一台其他通网段window,在命令行输入:\\192.168.65.148\test 验证是否可以正常访问。
2、Linux客户端执行挂在命令
mount -t cifs -o username=admin,password=123456,uid=nfsuser,gid=root //192.168.65.148/test/ /srv/test/
说明:mount命令只能通过root用户执行,如果linux需要通过普通用户访问操作,可以通过uid,gid执行用户和用户组,通过dir_mode和file_mode设置目录和文件的访问权限
六、卸载已挂载的NFS共享目录
使用umount命令卸载已挂在的NFS目录
[root@CentOS7-0003 ~]# umount /srv/test/
如果出现:device is busy错误,加上-l参数强制卸载。
[root@CentOS7-0003 ~]# umount -l /srv/test/
七、rsync物理同步
安装rsync,建议使用普通用户安装,下载安装文件加压到对应的安装目录即可,我的安装目录:
/opt/software/rsync
网盘下载链接:
链接:https://pan.baidu.com/s/1_YGlHGynckE6BZ6ASaa8Aw 提取码:zhan
服务端配置(192.168.65.201)
在rsync安装目录/conf/rsyncd.conf文件中配置如下信息:
客户端配置(192.168.65.202)
在/opt/software/rsync/rsync_client文件中配置客户端同步脚本
说明:
- 单向同步时,可一个服务端认证模块对多个客户端,即多个不同客户端从服务端同步目录至本地。
- 双向同步时,服务端也是客户端,两边都需要配置认证模块信息和同步脚本,都需要启动服务端和启动客户端。
服务启动
1、服务端启停
# cd /opt/software/rsync
# ./run_server.sh start
# ./run_server.sh stop
- 2、客户端启停
# cd /opt/software/rsync/
# ./run_client.sh startall
# ./run_client.sh stopall
客户端没有一定的启动方式,为自编写shell脚本,必须用startall和stopall命令启动停止。all命令添加了reset和watchdog监控重启机制,每3秒检查一次,若有同类任务存活,则不拉起客户端同步,若无同类任务存活,则拉起客户端同步。即每三秒进行一次同步,这个时间可在run_client.sh脚本中配置。
日志清理
客户端同步脚本中配置了日志目录,会打印每一条同步信息,同步的文件越多越大,打印的日志信息越多,需定时清理。建议不停应用清理,也可配置定时脚本清理,命令如下。
# >xxx.log
不要直接删除log文件,对运行程序直接删除对应日志文件,可能导致空间不释放,服务器卡死。
八、扩展说明
NFS服务器的配置相对比较简单,只需要在相应的配置文件中进行设置,然后启动NFS服务器即可。
NFS的常用目录
/etc/exports NFS服务的主要配置文件
/usr/sbin/exportfs NFS服务的管理命令
/usr/sbin/showmount 客户端的查看命令
/var/lib/nfs/etab 记录NFS分享出来的目录的完整权限设定值
/var/lib/nfs/xtab 记录曾经登录过的客户端信息