Openstack 用Host aggregates实现灵活的调度策略
2013-05-13 18:21
106 查看
Openstack 对于主机的分布区域的划分主要方式主要有Zones,region,以及在g版新引入的概念cell。这些方式将主机进行了不同的化分。这些概念网上都有介绍这里我就不介绍了,感兴趣的朋友可以去网上搜一下。我在这里主要介绍一种逻辑划分方式Host aggregates。
Host aggregates 是对于availability zone的进一步的细分,availability zone是对于用户是可见的而Host aggregates是仅对管理员可见的,可以说是一种逻辑上的划分。那么Host aggregates究竟有什么用呢,其实他主要是针对scheduler调度使用的,通过他可以创建高级的调度策略。在g版中有AggregateInstanceExtraSpecsFilter,AggregateMultiTenancyIsolation两个定义好的调度过滤策略,当然你也可以根据自己的情况定义自己的策略。
AggregateInstanceExtraSpecsFilter 过滤器,主要是利用Flavor extra_specs扩展属性,来和aggregates 的metadata,通过各种操作符如!=,<=进行float型或字符串型的比较,来确定是否通过过滤。就是在创建实例时用含有某flavor
extra_specs扩展属性的实例时只会创建在对应的含有满足条件的metadataHost aggregates。使用这种过滤的场景是,你可以将对io要求高的实例创建在安装固态硬盘的机器上。
Host aggregates是可以动态配置的,随时添加删除主机,非常的灵活,可以创建非常灵活的过滤策略,我想到的一个应用场景是就是将新旧机器分别创建在两个不同的aggregates,来进行不同的调度。
Host aggregates 是对于availability zone的进一步的细分,availability zone是对于用户是可见的而Host aggregates是仅对管理员可见的,可以说是一种逻辑上的划分。那么Host aggregates究竟有什么用呢,其实他主要是针对scheduler调度使用的,通过他可以创建高级的调度策略。在g版中有AggregateInstanceExtraSpecsFilter,AggregateMultiTenancyIsolation两个定义好的调度过滤策略,当然你也可以根据自己的情况定义自己的策略。
AggregateInstanceExtraSpecsFilter 过滤器,主要是利用Flavor extra_specs扩展属性,来和aggregates 的metadata,通过各种操作符如!=,<=进行float型或字符串型的比较,来确定是否通过过滤。就是在创建实例时用含有某flavor
extra_specs扩展属性的实例时只会创建在对应的含有满足条件的metadataHost aggregates。使用这种过滤的场景是,你可以将对io要求高的实例创建在安装固态硬盘的机器上。
Host aggregates是可以动态配置的,随时添加删除主机,非常的灵活,可以创建非常灵活的过滤策略,我想到的一个应用场景是就是将新旧机器分别创建在两个不同的aggregates,来进行不同的调度。
相关文章推荐
- OpenStack基于Libvirt的虚拟化平台调度实现----Nova虚拟机动态迁移源码分析
- OpenStack基于Libvirt的虚拟化平台调度实现----Nova虚拟机启动源码实现(2)
- OpenStack基于Libvirt的虚拟化平台调度实现----Nova虚拟机启动源码实现(3)
- openstack 调用API 实现云主机的IO 控制,CGroup 策略
- 使用iptables 实现openstack的灵活部署
- OpenStack基于Libvirt的虚拟化平台调度实现----Nova虚拟机启动源码实现(3)
- OpenStack基于Libvirt的虚拟化平台调度实现----Nova虚拟机启动源码实现(2)
- Cloudera Impala源码分析: SimpleScheduler调度策略详解包括作用、接口及实现等
- OpenStack基于Libvirt的虚拟化平台调度实现----Nova虚拟机启动源码实现(3)
- Java实现进程调度策略(时间片轮转、最高优先级)
- OpenStack基于Libvirt的虚拟化平台调度实现----Nova虚拟机动态迁移源码分析
- OpenStack基于Libvirt的虚拟化平台调度实现----Nova虚拟机启动源码实现(1)
- OpenStack基于Libvirt的虚拟化平台调度实现----Nova虚拟机启动源码实现(2)
- OpenStack基于Libvirt的虚拟化平台调度实现----Nova虚拟机启动源码实现(4)
- 基于 Netty 的帧调度策略,自行实现流量控制及可靠性通信
- OpenStack基于Libvirt的虚拟化平台调度实现----Nova虚拟机动态迁移源码分析
- OpenStack基于Libvirt的虚拟化平台调度实现----Nova虚拟机动态迁移源码分析
- linux进程调度之 FIFO 和 RR 调度策略---SYSTEMTAP
- 使用Quartz实现作业调度(一)
- Python使用multiprocessing实现一个最简单的分布式作业调度系统