运维平台化Cobbler和ipmi实现自动化装机平台

Pxe运维平台:

这段时间,去感受了下公司的pxe装机平台。 这边的装机是二次开发过的,加了很多的自定义的模块。一说 pxe装机,大家觉得很简单的事,说来也确实是。。。但是我们经常会遇见些皮毛又让人蛋疼的事,尤其是批量装机后,让业务线验收的时候,我们要先ping主机,然后ssh测试下,raid配置检查下,初始化下。。。

有朋友说可以用脚本搞呀,我们这边也确实是这么搞的,但还是会出现手忙脚乱的现象,我相信很多朋友也都遇见过,小量的pxe装机,大家都很稳妥的,我这段时间和同事测试,20个服务器之内的,大家都很是胸有成竹。但是数目一大,服务器一杂,配置的不通,这时候就会出现。。。。 其实就单纯的用cobbler装机,肯定不会很快的又特别顺利的配置完毕。 当一切顺利的时候还好说,但是万一出问题,比如是raid情况,有些是没有初始化,有些是没有根据业务线需求配置各种信息,还有些确实是装完了,但是让人恼火的是ping不通,ssh登录不了,kerberos也登录不了。。。。等等。。。

要做平台话的原因是: 我们不用手忙脚乱的做检测,要让我们知道各个服务器的进度到那里了。 是否重启了,是否划入了装机的vlan,是否收到了dhcp给的ip,是否进行安装,是否配置了ip,是否初始化了,是否部署了berkeros 。。。。。。 等等

前端 handlebars jquery

后端 python

服务 cobbler

平台处理流程:

业务线提需求——领导批准——通告网络组——配置pxe以及收集服务器信息——ipmi控制pxe——自动配置raid——装机——配置ip——获取他要做的事情——初始化信息——测试环境——通告基础运维组——通告业务线

我这里简单说下,要点。

cobbler 已经有了web ui 。但是好多东西和自己这边的工单和数据平台接口不搭边,干脆就自己搞的了。

自动化装机一定要格外小心,别他线上的机器给装了,为了确保这一点,有能力的公司,一般都会配置一个vlan ,pxe就在这个vlan中,这个pxe在这vlan中只能和pxe服务器、同级的服务器有通信能力。pxe有双网卡,一个是pxe,另一个是在外面的。有些服务器时常的抽风,重启后会pxe启动,要是你在装机vlan下,他会拿到dhcp的ip和tftp的地址。。。。这就糟了。。。

自动配置raid ,一般都是需要把一堆的raid工具集成到一个小系统里面,类似winpe的东西,这样我们可以在小系统内完成raid的配置。

ipmi管理,现在服务器都有ipmi的东西的,我们通过ipmitool工具对服务器进行重启,以及boot配置,通过浏览器进行console控制。

获取他要做的事情,我们在pxe做了一个小server,比如临时的调整,已经信息的收集,脚本的运行。

通告,客户端把所有事都搞完了,给pxe的那个小server发个包,说自己已经完成,申请进入数据vlan

他会给你发个邮件,或者在平台中看到,你点确认后,他会划入数据vlan

装机服务器中有个脚本,一直ping外网,当他能访问外网,就说明 一切都ok了。他会发邮件并给平台发个post数据。

关于这些cobbler,我相信大多数的朋友已经搞过好多了,我也就不多说了。

需要注意的话,更好的自动化还需要多点的功能,比如 ipmitool的用法,以及通告完成,自动划入划出vlan,初始化各种信息和密码。。。。

源地址:

先说下ipmitool

通过ipmitool主要可以实现以下几种操作:

  1、查看主板的各种传感器信息,如cpu文档,主板电压等。

  2、查看电源状态,并远程硬关机和开机。

  3、远程指定boot引导顺序

  4、远程视图,此功能是在ipmi的基础上改进bmc实现kvm功能(Keyboard, Video, Mouse)

  5、远程文本视图

1、先是查看和配置ip信息和用户信息   ipmitool -H ip -U user -P xxxx lan print 1 #1为网络(lan)的信道(channel) ,默认是1, 运行命令时可以省略不输入。   ipmitool -I open lan print 1 #此命令和上面效果一样,不过此处是在本地执行,上一条是远程执行   ipmitool -I open lan set 1 ipaddr 192.168.0.120 #在隧道1设置ip   ipmitool -I open lan set 1 netmask 255.255.255.0 #在隧道1设置掩码   ipmitool -I open lan set 1 defgw ipaddr 192.168.0.254 #在隧道1设置网关   ipmitool -I open lan set 1 access on #开启隧道1访问   ipmitool -H ip -U root -P xxxx user list #查看用户列表   ipmitool -H ip -U root -P xxxx user set password 2 #设置用户密码  2、查看传感器信息(对应管理A)   ipmitool -H ip -U root -P xxxx sdr #打印传感器数据   ipmitool -H ip -U root -P xxxx sensor #打印传感器详细数据  3、远程开关机   ipmitool -H ip -U root -P xxxx power off #硬关机,直接切断电源   ipmitool -H ip -U root -P xxxx power soft #软关机,即如同轻按一下开机扭   ipmitool -H ip -U root -P xxxx power on #硬开机   ipmitool -H ip -U root -P xxxx power reset #硬重启   ipmitool -H ip -U root -P xxxx power status #获取当前电源状态  4、设置boot启动项   ipmitool -H ip -U root -P xxxx chassis bootdev <device>  bootdev <device> [clear-cmos=yes|no]  bootdev <device> [options=help,…]  none : Do not change boot device order  pxe : Force PXE boot  disk : Force boot from default Hard-drive  safe : Force boot from default Hard-drive, request Safe Mode  diag : Force boot from Diagnostic Partition  cdrom : Force boot from CD/DVD  bios : Force boot into BIOS Setup  floppy: Force boot from Floppy/primary removable media

ipmitool就可以实现与硬件交互,推荐使用,你也没有别的好选择。

自动中可以配合重启,pxe,获取电源状态,重新配置密码。

远离城市的喧嚣,寻找一份宁静,

运维平台化Cobbler和ipmi实现自动化装机平台

相关文章:

你感兴趣的文章:

标签云: