7.1 裸机管理通用技术
目前裸机管理通用技术主要包含PXE、IPMI等,各类上层的裸机管理软件都需要集成和使用PXE、IPMI等通用技术。将PXE和IPMI技术结合使用,能够方便地控制裸机上电,然后通过网络进行操作系统的安装。常见的开源软件有Cobbler、Foreman、Compass等。
1.PXE
PXE(Preboot Execute Environment,预启动执行环境)是由Intel公司开发的、基于网络加载启动操作系统的一种技术。它采用Client/Server的模式,支持工作站通过网卡启动后从网络下载操作系统镜像并进行安装。安装过程为先通过网络DHCP获取IP地址,然后通过TFTP或MTFTP协议下载启动包到本机内存中执行,从而完成相关的基本配置以及操作系统的安装。
2.IPMI
IPMI(Intelligent Platform Management Interface,智能平台管理接口)是管理基于Intel结构的企业系统中所使用的外围设备采用的一种工业标准。用户可以通过IPMI来监视服务器的物理健康特征,如温度、电压、电源状态等,也可以远程控制服务器的开关机等。
3.Cobbler
Cobbler是一款基于PXE和IPMI技术的操作系统安装软件,同时其集成了kickstart模板管理和对DHCP等服务的管理等。基本功能包括操作系统镜像的导入和管理、服务器电源管理、操作系统静默安装应答文件的编辑及配置等。通过Cobbler,操作系统的安装变得更加简单,并且可以通过简单的命令配置每台服务器待安装的操作系统类型及安装后的IP、主机名等信息,同时通过集成kickstart脚本,能够在操作系统安装前后进行自定义脚本执行动作。IPMI的集成也使Cobbler能够方便地控制服务器上电来开始安装。Cobbler具有命令和网页两种模式可供使用,两种模式都可以方便地完成操作系统安装等相关操作。命令模式相对功能更加全面;而网页模式则更加简单直观,网页模式最终也是通过命令的模式来实现的。
4.Foreman
Foreman是一个集成的数据中心生命周期管理工具,提供了服务开通、配置管理以及报告功能。与Puppet Dahboard一样,Foreman也是一个Ruby on Rails程序,通过它可以很直观地查看Puppet所有客户端的同步状态与facter参数。Foreman和Dashboard的不同之处在于,Foreman更多地关注服务开通和管理数据中心的能力,如与引导工具,PXE启动服务器(集成了kickstart),DHCP服务器及服务器开通工具进行集成。其在裸机管理方面的功能与Cobbler非常相似,通常也是基于DHCP分配IP后,通过PXE和KS模板来安装操作系统。只是Foreman在功能上更加丰富,具备了一些Cobbler不具备的功能。但在裸机管理上,两者在底层使用的技术非常相像。
5.Compass
Compass是一个开源项目,用于OpenStack的部署和管理。Compass本身是一个分布式系统,提供数据建模、配置API和WebUI,供最终用户来定义数据中心基础设施。Compass基于现代软件体系结构设计,具有模块化特征和良好的可扩展性。
Compass的主要组件包括:
1)基于Python语言开发的具备REST接口的服务器。
2)演示REST接口的Web UI,它是一个基于AngularJS开发的纯JavaScript Web应用。第三方应用基于相同的API可以开发出不同的UI。
3)元数据模块,允许开发人员扩展OpenStack配置的核心功能,并提供自定义数据模型配置,例如,有没有HA,单一控制器对多节点等。REST接口层基于元数据提供了自动更新的API。在调用API的地方不需要更改任何代码。
4)资源自动发现的适配接口。目前的发现机制是通过标准SNMP协议的MIB库查询TOR交换机。其他机制(如IPMI或Intel的下一代RSA)可以通过添加插件来实现。
5)配置管理工具适配接口。目前支持基于Chef和Ansible的配置管理工具。其他机制(如Puppet)可以通过插件方式实现。
Compass隐藏启动文件或种子文件的配置细节,并提供友好的操作系统配置界面。