[发明专利]一种基于虚拟化的高可用系统设计方法有效

专利信息
申请号: 201410259847.1 申请日: 2014-06-12
公开(公告)号: CN103996004B 公开(公告)日: 2018-09-04
发明(设计)人: 刘璧怡;宋立伟;何志平;周雄;吴楠 申请(专利权)人: 浪潮电子信息产业股份有限公司
主分类号: G06F21/55 分类号: G06F21/55
代理公司: 济南信达专利事务所有限公司 37100 代理人: 姜明
地址: 250101 山东*** 国省代码: 山东;37
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 虚拟 可用 系统 设计 方法
【权利要求书】:

1.一种基于虚拟化的高可用系统设计方法,其特征在于,基于虚拟化的高可用技术,实现内核关键数据结构的保护策略,依赖于影子页表管理机制和超调用机制,以及异常处理逻辑保证正确有效执行;通过客户机获得内核关键数据的地址和域信息,扩展VMCALL异常处理方式,设计超调用机制,客户机通过超调用机制与宿主机交换数据;客户机信息通过VMCALL注入到内核后,由VMCALL扩充的调用机制来获得信息和信息设置,获得对应的客户机内核数据结构的影子页表;并设置对应影子页表的写保护权限,扩充缺页异常处理程序;

所述超调用机制的具体流程为:

首先读取idtr获得中断向量表地址,并计算Ox80对应系统调用中断门,通过中断门获得系统调用处理函数总入口;然后扫描系统调用函数,获得call指令对应的参数,即系统调用表地址,最后通过VMCALL注入地址信息和域长信息;

所述影子页表管理机制的具体流程为:

步骤1、通过超调用传入系统调用表地址addr;

步骤2、读取客户机状态域的CR3页表寄存器,存入页表地址base,并读取客户机页表层级lever;

步骤3、根据lever和addr计算addr对应客户机页表项的偏移offset,根据base和offset得到页面项pte;

步骤4、若lever=1,则通过pte或者客户机页gfn,读取客户机影子页的lever层级rlever,并读取影子页表页目录指针;

步骤5、根据rlever和addr计算偏移量soffset spte;

步骤6、若rlever=1,则设置spte项写保护,进而记录客户机页帧,影子页spte以及主机页pfn信息,并记录设置的域长;

步骤7、若rlever=2且为大页面,则设置spte项写保护,进而记录客户机页帧,影子页spte以及主机页pfn信息,并记录设置的域长;否则,rlever非步骤6、步骤7中的情形,对于rlever--,设置base为spte指向的内容,并且返回步骤5进行执行;

步骤8、若lever=2且为大页面,则通过pte或者客户机页gfn,读取客户机影子页的lever层级rlever,并读取影子页表页目录指针;进行步骤5到步骤7的执行;

步骤9、lever非步骤4、步骤8中的情形,对于rlever--,则设置base为pte指向内容;并返回步骤3进行执行;

所述基于虚拟化的高可用系统设计方法提出了一种高可用系统,该系统基于虚拟化技术,利用客户机的降权执行和资源管理手段,对内核关键数据结构进行保护。

2.根据权利要求1所述的基于虚拟化的高可用系统设计方法,其特征在于,所述高可用系统为基于客户机异常处理的高可用系统,其整体系统框架由用户操作模块和内核模块两类模块组成,所述内核模块又包含初始化模块、可用性处理模块、注册库、异常处理模块、日志记录模块及扩充的KVM异常处理模块;其中,

1)用户操作模块:获取客户机的基本信息,提供日志记录查询接口,获取可用性机制信息,提供可用性设置接口;

2)内核模块部分:包含六个部分:初始化模块、可用性处理模块、注册库、异常处理模块、日志记录模块以及扩充的KVM异常处理模块;其中,

a)初始化模块:通过标准ioctl提供用户接口,接受用户传递的参数并进行有效性检查,根据处理参数从注册库中找到相关处理机制的初始化函数地址,调用该函数进行初始化处理过程;

b)可用性处理模块:为了提高客户机内核高可用而引入的处理逻辑,每一个可用性处理模块包含三个基本函数:一个是初始化函数,一个为异常处理函数,一个是清理函数;初始化函数在用户配置客户机高可用机制后调用,用于初始化客户机相关信息;异常处理函数用在客户机发生指定异常时,进行处理的调用函数;清理函数用于用户撤销虚拟机的可用性设计后,调用的清理操作;

c)注册库:保存各个处理模块通过register__ava_process()函数注册模块的信息;包括初始化函数地址,处理函数地址、名称、以及描述信息;

d)异常处理模块:调用处理逻辑的统一入口,根据调用参数从注册库中找到相关处理机制的处理函数地址,调用该处理函数进行异常处理化过程;

e)日志记录模块:记录运行过程中的异常发生及处理的信息;

f)扩充的KVM异常处理模块:扩充的KVM异常处理模块作为客户机引起异常退出VMX执行环境的统一出口,根据异常条件执行相关的处理逻辑;扩充的KVM异常处理模块,用于引入可用性处理模块后处理逻辑的扩充。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮电子信息产业股份有限公司,未经浪潮电子信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201410259847.1/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top