CN104519100B - 异构平台文件自动同步方法及puppet服务端 - Google Patents
异构平台文件自动同步方法及puppet服务端 Download PDFInfo
- Publication number
- CN104519100B CN104519100B CN201310456772.1A CN201310456772A CN104519100B CN 104519100 B CN104519100 B CN 104519100B CN 201310456772 A CN201310456772 A CN 201310456772A CN 104519100 B CN104519100 B CN 104519100B
- Authority
- CN
- China
- Prior art keywords
- puppet
- clients
- file
- synchronization
- service ends
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/083—Network architectures or network communication protocols for network security for authentication of entities using passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例公开了一种异构平台文件自动同步方法及puppet服务端,其中方法包括puppet服务端接收来自puppet客户端的文件同步请求,文件同步请求至少包括:puppet客户端的操作系统和全域名fqdn;puppet服务端根据文件同步请求中的fqdn进行节点匹配;puppet服务端执行匹配到的节点程序,并在节点程序中匹配puppet客户端的操作系统;puppet服务端根据匹配到的操作系统确定文件同步位置,以生成文件同步响应并发送至puppet客户端,使puppet客户端根据所述文件同步响应进行文件同步,本发明实施例可以实现高效的异构平台文件自动同步。
Description
技术领域
本发明涉及文件同步技术领域,尤其涉及一种异构平台文件自动同步方法及puppet服务端。
背景技术
对于数据中心或各种机房的服务端,经常会涉及到与客户端进行文件同步的问题,目前主要存在以下两种方案解决该文件同步问题:
一种方案是采用Shell脚本+Expect脚本来实现文件的自动分发与管理,其实现过程主要包括:服务端得到每台需要被管理的客户端操作系统的管理员账号和密码,并保存到一个文件中;然后通过Expect脚本自动scp(Secure Copy)或rsync(remoteSynchronization)来取代手动scp或rsync,达到文件同步。
另一种方案是利用高级的脚本语言(例如Perl、Python等)并结合安装专用的模块来实现文件自动同步,以Perl为例,服务端需要得到每台需要被管理的客户端操作系统的管理员账号和密码,并保存到一个文件中;然后安装PerlSSH(Secure Shell)等依赖模块,并编写Perl脚本;最后通过Perl语言的多线程特性来自动同步文件到被管理的客户端。
其中上述两种方案均存在的缺限在于:必须知道每台客户端的管理员账号与密码,一旦客户端修改密码就会失效。另外,第一种方案无法实现跨平台的同步,例如windows和linux就无法同步,并且无法利用多线程技术达到高效的文件自动同步;对于第二种方案,如果采用一些兼容多种操作系统的编程语言,则可能实现跨平台的同步,例如Pythonfor AIX,但是Python for AIX虽然支持,也仅是兼容过时版本,且实现过于复杂(要考虑多线程并发和同步效率等问题)及不易于实时监控与统计,另外第二种方案的多线程技术实现给维护和管理增加了复杂性,每个维护人员必须非常熟悉Perl语言,包括SSH等相关模块的使用。
发明内容
有鉴于此,本发明提供了一种异构平台文件自动同步方法及装置,可以高效的实现跨操作系统(也可称为平台)的文件同步,并且无需知道客户端的管理员账号和密码,所用的语言易于掌握,复用性强。
本发明实施例提供了一种异构平台文件自动同步方法,包括:
puppet服务端接收来自puppet客户端的文件同步请求,所述文件同步请求至少包括:所述puppet客户端的操作系统和全域名fqdn;
所述puppet服务端根据所述文件同步请求中的fqdn进行节点匹配;
所述puppet服务端执行匹配到的节点程序,并在节点程序中匹配所述puppet客户端的操作系统;
所述puppet服务端根据匹配到的操作系统确定文件同步位置,以生成文件同步响应并发送至所述puppet客户端,使所述puppet客户端根据所述文件同步响应进行文件同步。
优选的,puppet服务端根据所述文件同步请求中的fqdn进行节点匹配,包括:
所述puppet服务端根据所述fqdn匹配具体的一台puppet客户端的节点程序、某一种规则的puppet客户端的节点程序或者某一个指定域名的puppet客户端的节点程序。
优选的,所述puppet服务端接收来自puppet客户端的文件同步请求之前,还包括:
所述puppet服务端接收来自puppet客户端的签名认证请求;
所述puppet服务端根据所述签名认证请求,判断所述puppet客户端是否合法;
如果合法,则所述puppet服务端对所述puppet客户端进行签名认证。
优选的,所述puppet服务端根据匹配到的操作系统生成文件同步响应并发送至所述puppet客户端之后,还包括:
所述puppet服务端接收来自所述puppet客户端的文件同步报告;
所述puppet服务端将所述文件同步报告上传至报告收集器,以使web服务器实时从所述报告收集器获取文件同步报告并显示。
优选的,所述文件同步报告包括:puppet客户端的IP、从puppet服务端同步的时间、puppet客户端设备的总运行时间、puppet客户端设备的所有的可用资源列表、文件的同步状态和同步过程中的输出日志。
本发明实施例还提供了一种用于异构平台文件自动同步的puppet服务端,包括:
第一接收模块,用于接收来自puppet客户端的文件同步请求,所述文件同步请求至少包括:所述puppet客户端的操作系统和全域名fqdn;
第一匹配模块,用于根据所述文件同步请求中的fqdn进行节点匹配;
第二匹配模块,用于执行匹配到的节点程序,并在节点程序中匹配所述puppet客户端的操作系统;
处理模块,用于根据匹配到的操作系统确定文件同步位置,以生成文件同步响应并发送至所述puppet客户端,使所述puppet客户端根据所述文件同步响应进行文件同步。
优选的,所述第一匹配模块,具体用于根据所述fqdn匹配具体的一台puppet客户端的节点程序、某一种规则的puppet客户端的节点程序或者某一个指定域名的puppet客户端的节点程序。
优选的,puppet服务端还包括:
第二接收模块,用于接收来自puppet客户端的签名认证请求;
判断模块,用于根据所述签名认证请求,判断所述puppet客户端是否合法;
认证模块,用于如果合法,则对所述puppet客户端进行签名认证。
优选的,puppet服务端还包括:
第三接收模块,用于接收来自所述puppet客户端的文件同步报告;
上报模块,用于将所述文件同步报告上传至报告收集器,以使web服务器实时从所述报告收集器获取同步报告并显示。
优选的,所述Puppet客户端的IP、从Puppet客户端同步的时间、Puppet客户端的总运行时间、Puppet客户端的所有的可用资源列表、文件的同步状态和同步过程中的输出日志。
本发明的有益效果:
本发明实施例,由于puppet服务端与puppet客户端自动进行文件同步时,首先进行节点匹配,然后在匹配到的节点程序中进行操作系统匹配,以此确定puppet客户端将同步文件存放的位置,从而针对不同平台的puppet客户端,实现准确的文件同步,从而使得本发明实施例可以支持跨多个操作系统实现文件同步;同时,采用puppet进行文件同步,可以利用puppet内部提供的高效的文件同步机制,实现高效的文件同步;同时puppet无须puppet客户端的管理员账号和密码就可以进行同步;同时puppet所用的语言易于阅读和掌握,即使是新手,通过简单的培训也能轻易掌握,从而降低使用者的操作复杂性和简化工作量;同时puppet的复用性也很高,便于移植。
附图说明
下面结合附图和实施例对本发明作进一步描述:
图1是本发明的异构平台自动同步架构的实施例的结构示意图。
图2是本发明的异构平台自动同步方法的第一实施例的流程示意图。
图3是本发明的异构平台自动同步方法的第二实施例的流程示意图。
图4是本发明的异构平台自动同步方法的第三实施例的流程示意图。
图5是本发明的异构平台自动同步方法的第四实施例的流程示意图。
图6是本发明的用于异构平台自动同步的puppet服务端的第一实施例的结构示意图。
图7是本发明的用于异构平台自动同步的puppet服务端的第二实施例的结构示意图。
图8是本发明的用于异构平台自动同步的puppet服务端的第三实施例的结构示意图。
具体实施方式
puppet是puppet Labs开发的自动化系统配置工具,它是一个开源的软件自动化配置和部署工具,其使用方式简单且功能强大。在puppet中,采用了非常简单的c/s(client/server,客户端/服务端)星状结构,所有数据的交互都通过SSL(Secure SocketsLayer,安全套接层)进行,以保证安全;其主要包含puppet服务端,即“puppet master”或“puppet server”,和puppet客户端,即“puppet agent”,其中puppet服务端是所有的puppet客户端都要与之通讯和同步的服务器,puppet客户端是被管理或同步的服务器。其中,puppet大致的工作流程为:
1、puppet客户端向puppet服务端发起认证请求,或使用带签名的证书。
2、puppet服务端告诉puppet客户端你是合法的。
3、puppet客户端调用Facter,Facter探测出主机的一些变量,例如主机名、内存大小、IP地址等。puppet客户端将这些信息通过SSL连接发送到服务器端。
4、puppet服务器端检测客户端的主机名,然后找到manifest对应的node配置,并对该部分内容进行解析。Facter送过来的信息可以作为变量处理,node牵涉到的代码才解析,其他没牵涉的代码不解析。解析分为几个阶段,首先是语法检查,如果语法错误就报错;如果语法没错,就继续解析,解析的结果生成一个中间的“伪代码”(catelog),然后把伪代码发给puppet客户端。
5、puppet客户端接收到“伪代码”,并且执行。
6、puppet客户端在执行时判断有没有File文件,如果有,则向fileserver发起请求。
7、puppet客户端判断有没有配置Report,如果已配置,则把执行结果发送给puppet服务端。
8、puppet服务端把puppet客户端的执行结果写入日志,并发送给报告系统。
下面首先对本发明实施例的异构平台自动同步架构进行说明。
如图1所示,本发明实施例的异构平台自动同步架构包含puppet服务端和众多的puppet客户端,这些puppet客户端可以运行不同的操作系统,该puppet服务端实现对这些跨操作系统的puppet客户端的管理和同步。另外,本发明实施例还设置了报告收集器和web服务器,其中报告收集器主要用于从puppet服务端收集和记录同步报告,web服务器主要用于展示同步报告,便于使用者查看同步的状态和信息。
下面再具体的对本发明提出的异构平台文件自动同步方法的实施例进行说明。
请参考图2,是本发明提供的异构平台文件自动同步方法的第一实施例的流程示意图。其主要包括:
步骤S21、puppet服务端接收来自puppet客户端的同步请求。
其中,该同步请求包含客户端的基础信息,该基础信息可以包括:平台架构(即:各种处理器架构及各种操作系统)、硬盘、用户、网络、内核及版本、CPU相关信息(CPU类型、多少核)、Mac地址、内存(包括swap)、fqdn(Fully Qualified Domain Name,全域名)、主机名(hostname)、环境变量、防火墙、正常运行时间(uptime)、安全外壳协议密钥(SSHKey)和时区等。
步骤S22、puppet服务端根据同步请求中的fqdn进行节点匹配。
具体的,puppet服务端可以根据fqdn匹配具体的一台puppet客户端的节点程序、某一种规则的puppet客户端的节点程序或者某一个指定域名的puppet客户端的节点程序,也就是说,步骤S22可以采用如下任一种匹配规则:1)可匹配具体的一台客户端,例如匹配example001.domain.com。2)可匹配某一种规则的客户端,例如匹配所有WEB服务器:/^web\d+\.domain\.com$/,这样所有以web+数字.domain.com的fqdn都能匹配到。3)可匹配某一个指定域名的客户端,例如匹配所有数据库规则:*.db.domain.com。
步骤S23、puppet服务端执行匹配到的节点程序,并在节点程序中匹配puppet客户端的操作系统。
其中,进行操作系统的匹配主要是为了确定同步文件的位置,因为不同的操作系统存储的位置可能不同,例如:Windows与Linux的文件存放路径各不相同,以hosts文件为例,其在Linux中的的路径为:/etc/hosts,而在Windows的路径为:C:\Windows\System32\Drivers\etc\hosts,进行操作系统的匹配是能否实现文件的准确分发的关键。
步骤S24、puppet服务端根据匹配到的操作系统确定文件同步位置,以生成文件同步响应并发送至puppet客户端,使puppet客户端根据文件同步响应进行文件同步。
本实施例中,可以支持跨平台的同步,也就是puppet客户端的操作系统可以为如下任一种:RHEL5、RHEL6、CentOS、Fedora、Oracle Linux、Debian6、Debian7、Ubuntu、SUSE、Gentoo、ArchLinux、FreeBSD、OpenBSD、Mac OS、Oracle Solaris、IBM AIX、HP-UX和Windows。
本发明实施例,由于puppet服务端与puppet客户端自动进行文件同步时,首先进行节点匹配,然后在节点程序中进行操作系统匹配,以此确定puppet客户端将同步文件存放的位置,从而实现针对不同平台的puppet客户端,进行准确的文件同步,从而使得本发明实施例可以跨多个操作系统实现文件同步,使得本发明实施例可以跨多个操作系统实现文件同步;同时,采用puppet进行文件同步,可以利用puppet内部提供的高效的文件同步机制,实现高效的文件同步;同时puppet无须puppet客户端的管理员账号和密码就可以进行同步;同时puppet所用的语言易于阅读和掌握,即使是新手,通过简单的培训也能轻易掌握,从而降低使用者的操作复杂性和简化工作量;同时puppet的复用性也很高,便于移植。
请参考图3,是本发明提供的异构平台文件自动同步方法的第二实施例的流程示意图,其主要包括:
步骤S31、puppet服务端接收来自puppet客户端的签名认证请求。
步骤S32、puppet服务端收到签名认证请求后,判断puppet客户端是否合法,如果合法,则对puppet客户端进行签名认证。
与步骤S21-步骤S24相同的步骤S33-步骤S36,在此不赘述。
请参考图4,是本发明提供的异构平台文件自动同步方法的第三实施例的流程示意图,其主要包括:
与步骤S21-步骤S24相同的步骤S41-步骤S44,在此不赘述。
步骤S45、puppet服务端收集来自puppet客户端的文件同步报告。
步骤S46、puppet服务端将文件同步报告上传至报告收集器,以使web服务器实时从报告收集器获取文件同步报告并显示。
其中,文件同步报告包括:Puppet客户端的IP、从Puppet客户端同步的时间、Puppet客户端的总运行时间、Puppet客户端的所有的可用资源列表、文件的同步状态和同步过程中的输出日志。
本实施例,采用第三方的开源Web Server(即Nginx),可以方便运维人员与管理人员及时掌握文件同步状态及相关信息,避免采用Puppet内置的Web Server对于众多的客户端管理起来效率低的问题。
请参考图5,是本发明提供的异构平台文件自动同步方法的第四实施例的流程示意图,其主要包括:
步骤S51、在puppet服务端安装puppet master,puppet master即puppet服务端程序。
其中,安装方式可以选择源码安装或二进制安装,对于采用windows的puppet服务端,仅能实现二进制安装。
步骤S52、设置puppet master的初始化环境。
其中,步骤S52主要包含:
1)安装ntpd(时钟同步),以保证puppet服务端的时区、日期和时间均准确,对于采用windows的puppet服务端,可以用其自身时间同步。
2)在puppet.conf(puppet主配置文件)中设置autosign(自动签名,默认为false)、modulepath(模块入口路径)、reports(同步报告,默认为false),以及fileserver.conf,puppet file server指定了各个文件挂载(mount)点及文件绝对路径、哪些puppet客户端是允许被挂载的等。
步骤S53、在puppet客户端安装puppet agent,puppet agent即puppet客户端程序。
其中,安装方式可以选择源码或二进制安装,对于采用windows的puppet客户端,只能选择二进制安装。
步骤S54、设置puppet agent的初始化环境。
其中,步骤S54主要包括:
1)安装ntpd,以保证puppet客户端的时区、日期和时间均准确,对于采用windows的puppet客户端,可以用其自身时间同步;由于puppet服务端和puppet客户端均安装了ntpd,因此能够确保两者时间一致。
2)修改puppet agent主配置文件的以下选项:server(由puppet master的$puppetserver决定)、certname(证书名称,确保agent唯一性)、runinterval(puppet agent运行的时间间隔)、reports(同步报告,默认为false)。
在2)中,runinterval默认为30分钟,可以对其修改进行优化实现管理更多的puppet客户端,例如:Puppet同步一个文件几乎是秒级,但如果管理的客户端达到千万台,就需要将客户端尽量避免在同一时刻来请求服务器,此时可以采用分类设置runinterval的方式实现,例如:将/etc/hosts文件设置成5分钟同步一次,将HostGroup1设置每30秒同步,HostGroup2设置40秒同步,依次类推。
步骤S55、puppet客户端主动请求puppet服务端的签名认证。
其中,第一次请求成功后,以后不再需要请求签名认证,除非puppet服务端保存证书有变化或已被损毁。
步骤S56、puppet服务端收到puppet客户端的签名认证请求后,确定puppet客户端是否为合法的puppet客户端,如果是,则对其进行签名。
步骤S57、创建puppet module(即:puppet模块)。
其中,puppet module中明确以下两方面内容:
1)同一规则的puppet客户端可以共享一个文件,以用于节点匹配。
例如:所有*.web.feinno.com为后缀的fqdn客户端都进入web_hosts这个子模块。
node/^\w+\.web\.feinno\.com$/{
include web_hosts
}
又例如:db1.feinno.com这台客户端的都进入db1_hosts这个子模块。
node/db1.feinno.com/{
include db1_hosts
}
2)同一种平台的puppet客户端可以共享同一个文件。例如:Windows与Linux的文件存放路径各不相同,Linux hosts文件的路径为:/etc/hosts,而Windows hosts文件的路径为:C:\Windows\System32\Drivers\etc\hosts。
例如:web_hosts子模块逻辑匹配核心内容:
步骤S58、puppet客户端在下次主动同步文件时,按照步骤S57设定的规则进行匹配,并通过对文件的比较进行更新,即:如果puppet服务端的文件较上次同步时有任何变化,就会自动同步,反之,不做任何处理。
其中,匹配文件是否需要同步的原理是:Puppet客户端同步的请求中会包含每个文件的MD5值,如果Puppet客户端请求中的MD5值与Puppet服务端对应的文件MD5值不同,则同步,否则不同步。
步骤S59、puppet服务端记录和收集每个puppet客户端同步的信息和状态,并传给报告收集器。
步骤S60、web服务器收集并在web控制台中显示同步的信息和状态。
下面再具体的对本发明提出的用于异构平台文件自动同步的puppet服务端的结构的实施例进行说明。
请参考图6,是本发明提供的用于异构平台文件自动同步的puppet服务端的第一实施例的结构示意图。其主要包括:
第一接收模块1,用于接收来自puppet客户端的同步请求。
其中,该同步请求包含客户端的基础信息,该基础信息可以包括:平台架构、硬盘、用户、网络、内核及版本、CPU相关信息(CPU类型、多少核)、Mac地址、内存(包括swap)、fqdn、主机名(hostname)、环境变量、防火墙、uptime、SSHKey和时区等。
第一匹配模块2,用于根据同步请求中的fqdn进行节点匹配。
具体的,第一匹配模块2可以根据fqdn匹配具体的一台puppet客户端的节点程序、某一种规则的puppet客户端的节点程序或者某一个指定域名的puppet客户端的节点程序,也就是说,第一匹配模块2可以采用如下任一种匹配规则:1)可匹配具体的一台客户端,例如匹配example001.domain.com。2)可匹配某一种规则的客户端,例如匹配所有WEB服务器:/^web\d+\.domain\.com$/,这样所有以web+数字.domain.com的fqdn都能匹配到。3)可匹配某一个指定域名的客户端,例如匹配所有数据库规则:*.db.domain.com。
第二匹配模块3,用于执行匹配到的节点程序,并在节点程序中匹配puppet客户端的操作系统。
其中,进行操作系统的匹配主要是为了确定同步文件的位置,因为不同的操作系统存储的位置可能不同,例如:Windows与Linux的文件存放路径各不相同,以hosts文件为例,其在Linux中的的路径为:/etc/hosts,而在Windows的路径为:C:\Windows\System32\Drivers\etc\hosts,进行操作系统的匹配是否能实现文件的准确分发的关键。
处理模块4,用于根据匹配到的操作系统确定文件同步位置,以生成文件同步响应并发送至puppet客户端,使puppet客户端根据文件同步响应进行文件同步。
本实施例中,可以支持跨平台的同步,也就是puppet客户端的操作系统可以为如下任一种:RHEL5、RHEL6、CentOS、Fedora、Oracle Linux、Debian6、Debian7、Ubuntu、SUSE、Gentoo、ArchLinux、FreeBSD、OpenBSD、Mac OS、Oracle Solaris、IBM AIX、HP-UX和Windows。
本发明实施例,由于puppet服务端与puppet客户端自动进行文件同步时,首先进行节点匹配,然后在节点程序中进行操作系统匹配,以此确定puppet客户端将同步文件存放的位置,从而实现针对不同平台的puppet客户端,进行准确的文件同步,从而使得本发明实施例可以跨多个操作系统实现文件同步,使得本发明实施例可以跨多个操作系统实现文件同步;同时,采用puppet进行文件同步,可以利用puppet内部提供的高效的文件同步机制,实现高效的文件同步;同时puppet无须puppet客户端的管理员账号和密码就可以进行同步;同时puppet所用的语言易于阅读和掌握,即使是新手,通过简单的培训也能轻易掌握,从而降低使用者的操作复杂性和简化工作量;同时puppet的复用性也很高,便于移植。
请参考图7,是本发明提供的用于异构平台文件自动同步的puppet服务端的第二实施例的结构示意图,其与图6相比,还包括:
第二接收模块5,用于接收来自puppet客户端的签名认证请求。
判断模块6,用于收到签名认证请求后,判断puppet客户端是否合法。
认证模块7,用于在合法时,对puppet客户端进行签名认证。
请参考图8,是本发明提供的用于异构平台文件自动同步的puppet服务端的第三实施例的结构示意图,其与图6相比,还包括:
第三接收模块8,用于收集来自puppet客户端的文件同步报告。
上报模块9,用于将文件同步报告上传至报告收集器,以使web服务器实时从报告收集器获取文件同步报告并显示。
其中,文件同步报告包括:Puppet客户端的IP、从Puppet客户端同步的时间、Puppet客户端的总运行时间、Puppet客户端的所有的可用资源列表、文件的同步状态和同步过程中的输出日志。
本实施例,采用第三方的开源Web Server(即Nginx),可以方便运维人员与管理人员及时掌握文件同步状态及相关信息,避免采用Puppet内置的Web Server对于众多的客户端管理起来效率低的问题。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (10)
1.一种异构平台文件自动同步方法,其特征在于:包括:
puppet服务端接收来自puppet客户端的文件同步请求,所述文件同步请求至少包括:所述puppet客户端的操作系统和全域名fqdn;
所述puppet服务端根据所述文件同步请求中的fqdn进行节点匹配;
所述puppet服务端执行匹配到的节点程序,并在节点程序中匹配所述puppet客户端的操作系统;
所述puppet服务端根据匹配到的操作系统确定文件同步位置,以生成文件同步响应并发送至所述puppet客户端,使所述puppet客户端根据所述文件同步响应进行文件同步。
2.如权利要求1所述的异构平台文件自动同步方法,其特征在于:所述puppet服务端根据所述文件同步请求中的fqdn进行节点匹配,包括:
所述puppet服务端根据所述fqdn匹配具体的一台puppet客户端的节点程序、某一种规则的puppet客户端的节点程序或者某一个指定域名的puppet客户端的节点程序。
3.如权利要求1或2所述的异构平台文件自动同步方法,其特征在于:所述puppet服务端接收来自puppet客户端的文件同步请求之前,还包括:
所述puppet服务端接收来自puppet客户端的签名认证请求;
所述puppet服务端根据所述签名认证请求,判断所述puppet客户端是否合法;
如果合法,则所述puppet服务端对所述puppet客户端进行签名认证。
4.如权利要求1或2所述的异构平台文件自动同步方法,其特征在于:所述puppet服务端根据匹配到的操作系统生成文件同步响应并发送至所述puppet客户端之后,还包括:
所述puppet服务端接收来自所述puppet客户端的文件同步报告;
所述puppet服务端将所述文件同步报告上传至报告收集器,以使web服务器实时从所述报告收集器获取文件同步报告并显示。
5.如权利要求4所述的异构平台文件自动同步方法,其特征在于:所述文件同步报告包括:puppet客户端的IP、从puppet服务端同步的时间、puppet客户端的总运行时间、puppet客户端的所有的可用资源列表、文件的同步状态和同步过程中的输出日志。
6.一种用于异构平台文件自动同步的puppet服务端,其特征在于:包括:
第一接收模块,用于接收来自puppet客户端的文件同步请求,所述文件同步请求至少包括:所述puppet客户端的操作系统和全域名fqdn;
第一匹配模块,用于根据所述文件同步请求中的fqdn进行节点匹配;
第二匹配模块,用于执行匹配到的节点程序,并在节点程序中匹配所述puppet客户端的操作系统;
处理模块,用于根据匹配到的操作系统确定文件同步位置,以生成文件同步响应并发送至所述puppet客户端,使所述puppet客户端根据所述文件同步响应进行文件同步。
7.如权利要求6所述的用于异构平台文件自动同步的puppet服务端,其特征在于:所述第一匹配模块,具体用于根据所述fqdn匹配具体的一台puppet客户端的节点程序、某一种规则的puppet客户端的节点程序或者某一个指定域名的puppet客户端的节点程序。
8.如权利要求6或7所述的用于异构平台文件自动同步的puppet服务端,其特征在于:还包括:
第二接收模块,用于接收来自puppet客户端的签名认证请求;
判断模块,用于根据所述签名认证请求,判断所述puppet客户端是否合法;
认证模块,用于如果合法,则对所述puppet客户端进行签名认证。
9.如权利要求6或7所述的用于异构平台文件自动同步的puppet服务端,其特征在于:还包括:
第三接收模块,用于接收来自所述puppet客户端的文件同步报告;
上报模块,用于将所述文件同步报告上传至报告收集器,以使web服务器实时从所述报告收集器获取文件同步报告并显示。
10.如权利要求9所述的用于异构平台文件自动同步的puppet服务端,其特征在于:所述puppet客户端的IP、从puppet客户端同步的时间、puppet客户端的总运行时间、puppet客户端的所有的可用资源列表、文件的同步状态和同步过程中的输出日志。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310456772.1A CN104519100B (zh) | 2013-09-29 | 2013-09-29 | 异构平台文件自动同步方法及puppet服务端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310456772.1A CN104519100B (zh) | 2013-09-29 | 2013-09-29 | 异构平台文件自动同步方法及puppet服务端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104519100A CN104519100A (zh) | 2015-04-15 |
CN104519100B true CN104519100B (zh) | 2018-02-27 |
Family
ID=52793816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310456772.1A Active CN104519100B (zh) | 2013-09-29 | 2013-09-29 | 异构平台文件自动同步方法及puppet服务端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104519100B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104991814A (zh) * | 2015-06-19 | 2015-10-21 | 北京奇虎科技有限公司 | 获取任务执行结果的方法及系统 |
CN105100211A (zh) * | 2015-06-26 | 2015-11-25 | 北京奇虎科技有限公司 | 获取配置文件的方法及装置 |
CN105487943A (zh) * | 2015-12-09 | 2016-04-13 | 浪潮电子信息产业股份有限公司 | 一种自动向集群服务器各节点拷贝文件的方法 |
CN105959363A (zh) * | 2016-04-26 | 2016-09-21 | 中国电子科技网络信息安全有限公司 | 一种自适应硬件配置的大数据集群部署方法 |
CN106161435A (zh) * | 2016-06-28 | 2016-11-23 | 天脉聚源(北京)传媒科技有限公司 | 一种基于Nginx的双向认证方法及装置 |
CN106383796B (zh) * | 2016-10-18 | 2019-06-14 | 广州视睿电子科技有限公司 | 一种主机操作系统类型的识别方法及系统 |
CN112738008B (zh) * | 2019-10-28 | 2022-07-12 | 腾讯科技(深圳)有限公司 | 信息同步变更方法、装置、计算机以及可读存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103037002A (zh) * | 2012-12-21 | 2013-04-10 | 中标软件有限公司 | 一种云计算集群环境中服务器集群的部署方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8375387B2 (en) * | 2008-05-30 | 2013-02-12 | Red Hat, Inc. | Product independent orchestration tool |
-
2013
- 2013-09-29 CN CN201310456772.1A patent/CN104519100B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103037002A (zh) * | 2012-12-21 | 2013-04-10 | 中标软件有限公司 | 一种云计算集群环境中服务器集群的部署方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104519100A (zh) | 2015-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104519100B (zh) | 异构平台文件自动同步方法及puppet服务端 | |
US8775574B2 (en) | Remote network management having multi-node awareness | |
US8990368B2 (en) | Discovery of network software relationships | |
US8910129B1 (en) | Scalable control system for test execution and monitoring utilizing multiple processors | |
CN103314566B (zh) | 用于管理域名系统安全(dnssec)的系统和方法 | |
CN105393220B (zh) | 用于在集群系统中部署点状虚拟服务器的系统和方法 | |
CN103299594B (zh) | 用于可扩展的认证框架的系统和方法 | |
CN102064966B (zh) | 一种配置方法、服务器、设备和系统 | |
US8667096B2 (en) | Automatically generating system restoration order for network recovery | |
US10341509B2 (en) | Client device state collection and network-based processing solution | |
CN105589856B (zh) | 日志数据处理方法及系统 | |
CN103503424A (zh) | 用于实现多核系统中的连接镜像的系统和方法 | |
CN107771320A (zh) | 用于改善安全套接字层(ssl)通信安全性的系统和方法 | |
US10917438B2 (en) | Secure publishing for policy updates | |
AU2019213376B2 (en) | Capturing and encoding of network transactions for playback in a simulation environment | |
CN111543038A (zh) | 使用中间设备流拼接的网络流拼接 | |
US10826803B2 (en) | Mechanism for facilitating efficient policy updates | |
US20190238633A1 (en) | Load balancing configuration based on traffic flow telemetry | |
CN115118705B (zh) | 一种基于微服务的工业边缘管控平台 | |
US10678676B2 (en) | Playback of captured network transactions in a simulation environment | |
CN111557087B (zh) | 使用业务流拼接发现中间设备 | |
CN110348225A (zh) | 针对应用程序接口的安全漏洞确定方法和装置 | |
US9762667B2 (en) | Distributed server election with imperfect clock synchronization | |
CN110462600A (zh) | 用于联网媒体分发的系统、方法和设备 | |
CN110502315A (zh) | 一种远程访问物理机的方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200605 Address after: Room 502-1, floor 5, building 2, courtyard 10, KEGU 1st Street, economic development zone, Daxing District, Beijing 100081 Patentee after: Singularity Xinyuan International Technology Development (Beijing) Co.,Ltd. Address before: The 401121 northern New District of Chongqing municipality Mount Huangshan Road 5 south of Mercury Technology Building 1 floor office No. 3 Patentee before: A-MEDIA COMMUNICATION TECH Co.,Ltd. |