openstack ironic 学习总结以前言

  • 背景
    html

    最近上马新项目 OpenCOS,有带外管理和云设施快速部署的需求,故而找到并研究 Ironic.
node

  • Ironic 概况
    web

    截止此文撰写日期,Ironic 仍是 openstack 的孵化项目,准备在下个版本 Juno 中毕业,也有可能会变动。数据库

  • Ironic 功能概述api

        Ironic 提供裸机管理服务。相对于传统的虚拟环境来讲,在物理硬件上先跑 HostOS(hypervisor,例如 xen、kvm),再在其上跑 GuestOS(VM即虚拟机)。而 Ironic 则是直接在物理硬件上跑虚拟机,不借助 hypervisor。更直白的来讲,就是日常说的装机,PXE 网络新安装一个操做系统。
服务器

        此处先介绍下几个关键的术语:
网络

        1)baremetal host/compute host : 分别运行 ironic 服务(api 和 conductor)和 nova-compute 服务,通常都安装在一个服务器上。
架构

        2)baremetal node : 1)控制的可运行 baremetal instance 的服务器,可为全新服务器或已安装 OS 的服务器,此处的控制是经过驱动(IPMI或SSH)远程控制。
spa

        3)baremetal instance : 经过 nova(openstack 计算组件) api 建立的虚拟机,不过虚拟机的规格参数定制的,包括类型flavor/image,还有其余的运行配置,会在后文中介绍。
操作系统

        4)driver : 驱动,经过业内通用的技术,包括 PXE 、IPMI 等来覆盖大多数的硬件,还支持可插拔的架构,使得厂商可自行定制的驱动。

        5)deploy image : kernel 和 ramdisk 映像文件,供 PXE 使用。

  • Ironic 架构(摘自官网)

  • 后语

        介绍下 Ironic 的前世此生。

       物理机和虚拟机管理有不少地方很是类似,好比物理机和虚拟机都须要开机关机,安装部署,添加和删除,为了不重复造轮子,他们在nova中实现了一个物理机的driver,这样把物理机管理作为计算资源管理的一个子集了。

        后来发现有以下不合适的地方:1)nova 项目有 2 个数据库;2)物理机的信息,如 chassis/node 等经过 nova api 来获取;3)流程,诸如驱动的发现;

        比较好的办法是当完成这些操做的时候,向nova去注册信息,做为nova中的可用的资源,最后经过nova boot去调用这些资源。

        通过屡次讨论,社区将 baremetal 从 nova 中剥离出来,新成立了 Ironic 项目。

  • 参考文献

    http://docs.openstack.org/developer/ironic/

    https://wiki.openstack.org/wiki/Ironic

    https://wiki.openstack.org/wiki/Baremetal

    http://www.openstack.cn/p696.html

相关文章
相关标签/搜索