OpenStack云端的资源调度和优化剖析

  • 作者简介:胡晓亮,目前就职于IBM Platform Computing 系统科技部云计算部门,担任云计算开发部工程师。自2013年8月开始参与OpenStack相关的开发工作,涉及Nova、Cinder、Heat、等项目。

OpenStack简介:OpenStack是旨在为公有及私有云的建设与管理提供软件的一个开源项目,采用Apache授权协议,它的核心任务是简化云系统的部署过程,并且赋予其良好的可扩展性和可管理性。它已经在当前的基础设施即服务(IaaS)资源管理领域占据领导地位,成为公有云、私有云及混合云管理的“云操作系统”事实上的标准,在政府、电信、金融、制造、能源、零售、医疗、交通等行业成为企业创新的利器。OpenStack基于开放的架构,支持多种主流的虚拟化技术,许多重量级的科技公司如RedHat,AT&T,IBM,HP,SUSE,Intel,AMD,Cisco,Microsoft,Citrix,Dell等参与贡献设计和实现,更加推动了OpenStack的高速成长, 打破了Amazon等少数公司在市场上垄断的局面,解决了云服务被单一厂商绑定的问题并降低了云平台部署成本。

OpenStack资源调度和优化现状

OpenStack的虚拟机调度策略主要是由FilterScheduler和ChanceScheduler实现的,其中FilterScheduler作为默认的调度引擎实现了基于主机过滤(filtering)和权值计算(weighing)的调度算法,而ChanceScheduler则是基于随机算法来选择可用主机的简单调度引擎。如图1是FilterScheduler的虚拟机调度过程,它支持多种built-in的filter和weigher来满足一些常见的业务场景。在设计上,OpenStack基于filter和weigher支持第三方扩展,因此用户可以通过自定义filter和weigher,或者使用json资源选择表达式来影响虚拟机的调度策略从而满足不同的业务需求。

图片描述

图 1:OpenStack调度workflow

Built-in的filter(部分):

  • ComputeFilter过滤计算节点down机的主机
  • CoreFilter过滤vcpu不满足虚拟机请求的主机
  • DiskFilter过滤disk不满足虚拟机请求的主机
  • RamFilter过滤ram不满足虚拟机请求的主机
  • ImagePropertiesFilter过滤 architecture, hypervisor type不满足虚拟机请求的主机
  • SameHostFilter过滤和指定虚拟机不在同一个主机上的主机
  • DifferentHostFilter过滤和指定虚拟机在同一个主机上的主机
  • JsonFilter过滤不满足OpenStack自定义的json资源选择表达式的主机:json资源选择表达式形如 query=’[“>”, “$cpus”,4]’表示过滤掉cpus小于等于4的主机

Built-in的weigher(部分):

  • RAMWeigher根据主机的可用ram排序
  • IoOpsWeigher根据主机的io负载排序

在一个复杂的云系统中,对云计算资源的监控和优化对于保证云系统的健康运行,提高IT管理的效率有重要的作用。最新版本的Open

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值