一种基于Saltstack实现多网络环境下的文件分发方法与流程

文档序号:36647597发布日期:2024-01-06 23:31阅读:26来源:国知局
一种基于Saltstack实现多网络环境下的文件分发方法与流程

本发明涉及互联网运维,具体为一种基于saltstack实现多网络环境下的文件分发方法。


背景技术:

1、saltstack是一个分布式的远程执行系统,用来在远程节点上执行命令和查询数据,是运维人员提高工作效率、规范业务配置与操作的利器,是一种开源的自动化技术,它主要由master与minion组成,master控制所有minion;而jsch是ssh2的一个纯java实现。它允许你连接到一个sshd服务器,使用端口转发,x11转发,文件传输等等。

2、现有技术中,在主机运维过程中,运维人员需要经常在客户端和主机之间进行文件交互,如上传补丁文件、下载日志文件等。当重复性操作变多时,运维工作就会变得重复而无味。


技术实现思路

1、本发明的目的在于提供一种基于saltstack实现多网络环境下的文件分发方法,以解决上述背景技术中提出的问题。

2、为实现上述目的,本发明提供如下技术方案:一种基于saltstack实现多网络环境下的文件分发方法,包括salt-master、salt-minion、jsch和wget,所述方法包括以下步骤:

3、s1、客户端文件上传到文件服务器,多目标主机时按各自的master节点并发执行;

4、s2、通过md5算法判断同名文件是否已经存在salt-master文件服务器中,判断master是否需要从minio文件服务器拉取文件;

5、s3、salt-master节点通过jsch从文件服务器上下载文件到salt-master文件服务器中;

6、s4、salt-master发出指令通知各个salt-minion从master节点的文件服务器中拉取文件。

7、优选的,客户端选择文件仓库中的文件或者选择本地文件上传到minio文件服务器中,多目标主机时按各自的master节点并发执行。

8、优选的,通过md5算法判断同名文件是否已经存在salt-master文件服务器中,当存在相同文件时master不需要从minio下载文件,否则根据绑定的文件名master从minio下载文件到master本地,master拉取文件过程中对不同主机所属的master节点不同,检测到不同的master节点采用并发执行的方式进行拉取文件到salt本地文件服务器,所述master节点拉取文件会调用所述jsch。

9、优选的,salt-master通知所述salt-minion节点,然后salt-minion节点从各自的salt-master节点拉取文件到本地,从而实现自动化批量文件分发。

10、优选的,待salt-minion执行文件下载命令后,其采用的多线程并发执行的结果返回并缓存入库,并由根据返回的jid调用查询接口判断任务的执行结果属于成功、失败或者部分成功,若执行成功,则展示在执行成功tab页,若执行失败,则展示在执行失败tab页。

11、优选的,salt-master管理所有的所述salt-minion。

12、优选的,salt-minion执行所述salt-master下发的指定命令。

13、优选的,文件分发执行进程中,在所有所述salt-master上配置允许所述jsch执行远程命令的参数,在所述salt-master上配置salt文件服务器位置,默认为/srv/salt。

14、优选的,jsch控制所述salt-master节点即将分发的文件。

15、优选的,并发线程中运行所述salt-minion和所述jsch进程。

16、与现有技术相比,本发明的有益效果是:

17、本发明提出的基于saltstack实现多网络环境下的文件分发方法,通过自动化运维工具saltstack中的salt-master和salt-minion的相互配合工作,对不同目标主机进行判断,免去了人工登录各个目标主机中进行分发文件的步骤;通过开源自动化技术saltstack中的salt-minion的相互配合工作,对salt文件服务器中已存在的文件进行判断,免去了salt-master从minio文件服务器上拉取文件的步骤。



技术特征:

1.一种基于saltstack实现多网络环境下的文件分发方法,包括salt-master、salt-minion、jsch和wget,其特征在于:所述方法包括以下步骤:

2.根据权利要求1所述的一种基于saltstack实现多网络环境下的文件分发方法,其特征在于:客户端选择文件仓库中的文件或者选择本地文件上传到minio文件服务器中,多目标主机时按各自的master节点并发执行。

3.根据权利要求1所述的一种基于saltstack实现多网络环境下的文件分发方法,其特征在于:通过md5算法判断同名文件是否已经存在salt-master文件服务器中,当存在相同文件时master不需要从minio下载文件,否则根据绑定的文件名master从minio下载文件到master本地,master拉取文件过程中对不同主机所属的master节点不同,检测到不同的master节点采用并发执行的方式进行拉取文件到salt本地文件服务器,所述master节点拉取文件会调用所述jsch。

4.根据权利要求1所述的一种基于saltstack实现多网络环境下的文件分发方法,其特征在于:salt-master通知所述salt-minion节点,然后salt-minion节点从各自的salt-master节点拉取文件到本地,从而实现自动化批量文件分发。

5.根据权利要求1所述的一种基于saltstack实现多网络环境下的文件分发方法,其特征在于:待salt-minion执行文件下载命令后,其采用的多线程并发执行的结果返回并缓存入库,并由根据返回的jid调用查询接口判断任务的执行结果属于成功、失败或者部分成功,若执行成功,则展示在执行成功tab页,若执行失败,则展示在执行失败tab页。

6.根据权利要求1所述的一种基于saltstack实现多网络环境下的文件分发方法,其特征在于:salt-master管理所有的所述salt-minion。

7.根据权利要求1所述的一种基于saltstack实现多网络环境下的文件分发方法,其特征在于:salt-minion执行所述salt-master下发的指定命令。

8.根据权利要求1所述的一种基于saltstack实现多网络环境下的文件分发方法,其特征在于:文件分发执行进程中,在所有所述salt-master上配置允许所述jsch执行远程命令的参数,在所述salt-master上配置salt文件服务器位置,默认为/srv/salt。

9.根据权利要求1所述的一种基于saltstack实现多网络环境下的文件分发方法,其特征在于:jsch控制所述salt-master节点即将分发的文件。

10.根据权利要求1所述的一种基于saltstack实现多网络环境下的文件分发方法,其特征在于:并发线程中运行所述salt-minion和所述jsch进程。


技术总结
本发明涉及互联网运维技术领域,具体为一种基于Saltstack实现多网络环境下的文件分发方法,包括以下步骤:客户端文件上传到文件服务器,多目标主机时按各自的master节点并发执行;通过MD5算法判断同名文件是否已经存在salt‑master文件服务器中,判断master是否需要从minIO文件服务器拉取文件;salt‑master节点通过JSch从文件服务器上下载文件到salt‑master文件服务器中;有益效果为:本发明提出的基于Saltstack实现多网络环境下的文件分发方法,通过自动化运维工具Saltstack中的salt‑master和salt‑minion的相互配合工作,对不同目标主机进行判断,免去了人工登录各个目标主机中进行分发文件的步骤;通过开源自动化技术Saltstack中的salt‑minion的相互配合工作,对salt文件服务器中已存在的文件进行判断,免去了salt‑master从minIO文件服务器上拉取文件的步骤。

技术研发人员:张涛
受保护的技术使用者:浪潮云信息技术股份公司
技术研发日:
技术公布日:2024/1/5
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1