首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

在OpenStack运用XenServer资源池浅析

2012-12-27 
在OpenStack使用XenServer资源池浅析在OpenStack使用XenServer资源池浅析??OpenStack中的Xen driver类:nov

在OpenStack使用XenServer资源池浅析

在OpenStack使用XenServer资源池浅析

?

?

OpenStack中的Xen driver类:nova/virt/xenapi/driver.py中的XenAPIDriver类,该类继承的ComputeDriver是所有driver的基类,是所有虚拟机相关功能集合,而XenAPIDriver实现的方法是ComputeDriver类中方法的子集。

创建资源池并添加主机

使用xenserver资源池(支持虚拟机热迁移)前提:
1、有符合创建资源池的xenserver主机,已部署openstack(nova-compute)
2、有共享存储

步骤:
1、在master节点(注意:此时还没有资源池,master节点是我们预定义的某节点)上配置共享存储为默认SR
2、配置所有的slave节点使用该默认SR,通过配置项“sr_matching_filter=default-sr:true”
3、创建host aggregate。aggregate是上层逻辑概念,不对外公开,是管理员的配置对象。aggregate最初就是为了使用xenserver资源池功能而出现,但现在可以通过给aggregate对象添加key-value对,给nova-scheduler提供一种高级调度机制。host和aggregate是多对多的关系。
nova aggregate-create <name-for-pool> <availability-zone>
?
6、加入其它slave节点
上述流程图中的最后一步理解的不是很清楚,不知道为何需要在master节点执行命令。XenServer官方文档中将一个主机加入资源池,是在预加入xenserver主机上执行(而不是在master节点执行):
?

资源池创建成功后,就可以根据aggregate_metadata创建flavor,使用flavor创建的虚拟机就可以运行在XenServer资源池内的主机上,同时支持手动迁移和热迁移等高级特性。所有xenserver主机加入资源池后,XenAPIDriver的初始化操作如下:

l? 首先,初始化一个XenAPISession对象。在该对象中保存了调用XenAPI的调用接口、连接master主机的session、xenserver主机的标识

l? 初始化VolumeOps。包含卷相关的操作。

l? 初始化VMOps。包含了虚拟机相关的操作。

l? 一个ResourcePool对象。该对象中包含了xenserver主机的名称,地址,标识以及调用nova-compute的RPC代理。

注意:第一步中的session就是后续所有操作的基础。即虚拟机和卷相关的操作都会发送到master节点,在资源池范围内进行处理。