一种XenServer虚拟机快速更换光盘ISO文件的方法、系统与流程

文档序号:14990293发布日期:2018-07-20 22:05阅读:1009来源:国知局

本发明涉及虚拟机领域,尤其涉及一种xenserver虚拟机快速更换光盘iso文件进行的方法、系统。



背景技术:

当xenserver虚拟机在已经挂载了多个光盘iso文件的情况下需要更换iso文件载入时,目前有两种做法:

1、在xenserver虚拟机没有安装xenservertools的情况下要进行冷插拔来更换,即需要虚拟机开机或者重启;

2、在xenserver虚拟机有安装xenservertools的情况下使用xenapi提供的vbd热插拔接口对虚拟机已经挂载的光驱全部拔出,然后将需要载入的光驱重新第一个挂载到虚拟机。

以上两种做法均存在以下缺点:不兼容有无安装xenservertools,操作繁琐,效率低下。



技术实现要素:

本发明的目的在于提出一种xenserver虚拟机快速更换光盘iso文件的方法、系统,解决在有无xenservertools的情况实现兼容的问题。

为达此目的,本发明采用以下技术方案:

一种xenserver虚拟机快速更换光盘iso文件的方法,xenserver虚拟机自动发现并载入vbd设备编号最小的光驱,xenapi通过xml_rpc协议对xenserver虚拟机上的已挂载的光盘iso文件所对应的vbd设备编号重新配置,包括快速更换光盘iso文件的过程:

步骤a:用户在云管理平台调度虚拟机要使用的指定的光盘iso文件;

步骤b:将虚拟机的最小编号的光驱的vbd设备编号更改为最大设备编号;

步骤c:将指定的iso文件所在的光驱的vbd设备编号更改为最小设备编号;

步骤d:虚拟机自动发现指定的光盘iso文件并使用iso文件。

优选的,包括将光驱的vbd最小设备编号更改为最大设备编号的过程:

步骤b1:云管理平台调用xenapi将虚拟机的所有类型为cd的vbd设备进行遍历;

步骤b2:根据遍历出来的vbd设备的属性表record中的设备编号属性userdevice的编号大小进行排序;

步骤b3:将设备编号最小的vbd设备的设备编号通过setuserdevice接口重新配置为最大设备编号,并且将原设备编号最小的vbd设备的设备编号记录到存储库中。

优选的,包括将指定的iso文件所在的光驱的vbd设备编号更改为最小设备编号的过程:

步骤c1:云管理平台调用xenapi将虚拟机的所有类型为cd的vbd设备进行遍历;

步骤c2:在所遍历的vbd设备中找出所连接的vdi的名称与所指定的iso文件名称相同的vbd设备;

步骤c3:最后通过setuserdevice接口将指定的iso文件所在的光驱的vbd设备编号更改为记录到存储库中的光驱的vbd设备编号。

一种xenserver虚拟机快速更换光盘iso文件的系统,xenserver虚拟机自动发现并载入vbd设备编号最小的光驱,包括快速更换iso文件模块,xenapi通过xml_rpc协议对xenserver虚拟机上的已挂载的光盘iso文件所对应的vbd设备编号重新配置,用于快速更换光盘iso文件;

首先用户在云管理平台调度虚拟机要使用的指定的光盘iso文件;然后将虚拟机的最小编号的光驱的vbd设备编号更改为最大设备编号;然后将指定的iso文件所在的光驱的vbd设备编号更改为最小设备编号;最后虚拟机自动发现指定的光盘iso文件并使用iso文件。

优选的,所述快速更换iso文件模块包括更改vbd设备编号模块,用于将最小设备编号更换为最大设备编号,并将指定的iso文件所在的光驱的vbd设备编号更换为最小设备编号;

更换vbd设备编号模块包括更改为最大设备编号模块和更改为最小设备编号模块;

所述更改为最大设备编号模块包括云管理平台调用xenapi将虚拟机的所有类型为cd的vbd设备进行遍历;然后根据遍历出来的vbd设备的属性表record中的设备编号属性userdevice的编号大小进行排序;最后将设备编号最小的vbd设备的设备编号通过setuserdevice接口重新配置为最大设备编号,并且将原设备编号最小的vbd设备的设备编号记录到存储库中。

优选的,所述更改为最小设备编号模块包括云管理平台调用xenapi将虚拟机的所有类型为cd的vbd设备进行遍历;在所遍历的vbd设备中找出所连接的vdi的名称与所指定的iso文件名称相同的vbd设备;最后通过setuserdevice接口将指定的iso文件所在的光驱的vbd设备编号更改为记录到存储库中的光驱的vbd设备编号。

附图说明

图1是本发明的快速更换光盘iso文件的流程图;

图2是本发明的系统框架图;

图3是本发明的将光驱的vbd最小设备编号更改为最大设备编号的流程图;

图4是本发明的指定的iso文件所在的光驱的vbd设备编号更改为最小设备编号的流程图。

其中:xenserver--思杰基于xen的虚拟化服务器、vm--虚拟机、xenapi--面向编程人员的xenserver编程接口、xml-rpc–-是使用http作为传输协议、vdi–-虚拟磁盘映像、vbd–-虚拟块设备,表示vm和vd之间的连接。

具体实施方式

下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。

本实施例的一种xenserver虚拟机快速更换光盘iso文件的方法,xenserver虚拟机自动发现并载入vbd设备编号最小的光驱,xenapi通过xml_rpc协议对xenserver虚拟机上的已挂载的光盘iso文件所对应的vbd设备编号重新配置,如图1所示,包括快速更换光盘iso文件的过程:

步骤a:用户在云管理平台调度虚拟机要使用的指定的光盘iso文件;

步骤b:将虚拟机的最小编号的光驱的vbd设备编号更改为最大设备编号;

步骤c:将指定的iso文件所在的光驱的vbd设备编号更改为最小设备编号;

步骤d:虚拟机自动发现指定的光盘iso文件并使用iso文件。

vbd有一个设备编号属性,从0到6排序。xenserver虚拟机会自动发现并唯一载入vbd设备编号最小的光驱,其他的光驱将不会被虚拟机发现载入。利用xenserver虚拟机自动发现并载入vbd设备编号最小的光驱这一特征,然后云管理平台通过调用xenserver提供的开发接口xenapi通过xml_rpc协议来实现xenserver虚拟机上的已挂载的光盘iso文件所对应的vbd设备编号;从而实现云计算管理平台的xenserver虚拟机在已经挂载了多个光盘iso文件的情况下需要更换光盘iso文件载入时,不需要重启以及热插拔,虚拟机就能发现指定光盘,使用光盘iso文件。兼容有无安装xenservertools的xenserver虚拟机,从而提高虚拟机使用效率提升云计算管理平台的用户使用体验。

例如:xenserver虚拟机当前挂载有2个光盘iso文件,分别是vbd1的设备编号为1所连接的iso文件名称为a.iso,vbd2的设备编号为2所连接的iso文件名称为b.iso,目前虚拟机所载入的是vbd设备编号最小的a.iso文件。当用户需要使用b.iso的时候,首先将vbd1的设备编号通过xenapi的set_userdevice接口重新配置为7,然后将vbd2的设备编号通过xenapi的set_userdevice接口重新配置为1,最后虚拟机自动发现b.iso文件、载入使用b.iso文件。

优选的,包括将光驱的vbd最小设备编号更改为最大设备编号的过程:

步骤b1:如图3所示,云管理平台调用xenapi将虚拟机的所有类型为cd的vbd设备进行遍历;

步骤b2:根据遍历出来的vbd设备的属性表record中的设备编号属性userdevice的编号大小进行排序;

步骤b3:将设备编号最小的vbd设备的设备编号通过setuserdevice接口重新配置为最大设备编号,并且将原设备编号最小的vbd设备的设备编号记录到存储库中。

优选的,如图4所示,包括将指定的iso文件所在的光驱的vbd设备编号更改为最小设备编号的过程:

步骤c1:云管理平台调用xenapi将虚拟机的所有类型为cd的vbd设备进行遍历;

步骤c2:在所遍历的vbd设备中找出所连接的vdi的名称与所指定的iso文件名称相同的vbd设备;

步骤c3:最后通过setuserdevice接口将指定的iso文件所在的光驱的vbd设备编号更改为记录到存储库中的光驱的vbd设备编号。

一种xenserver虚拟机快速更换光盘iso文件的系统,xenserver虚拟机自动发现并载入vbd设备编号最小的光驱,包括快速更换iso文件模块,xenapi通过xml_rpc协议对xenserver虚拟机上的已挂载的光盘iso文件所对应的vbd设备编号重新配置,用于快速更换光盘iso文件;

如图2所示,首先用户在云管理平台调度虚拟机要使用的指定的光盘iso文件;然后将虚拟机的最小编号的光驱的vbd设备编号更改为最大设备编号;然后将指定的iso文件所在的光驱的vbd设备编号更改为最小设备编号;最后虚拟机自动发现指定的光盘iso文件并使用iso文件。

优选的,所述快速更换iso文件模块包括更改vbd设备编号模块,用于将最小设备编号更换为最大设备编号,并将指定的iso文件所在的光驱的vbd设备编号更换为最小设备编号;

更换vbd设备编号模块包括更改为最大设备编号模块和更改为最小设备编号模块;

所述更改为最大设备编号模块包括云管理平台调用xenapi将虚拟机的所有类型为cd的vbd设备进行遍历;然后根据遍历出来的vbd设备的属性表record中的设备编号属性userdevice的编号大小进行排序;最后将设备编号最小的vbd设备的设备编号通过setuserdevice接口重新配置为最大设备编号,并且将原设备编号最小的vbd设备的设备编号记录到存储库中。

优选的,所述更改为最小设备编号模块包括云管理平台调用xenapi将虚拟机的所有类型为cd的vbd设备进行遍历;在所遍历的vbd设备中找出所连接的vdi的名称与所指定的iso文件名称相同的vbd设备;最后通过setuserdevice接口将指定的iso文件所在的光驱的vbd设备编号更改为记录到存储库中的光驱的vbd设备编号。

以上结合具体实施例描述了本发明的技术原理。这些描述只是为了解释本发明的原理,而不能以任何方式解释为对本发明保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明的其它具体实施方式,这些方式都将落入本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1