作者:付炜超


项目背景:

在我们的公司刚买了一大批服务器,这个时候需要你全部安装成linux环境的系统,这个时候你是肯定不愿意一台一台服务器的进行安装。这个时候Cobbler华丽上场。



实验环境:

vmware workstation 11

centos6.5的系统下  

Cobbler服务器:ip:192.168.0.32   防火墙关闭  setenforce 0

SecureCRT (ssh远程连接软件)




软件介绍:

Cobbler 是一个免费开源系统安装部署软件,用于自动化网络安装操作系统;基于Python开发,是对 PXE 的二次封装,提供了 CLI 和 Web 的管理形式,也提供了API接口,方便二次开发使用。

它不仅可以安装物理机,同时也支持虚拟化、GuestOS的安装。另外,Cobbler还能结合 Puppet 等集中化管理软件,实现自动化管理。





项目实施流程:

一、相关的软件包安装

[root@Master ~]#  yum install -y cobbler pykickstart debmirror dhcp rsync cman fence-agents   


二、http服务器启动

[root@Master ~]# service httpd start 


三、tftp文件服务器设置开机自动启动

[root@Master ~]#  chkconfig tftp on  


四、rsync服务开机自启动

[root@Master ~]#  chkconfig rsync on 


五、对/etc/cobblerttings 文件进行配置。 

Cobbler:自动化安装成千上万台服务器实战!!!_化运维

六、执行cobbler get-loaders

先执行:service httpd restart

再执行cobbler get-loaders

Cobbler:自动化安装成千上万台服务器实战!!!_化运维_02可以看到成功的下载相关文件

七、对/etc/debmirror.conf  文件进行配置

Cobbler:自动化安装成千上万台服务器实战!!!_服务器_03

八、对/etc/cobblerttings 进行下面配置 

Cobbler:自动化安装成千上万台服务器实战!!!_化运维_04

Cobbler:自动化安装成千上万台服务器实战!!!_自动_05九、启动cobbler服务

[root@Master ~]#  service cobblerd start  

Starting cobbler daemon: [  OK  ]

十、设置开机自启动cobbler服务

[root@Master ~]# chkconfig cobblerd on  

十一、执行cobbler sync。

[root@Master ~]# cobbler sync 

这个时候会报错

xmlrpclib.Fault: <Fault 1: "<class 'cobbler.cexceptions.CX'>:'login failed'">

解决方法:

先重启cobbler,再执行cobbler get-loaders。

Cobbler:自动化安装成千上万台服务器实战!!!_自动_06

执行完上面的步骤以后,再次执行

Cobbler:自动化安装成千上万台服务器实战!!!_自动_07可以看到执行成功!!!

十二、对DHCP进行配置

1、先创建配置文件。

[root@Master ~]# cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf 

cp: overwrite `/etc/dhcp/dhcpd.conf'? y

2、对/etc/dhcp/dhcpd.conf 文件进行配置

Cobbler:自动化安装成千上万台服务器实战!!!_服务器_08

3、启动DHCP服务器

[root@Master ~]#  service dhcpd start  

Starting dhcpd: [  OK  ]

4、设置DHCP服务器开机自启动

[root@Master ~]# chkconfig dhcpd on 

十三、添加distro:挂载镜像,添加到cobbler;

1、首先需要挂载一个你要批量安装的服务器镜像

Cobbler:自动化安装成千上万台服务器实战!!!_服务器_09

2、查看挂载点

Cobbler:自动化安装成千上万台服务器实战!!!_自动_103、我们创建个自己的挂载点,然后把镜像挂载上去

Cobbler:自动化安装成千上万台服务器实战!!!_自动_114、添加到cobbler,关键点,上面的都是为了这一步做铺垫

Cobbler:自动化安装成千上万台服务器实战!!!_自动_12十四、查看我们创建成功的distro

Cobbler:自动化安装成千上万台服务器实战!!!_化运维_13

接下来我们就要自动化安装了。

十五、创建一个没有操做系统的主机以便模拟刚买的服务器

Cobbler:自动化安装成千上万台服务器实战!!!_自动_14

Cobbler:自动化安装成千上万台服务器实战!!!_服务器_15

Cobbler:自动化安装成千上万台服务器实战!!!_自动_16

十六、如果我们现在直接安装的话会报错

 PXE-E32:TFTP OPen timeout

解决问题:

Cobbler:自动化安装成千上万台服务器实战!!!_化运维_17接下来可以流畅的进行自动化安装了。

十七、自动化安装操作系统

Cobbler:自动化安装成千上万台服务器实战!!!_化运维_18回车,然后看着我们的服务器自己安装。

Cobbler:自动化安装成千上万台服务器实战!!!_自动_19简单的文件查看

Cobbler:自动化安装成千上万台服务器实战!!!_自动_20

截至到这里我的操作已经完成了。


项目总结:这个项目我觉得实际的意义是重大的,它诠释了自动化运维的正真含义,繁琐的、重复的操作让机器自己进行,让我们去干更有意义的事情。