天天看点

salt原理 cobbler原理简述

salt原理

1.一条命令在client(可以理解为salt命令)上执行:salt '*' test.ping,它将'*'和模块test.ping生成一个字典,通过自己的req的端口,传送给reqserver的4506端口

2.reqserver得到信息,通过workers.ipc文件传递给mworker进程,mworker进程去做判断,收到的是命令还是返回信息。

3.此处,mworker判断出这是一条命令,所以它通过publish_pull.ipc将信息传给publish进程,同时,它还将信息传送给了eventpublisher进程,这样做的目的是记录时间,让eventpublisher进程无需永久性的等待minion返回的结果。

*1.如果命令执行的时间过长,master将会采取timeout的策略,不接受timeout以后的返回信息

4.publisher进程收到信息后,用订阅者的方式(即4505端口)将命令传送给mininon,minion用sub模式(4505)来接收。

5.minion执行命令,然后通过命令判断将信息输出给谁,这里是判断将返回信息发给master,所以,它通过req(4506)的方式将返回信息发送给reqserver的4506端口

*2.如果client上书写的命令加入了--return mysql,那么,minion将会把信息直接通过puthon-mysql,发送给数据库。

6.requset得到信息,再次通过workers.ipc文件传递给mworker进程,mworker进程去做判断,收到的是命令还是返回信息。

7.此处,mworker判断出这是一条返回信息,这样,它就会把信息直接发送给eventpublisher进程。

8.然后,eventpublisher进程将会用pub的方式,将返回信息发送给client。

cobbler自动化部署原理

1、客户通过网卡的PXE功能,从DHCP服务器获取IP。

关于网卡的PXE功能,即网卡中包含PEX Client。

DHCP服务器为PXE Client分配IP地址。

在PXE Client的ROM中,包含TFTP Client,用于通过TFTP协议从TFTP Srver上下载所需要的文件。

2、DHCP服务器在为PXE Client分配IP的同时, "filename "pxelinux.0";" 参数中指定的文件(pxelinux.0)推送给客户端;

3、客户端执行pxelinux.0;

4、pxelinux.0程序读取http服务器上的配置文件(通常是/tftpboot/pxelinux.cfg/default,但是也可以根据客户端的MAC地址单独指定);

本文转自 msj0905 51CTO博客,原文链接:http://blog.51cto.com/sky66/1690413

继续阅读