Openstack
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
提示:
OpenStack是一个开源云计算平台项目,旨在为公共及私有云的建设与管理提供软件的开源实现。当前OpenStack支持VM和BM(Bare-Metal 裸金属服务器)两种上线方式,这里主要说第二种。
一、Ironic的作用什么,虚机与裸金属的差别在哪?
Ironic的作用的管理裸金属服务器,其余则是用于管理虚拟机,openstack管理虚拟机和裸金属服务器不同点在于hypervisor不同。Hypervisor——一种运行在基础物理服务器和操作系统之间的中间软件层,可允许多个操作系统和应用共享硬件。也可叫做VMM( virtual machine monitor ),即虚拟机监视器。
Hypervisors是一种在虚拟环境中的“元”操作系统。他们可以访问服务器上包括磁盘和内存在内的所有物理设备。Hypervisors不但协调着这些硬件资源的访问,也同时在各个虚拟机之间施加防护。当服务器启动并执行Hypervisor时,它会加载所有虚拟机客户端的操作系统同时会分配给每一台虚拟机适量的内存,CPU,网络和磁盘。
简单理解:你原本电脑的系统是windows系统,但是你想跑Linux,这个时候你就得下载一个VMware或者是Virtual Box,在上面创建虚拟机,但是这些虚拟机同样需要你电脑的内存资源,CPU资源。而这些资源就由VMware或者Virtual Box去找电脑申请硬件资源,所以Virtual Box和VM ware其实就可以理解成一种Hypervisors。如下图
作用:
裸金属服务器场景全部采用纯物理服务器,主要用于满足以下需求:
1.高性能的计算集群
2.计算任务需要访问无法虚拟化的硬件设备
3.大数据和相关的数据科学,以及机器学习等项目
4.单租户、专用硬件、安全性、可靠性和其他控制要求
5.快速部署云基础设施(快速部署另一套openstack)
二、概念
1.组件关系图
2.具体含义
如上图所示,部署物理机跟部署虚拟机的概念在nova来看是一样,都是nova通过创建虚拟机的方式来触发,只是底层nova-scheduler和nova-compute的驱动不一样。虚拟机的底层驱动采用的libvirt的虚拟化技术,而物理机是采用Ironic技术,ironic可以看成一组Hypervisor API的集合,其功能与libvirt类似(libvirt是提供了一个方便的方式来管理虚拟机和其他虚拟化功能的软件的集合,如存储和网络接口管理。这些软件包括一个API库,一个守护进程(Libvirtd),和一个命令行实用程序(virsh))说白了就是管理你创建的虚拟机的。
3.裸金属正常工作需要的组件
名称 | 含义 |
---|---|
Bare Metal | 裸金属,BM,一般指物理服务器 |
Ironic | 负责管理BM,提供deploy,power等服务。 |
Ironic-inspector | 发现裸金属服务器,并收集硬件信息 |
Nova | 计算服务,是OpenStack最核心的服务,负责维护和管理云计算资源 |
Neutron | 就是提供网络服务的 |
Glance | 提供镜像服务的 就比如bclinux windows这些 |
Cinder | 块存储服务 |
4.逻辑架构
如上图所示,Ironic服务由以下组件构成。
Ironic API | Restful API服务,管理员和其他服务通过API 与 Ironic-conductor交互 |
---|---|
Ironic Conductor | 完成 Ironic 服务的绝大部分工作,通过 API 对外开放其功能,与 Ironic API 通过 RPC 进行交互;负责与其他组件进行交互 |
Drivers | 真正管理物理机的模块,通过一系列的驱动来支持不同的硬件 |
Ironic database | Ironic数据库,存储node,port,portgroup等资源信息 |