convirt实战

来源:互联网 发布:淘宝手机助手官网下载 编辑:程序博客网 时间:2024/05/17 00:59

Convirt是一个相对轻量的虚拟机管理解决方案。他支持基于模板创建虚拟机,虚拟机模式目前只支持vm console,不支持VM Template。

创建虚拟机跟其它IaaS管理工具不一样,需要明确指定虚拟机宿主的明确位置。

介绍功能:

管理端

1. 目录结构
  • 虚拟机管理目录结构
    • 数据中心--》服务器组--》服务器--》虚拟机
  • 模板目录结构
    • 模板组--》模板

2. 功能

  • 虚拟机管理
  • 管理相关:创建,停止,注销,VNC登陆。
  • 备份相关:snapshot, 备份,移植

  • 模板管理
  • 配置,创建,删除

  • 综合
    • CPU,MEM监控。精确到组,每台服务器,VM的操作记录。



实际使用。

1.  管理端API接口包装

基于UI的管理平台对批量操作,比如批量创建,启动,删除等操作起来比较麻烦。
Convirt提供了基于python2.4的API。通过这些封装这些API可以,我们可以通过命令行,或者简化的WEB API来管理我们的虚拟机。

在使用的过程,发现通过它提供的api去创建虚拟机,其虚拟机的数据不完整,会导致启动VM时,VM状态一直在启动中,后续的停止或删除操作都非法了。因此,我们另外模拟其界面操作,通过Post的方式去创建VM。这种方式会导致另外一个问题,就是没法立即获取taskid。该ID用于查询操作的结果。因此,我们再模拟网页的创建操作,不断的轮询其taskid。该轮询知会返回一次,因为我们必须保证我们用于操作的用户没有其它人在使用。


2. 代码修改

  • 右键菜单改成静态的
  •  屏蔽了整个平台的CPU和mem的采集
    • 默认会每分钟去采集其管理所有VM的Metrics,管理近100个VM时,系统占用的内存/CPU都很高。导致整个系统响应很慢。
    • 我们把这些采集屏蔽了(必须通过hard code代码),采集信息通过其它的系统独立完成。
  • 屏蔽了
    • 运维操作列表和状态的刷新
    • 点击VM时获取菜单(应该是冗余的,在firefox下没有任何 效果)、刷新VM的CPU图表、刷新VM相关任