作者:付炜超


项目背景:

在我们的公司刚买了一大批服务器,这个时候需要你全部安装成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/cobblerspacer.gifttings 文件进行配置。 

wKioL1cMthHA4kWNAABSpeCIiIY228.png

六、执行cobbler get-loaders

先执行:service httpd restart

再执行cobbler get-loaders

wKiom1cMtn-yovU-AACrkwqCECY147.png可以看到成功的下载相关文件

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

wKioL1cMuBWADsEgAABqNNkS2Ps410.png

八、对/etc/cobblerspacer.gifttings 进行下面配置 

wKiom1cMt9izISGJAAAkgV7OV-A909.png

wKiom1cMuImDIrl5AABCh3-mZzg501.png九、启动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。

wKiom1cMxIChwTZKAAFjZQjItI0605.png

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

wKioL1cMxafy944KAAE9LimPuOU639.png可以看到执行成功!!!

十二、对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 文件进行配置

wKiom1cMxkrD0ADLAABTs5Qj7sE081.png

3、启动DHCP服务器

[root@Master ~]#  service dhcpd start  

Starting dhcpd: [  OK  ]

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

[root@Master ~]# chkconfig dhcpd on 

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

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

wKioL1cMyDrCvD1nAAH02plfWQs056.png

2、查看挂载点

wKiom1cMyA7DsGvzAADNqgRb9tw984.png3、我们创建个自己的挂载点,然后把镜像挂载上去

wKioL1cMySSxCsU5AABWT28Hex4131.png4、添加到cobbler,关键点,上面的都是为了这一步做铺垫

wKiom1cMyVvxhbKvAADGxDhejM8392.png十四、查看我们创建成功的distro

wKiom1cMyb3AL8qPAAAcJn3gJk0922.png

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

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

wKioL1cMzImwa2HJAAHd9qIZIaE360.png

wKiom1cMy9bwTUUkAAG83AgYrtg163.png

wKioL1cMzI2TcunBAAIg0Ntjbn8256.png

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

 PXE-E32:TFTP OPen timeout

解决问题:

wKiom1cMz-SCYWBeAAAeSqC3mQM825.png接下来可以流畅的进行自动化安装了。

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

wKioL1cMzVihh8dJAACkY0GlGSc565.png回车,然后看着我们的服务器自己安装。

wKiom1cMzgbRx3LKAADgm01rLDY058.png简单的文件查看

wKiom1cMzkyguspoAADWYSTzTEA490.png

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


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