介绍
Nova是openstack最早的两块模块之一,另一个是对象存储swift。在openstack体系中一个叫做计算节点,一个叫做控制节点。这个主要和nova相关,我们把安装为计算节点nova-compute,把除了nova-compute叫做控制节点。nova-compute是创建虚拟机的,只是创建虚拟机,所有的控制都在另一台上。
nova组件(服务)
- API:负责接受和响应外部请求。支持OpenStack API,EC2 API
- Cert:负责身份认证EC2
- Scheduler:用于云主机调度
- Conductor:计算节点访问数据的中间件
- Consoleauth:用于控制台的授权验证
- Novncproxy:VNC代理
提示:EC2是亚马逊弹性计算云
Nova API
- nova-api组件实现了RESTful API功能,是外部访问Nova的唯一途径。
- 接收外部的请求并通过Messages Queue将请求发送给其他的服务组件,同时也兼容EC2 API,所以也可以用EC2的管理工具对nova进行日常管理。
Nova scheduler
Nova scheduler模块在openstack中的作用就是决策虚拟机创建在那个主机(计算节点)上。
决策一个虚拟机应该调度到那个物理节点,需要分两个步骤:
- 过滤(Filter)
- 计算权值(Weight)
Q:实际操作中可能会出现找不到有效的主机?实际上是有资源的,为什么?
因为在openstack中nova scheduler认为没有资源创建虚拟机,即使你有100G内存,如果nova scheduler认为你没有资格,就无法进行创建虚拟机。
Q:如果决策虚拟机创建在那个主机?
1、Filter Scheduler首先得到未经过滤的主机列表,然后根据过滤属性,选择符合条件的计算节点主机。
2、计算权重,经过主机过滤后,需要对主机进行权值的计算,根据策略选择相应的某一台主机(对于每一个要创建的虚拟机而言)。
时间: 2024-10-12 12:45:33