详解:Openstack nova
OpenStack–Nova架构介绍
Nova,首次出现在openstack的“Austin”版本中,提供大规模、可扩展、按需自助服务的计算资源,支持裸机、虚拟机和容器,依赖keystone的认证服务,neutron的网络服务,glance的镜像服务。
nova架构图如下:

nova-api:接收rest消息,包括HTTP请求,服务间通信
nova-scheule:选择合适的主机
nova-conductor:数据库操作和复杂流程控制
nova-compute:虚拟机生命周期管理和资源管理,负责处理虚机和hypervisor间的通信
db:sql数据库存储nova相关的业务数据
nova运行架构:

nova服务各组件可分布式部署,且可通过virtDriver对接不同的虚拟化平台。
nova资源池管理架构:

描述nova资源池可分为region(物理区域),availability zone(可用区),host aggregate(主机组)三大部分,且Region > Availability Zone > Host Aggregate。
以阿里云为例,华东-杭州节点有11个可用区,每个可用区的物理主机可按照规格、用途不同划分不同主机组。
Nova组件详解
Nova-API
Nova API提供的功能:
1)对外提供REST接口,接收和处理请求。
2)对传入的参数进行合法性校验和约束限制。
3)对请求的资源进行配额的校验和预留。
4)资源的创建,更新,删除查询等。
5)虚拟机生命周期管理的入口。
WSGI: Web Server Gateway Interface
Nova-Conductor
Nova-Conductor功能:
1)数据库操作,解耦其他组件(Nova-Compute)数据库访问。
2)Nova复杂流程控制,如创建,冷迁移,热迁移,虚拟机规格调整,虚拟机重建。
3)其他组件的依赖,如nova-compute需要nova-conductor启动成功后才能启动。
4)其他组件的心跳定时写入。
引入nova-conductor的好处:
1) 安全性上考虑。之前每个nova-compute都是直接访问数据库的。如果由于某种原因,
某个计算节点被攻陷了,那攻击者就可以获取访问数据库的全部权限,肆意操作数据
库。
2)方便升级。将数据库和nova-compute解耦,如果数据库的模式改变, nova compute就不用升级了。
3)性能上考虑。之前数据库


553

被折叠的 条评论
为什么被折叠?



