编者按:目前,Openstack在虚拟化管理方面已经比较成熟,但在物理机方面,一直没有很好的解决方案。在这样的背景下,Ironic(Bare- Metal Provisioning)诞生了,它能够解决物理机的添加、删除、电源管理和安装部署等大部分问题。
近年来,裸金属服务器在云计算市场被大量提及,应对用户对高性能、硬隔离、资源独享、便捷管理、快速响应等更高的要求,裸金属服务器悄然成为云市场的一大增长点。谈及裸金属服务器的核心优势,行业人士认为,主要在于裸金属服务器的无损性能与自动化管理两方面。
无损性能很好理解,裸金属服务器仍然会用到物理机,而物理机的性能保障都是有目共睹的。那在管理方面呢?裸金属服务器如何才能实现自动化管理?为此,我们基于近日在中国IDC产业CEO高峰论坛上,“微微云”透露的旗下DoorOS云操作系统,对裸金属服务器的自动化管理问题进行了深入剖析。
Ironic是OpenStack项目中用来提供物理机管理的模块,依托PXE(Preboot Execution Environment)、IPMI(Intelligent Platform Management Interface)等技术实现批量部署和系统控制。此外,Ironic也提供一系列常用的驱动,同时提供插件的机制让厂商可以开发自己的driver,这让它支持几乎所有的硬件。
通过Ironic组件,OpenStack对物理机的部署,可以和虚拟机部署一样简单。实际上,裸金属服务器的虚拟机和物理级部署原理,在nova看来是大径相同的,只是底层驱动的区别。虚拟机的底层驱动采用了libvirt的虚拟化技术,而物理机是采用Ironic技术,Ironic可以看成一组 Hypervisor API的集合,其功能与libvirt相似。
众所周知,OpenStack 是一款开源的扩展平台,用于构建公有云或私有云。其多数时候是被作为 IaaS(基础设施即服务),由诸如计算(Nova)、网络(Neutron)、存储(Cinder)及其它项目所组成。Ironic作为OpenStack中的一个独立模块,它可以与keystone、nova、neutron、image以及swift进行交互。
云计算的发展推动了OpenStack的进化,为能够全面支持虚拟化,目前OpenStack 支持了多种 Hypervisor,例如原生KVM、Xen、QEMU、Hyper-V、VMWare、LXC等。OpenStack提供的项目让 IaaS成为了可能,让用户能够自助部署配置虚拟机,即让用户能够在界面或命令行自己创建服务器。
在 OpenStack 中部署裸机就意味着用户可以直接操作硬件设施、部署应用负载(镜像)到真正的物理机器,而不是运行在 hypervisor 之上的虚拟机中。OpenStack的部署能力已然非常强大了,但Ironic的加持,对OpenStack的部署能力又进一步注入了强心剂。
从Ironic的架构来看,和其他OpenStack组件一样,Ironic也对外提供一个标准的restful接口Ironic-API。Ironic涵盖了4个主要组件,即:Ironic- API、Ironic-conductor、nova-compute-Ironic和Ironic-provision。
Ironic- API用于提供北向接口;Ironic-conductor主要接受Ironic- API下发的命令,实现具体的操作和处理工作;nova-compute-Ironic可对接Ironic driver,进行物理机的发放等生命周期管理;Ironic-provision是Ironic tftp服务,为物理机安装部署过程提供tftp服务。为了能像虚拟机一样部署物理机,Ironic需要能够上报物理机的资源,用以支持操作系统的自动安装和物理机电源状态管理等情况。Ironic-discovered即可实现物理机资源的上报工作,使得管理员在注册物理机时,只需提供物理机BMC的IP地址,Ironic数据库就能获得物理机的相关信息,与此同时nova的compute_nodes表中也拥有物理机相关资源信息。
而接下来,通过PXE技术将物理机安装上操作系统,再通过IPMI技术即可实现物理机的电源状态管理。说到这里,也简单普及一下物理机部署所涉及到的主要技术——PXE和IPMI:
Preboot Execution Environment (PXE)
PXE 是目前主流的无盘启动技术,它可以使计算机通过网络而不是从本地硬盘、光驱等设备启动。利用 PXE 进行系统安装需要被安装的主机上有 PXE 支持的网卡,不过现在的网卡一般都内嵌支持 PXE 的 ROM 芯片。当计算机引导时,BIOS 首先会 把 PXE Client 调入内存中执行,PXE Client 被载入内存后,它便同时具有 DHCP client 和 TFTP Client 的功能,DHCP client 会向 DHCP server 请求 ip 分配给将要安装系统的主机,然后由 PXE Client 将放置在远端的文件通过 TFTP 下载到本地运行。
Intelligent Platform Management Interface (IPMI)
IPMI智能平台管理接口,是一种开放标准的硬件管理接口规格,使用嵌入式管理子系统进行通信而不依赖主机操作系统,这使得在操作系统不响应或未加载的情况下其仍然可以进行开关机、信息提取等操作。Ironic 正是利用此技术可以远程地对物理机进行上下电及其他操作,而不是依赖物理开关或者操作系统。
此外,包括DHCP(Dynamic Host Configuration Protocol)、Network Bootstrap Program (NBP)、Trivial File Transfer Protocol (TFTP)等在内的技术,也是裸金属服务器中物理机部署所会用到的主要技术。
不难想象,Ironic(Bare- Metal Provisioning)的诞生,对物理机的部署及管理问题产生了里程碑式的意义,而对于裸金属服务器来说,依托OpenStack Ironic实现的自动化管理功能,让用户很方便的对指定的一台或多台物理机,执行诸如同时部署大规模物理机群集、硬件基础设施资源的快速交付等一系列操作。