云计算 频道

世纪互联CloudEx的虚拟手段应用方案

  CloudEx软件层次结构和各层次之间调用关系如下:

  1. Agent Access Object (AAO)层通过Agent的协议调用Agent,完成操作并得到返回值。

  2. Database Access Object (DAO)层调用DB,完成数据的读写操作。

  3. Physical And Virtual Object (PVO)调用AAO和DAO,完成对管理对象(例如Virtual Server,Logical Disk等)的操作。

  4. Control层对PVO层的操作进行组合,完成设计多个管理对象复杂的复杂操作(例如创建带Logical Disk的Virtual Server)。也可能直接访问DAO,对DB进行操作。

  5. Engines种类比较多。可以直接调用DAO,也可以调用PVO层。

  路途中的荆棘

  系统虚拟化技术是一门跨领域的技术,涉及到操作系统、编译和体系结构等学科知识,并延展到资源管理、性能和系统安全等问题,在开发的过程中,我们项目组遇到了大量的难点,经过项目组的讨论总结,我们认为以下几个部分属于项目中的重点:

  1. domain 0的集成。domain 0是开发人员根据项目的实际要求定制集成的。它主要涉及到网络管理、存储管理和系统管理工具。在开发过程中,可根据项目的需求对管理工具进行甄别和筛选,选择适合自己的工具。

  2. 服务的管理。CloudEx的功能需求决定了它需要提供多种服务,包括

  Tftp服务:将节点机的操作系统发送给节点机

  DHCP 服务:为节点机提供DHCP服务

  Discover 服务:Discover节点机,获得返回的xml,并解析

  Backup服务:将代码和数据打包保存起来

  Configration 服务:检查 Configration File是否更新。

  Statistics服务:不断监控系统数据,生成statistics

  等服务,需要采用统一的服务管理系统对所有服务进行管理。

  3. 对应物理硬件的虚拟化对象设计。

  对应每一种物理硬件,比如CPU,Memory,网卡,各种存储设备都有对应的虚拟化对象设计,通过该对象对实际物理硬件进行操作。需要对于实际物理硬件作出恰当的抽象,提取出物理硬件的各种状态与各种操作方法。

  4. 一致性过程的保证。

  在系统的操作过程中,经常会出现需要保证前后数据和状态一致性的情况,不仅仅需要保证数据库的一致性,还需要保证物理机状态和数据库的一致性,在这种情况下,我们设计了一致性保证机制,它主要做了以下几个方面的工作:

  A. 定时循环Discover物理机,保证物理机状态和数据库状态的一致。

  B. 锁机制。在开始一致性过程的时候对于可能用到的物理资源进行“加锁”,以避免物理资源内容被修改。对应的,在结束一致性过程的时候进行“解锁”。

  C. 回滚机制。在一致性过程内部的操作都具有对应的回滚操作方法,如果执行过程中发生错误,可以采用该机制回滚到执行过程前。

  5. 事件的处理

  在系统的运行过程中会产生各种各样的事件,比如虚拟机状态错误事件、Discover错误事件等。这些事件都有对应的处理方法,并且在产生事件的时候就被处理。事件在处理完后集合到事件列表中,虚拟化对象可以查询出与自己相关的事件,作为对象操作的输入。

  6. 为了保证硬件虚拟化技术与软件虚拟化技术的匹配,需要跟踪最新的硬件虚拟化技术,以此推进虚拟化软件技术的应用,提升服务器虚拟化技术的整体应用水平。

0
相关文章