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

作者:付炜超


项目背景:

在我们的公司刚买了一大批服务器,这个时候需要你全部安装成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

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

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


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

本文出自 “积少成多” 博客,谢绝转载!

本页内容版权归属为原作者,如有侵犯您的权益,请通知我们删除。
Sysdig绝对是可以跟SystemTap相媲美的工具,都是系统故障排查的利器,不论是开发人员还是运维人员都必须要掌握的一个工具。今天先介绍一下Sysdig的一些特性。官网上说Sysdig是Strace, Tcpdump, Lsof, Htop, Iftop等工具的合体,至于你信不信只有使用之后才能来惊叹我说的到底对不对。这里官网总结了sysdig命令对于strace, tcpdump, lsof, iftop的对比:https://sysdig.com/blog/linux-troubleshootin

如何远程调试Python代码 - 2016-05-02 17:05:55

这是一篇小记。 平时使用python写的代码对外部依赖性都不复杂,这些代码在本地调试,运行没问题之后,就可以放到生产去跑了。然而,最近的一个项目,由于使用了一些内部服务,需要连接到内部的环境进行调试。 如果每次都修改代码之后,发布一次到内部环境运行测试,这样子操作流程略显繁琐了。于是乎,我就查阅了一些资料,发现我平时使用的Pycharm可以提供代码远程调试的功能,正好也可以解决我的问题。 首先来说一说代码远程调试。顾名思义,代码远程调试就是让我们可以在本地对远端的代码进行运行和输出日志检查,从而根据运行和
一 环境搭建 首先是常规的spring mvc环境搭建,不用多说,需要注意的是,这里需要引入 jackson 相关jar包,然后在spring配置文件“springmvc-servlet.xml”中添加json解析相关配置,我这里的完整代码如下: ?xmlversion="1.0"encoding="UTF-8"?beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSche
由于view需要在域环境中,于是用户配置文件的集中管理就成了一个绕不过的话题,尤其是使用了linkclone模式的虚拟桌面,如果在创建过程中没有启用persistent磁盘存放用户配置文件,那么后期无论是recompose、refresh、rebalance都会导致用户配置文件的丢失,针对用户配置文件可选用vmware的viewPM策略或微软的用户配置漫游,下面就两种方法做详细的说明。 vmwarePM策略 1.我们去vmware网站下载他的策略模板 2.在要集中存放用户配置的文件服务器或NAS存储上新建
一、LVS集群常见架构图 Load Balancer层:位于整个集群系统的最前端,由一台或多台负载调度器(Director Server)组成。LVS核心模板IPVS就安装在Director Server上,而Director的主要作用类似于一个路由器,它含有为完成LVS功能所设定的路由表,通过这些路由表把用户的请求分发给Server Array层的应用服务器(Real Server)。同时,在Director Server上还要安装对Real Server的监控模块Ldirectord,此模块用于监测各
在Linux里,很多人都会使用到邮件报警,而且这方面的软件也众多,常见的像SendMail,sendEmail,Postfix等等,它们的优缺点我就不说了,使用上也各有所爱。今天我要给大家介绍的mutt,也许大家也不陌生,网上太多关于mutt和sendmail或者跟msmtp合作使用的教程。其实,mutt非常的强大只要你仔细研究一下官方文档(链接http://www.mutt.org/doc/manual)系统环境:CentOS6.5在正式安装mutt之前,先检查一下2个安全组件。OPENSSL:open
一、环境介绍 接到通知,要求网站由http改为使用https,目前我的网站前端架构如下图所示: 假设我们有两台物理机,每台物理机上面有很多的tomcat容器,前端使用的是haproxy进行的http层负载均衡,再前端我们使用了LVS负载均衡,整个LVS使用的是DR模型。 刚开始我打算把tomcat改成https,设置成之后再设置haproxy的时候,发现haproxy不能再使用负载均衡了,因为SSL是在第四层的,所以这个方案就结束了,下面我就尝试在haproxy层设定SSL,到后端还使用普通的连接。 二、
Apache Httpd负载均衡Tomcat并实现Session Sticky和Session Cluster 大纲 前言 实验拓扑 实验步骤 安装配置tomcat 安装配置Apache Httpd并测试 实现session sticky 实现Session Cluster 总结 前言 上篇文章我们介绍如何构建一个 LANMT 平台并搭建一个 jspxcms , 这次我们介绍使用 apache httpd 负载均衡 Tomcat 并实现 Session Sticky 和 Session Cluster 实
简介 Oliver运维管理系统是本博主自主开发的首款运维管理系统,在学习python的过程中一直想尝试开发一款属于自己的运维管理系统,但由于水平有限,时间又不太多就只能慢慢摸索,也是一边摸索一边开发,其间修改了无数次,请教了无数次开发同事,最终于今年4月份成形,目前已经应用于生产环境。由于水平有限,有些功能还不尽完善,后续会逐步改进,目前已经开源出来放到github上提供下载,希望这款软件能够帮到那些刚开始学习python运维开发的小伙伴,也算为Oliver打个小广告。 下载: git clone htt
Oracle Study之-AIX6.1构建Oracle 11gR2 RAC(2) 一、修改系统内核参数 [root@aix209 app]#chdev -l sys0 -a ncargs=256 sys0 changed [root@aix209 app]#lsattr -El sys0 -a ncargs ncargs 256 ARG/ENV list size in 4K byte blocks True [root@aix209 app]#vmo -p -o minperm%=3 Setting