一种网络感知的虚拟机镜像存储系统及读写请求处理方法_2

文档序号:8490059阅读:来源:国知局
[0030] 优选的,步骤化4)中的读写请求转发规则具体如下:
[0031] (3. 4. 1)根据网络负载信息分配各个计算节点对应的虚节点个数;网络负载大的 节点分配到较少的虚节点,网络负载小的节点分配到较多的虚节点;
[003引 (3. 4.。判断是否出现可用带宽为零的计算节点,若是,则进入步骤(3.4.1),重 新确定该计算节点对应的虚节点数;若否,则进入步骤化4.3);
[003引 (3. 4.扣根据虚节点信息获取读写请求的目的节点,然后进入步骤化4. 4);
[0034] (3. 4. 4)判断读写请求的源节点与目标节点间的拓扑距离是否大于或等于预先 设定的阔值;若是,则不转发读写请求,并将该目标节点暂时从哈希环中去除,进入步骤 (3. 4. 3),重新获取目标节点;其中,拓扑距离是指读写请求在源节点与目标节点间经过的 交换机跳数;
[003引 (3. 4.W重复步骤化4.扣~化4. 4),直到读写请求的源节点与目标节点间的拓 扑距离小于阔值,进入步骤化4.6);
[0036] (3. 4. 6)将读写请求转发至目的节点。
[0037] 进一步优选的,在树型拓扑结构的数据中屯、,步骤化4. 3)中所述的阔值设定方 法具体为;若某一级中超过半数W上的交换机的可用带宽不足总带宽的80%,则将读写请 求经过该级交换机所需的跳数设定为阔值。
[003引总体而言,通过本发明所构思的W上技术方案与现有技术相比,能够取得下列有 近:效果:
[0039] (1)本发明提供的网络感知的虚拟机镜像存储系统,系统中的请求转发规则根据 当前计算节点的网络负载状况调整,使得网络负载较轻的节点处理更多的虚拟机镜像读写 请求,而负载较重的节点处理较少的请求,从而达到全局网络负载的均衡,避免在虚拟机镜 像存储中产生热点;
[0040] (2)本发明提供的基于网络感知的虚拟机镜像存储系统的读写请求处理方法,可 W使得镜像访问模式随网络状况变化而变化,从而使得全局网络一直维持在较均衡的水 平,从而提高虚拟机的读写性能;
[0041] (3)本发明提供的网络感知的虚拟机镜像存储方法具有良好的可扩展性;系统中 的转发策略可根据当前数据中屯、的网络状况灵活配置,且不仅限于网络状况,也可根据节 点上的CPU,内存或硬盘等使用状况来分配相应的虚节点,改变转发策略后无需修改其他模 块,且不影响整个系统的正常运行;
[0042] (4)本发明提供的网络感知的虚拟机镜像存储系统方法和系统,具有低额外开销 的特点:当系统中的转发策略发生变化时,部分请求的目标节点会发生变化,但由于查询镜 像块时用了请求编号转换表,将基于传统文件偏移量的寻址转换为基于内容的寻址,因此 只要发生变化前后的目标节点中存在相同内容的镜像块,依然可W命中公有缓存;由此大 大提高了系统的缓存命中率,减少了由转发策略随网络变化而带来的额外开销;同时由于 系统限制了请求转发所经过的跳数,不会对网络增加过多的负载。
【附图说明】
[0043] 图1是网络感知的虚拟机镜像存储系统的整体结构图;
[0044] 图2是读写请求处理方法流程的示意图;
[0045] 图3是动态虚拟机镜像寻址方式的示意图;
[0046] 图4是读写请求转发规则制定流程的示意图。
【具体实施方式】
[0047] 为了使本发明的目的、技术方案及优点更加清楚明白,W下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用W解释本发明,并 不用于限定本发明。此外,下面所描述的本发明各个实施方式中所设及到的技术特征只要 彼此之间未构成冲突就可W相互组合。
[0048] 如图1所示,本发明提供的网络感知的虚拟机镜像存储系统,该存储系统基于私 有缓存和公有缓存两级缓存构架,私有缓存为第一级缓存,公有缓存为第二级缓存;该系统 包括私有缓存管理模块、公有缓存管理模块、网络监控模块、决策模块和动态寻址模块;私 有缓存管理模块、公有缓存管理模块、网络监控模块和动态寻址模块位于计算节点;决策模 块位于管理节点;
[0049] 其中,私有缓存管理模块用于管理计算节点中的私有缓存;根据虚拟机发出的读 写请求,对私有缓存进行读写,完成私有缓存中的数据替换;并在私有缓存未命中的情况下 将虚拟机的读写请求传递给动态寻址模块;
[0050] 由于私有缓存模块直接接受虚拟机发出的读写请求,故该模块置于虚拟机管理器 的驱动模块中,采用虚拟机中支持的镜像格式实现,在实施例中采用QCOW2格式;
[0051] 公有缓存模块用于管理计算节点中的公有缓存,根据动态寻址模块转发的虚拟机 发出的读写请求,对公有缓存进行读写,完成公有缓存中的数据块替换;
[0化2] 网络监控模块用于监控各个计算节点上的网络负载,并将网络负载信息发送给决 策模块;
[0化3] 动态寻址模块用于接收未命中私有缓存的读写请求,W及从其他动态寻址模块转 发过来的读写请求,并根据决策模块传来的请求转发规则将读写请求转发到相应的目的节 点中的其他动态寻址模块;在实施例中,动态寻址模块作为一个守护进程实现,请求转发通 过不同节点的进程间套接字通信实现;
[0054] 决策模块用于根据收集到的网络负载信息制定每个计算节点的请求转发规则,并 发送给任意一个计算节点中的动态寻址模块;之后由该动态寻址模块W广播的方式将信息 同步到其余计算节点的动态寻址模块中。
[0化5] 本发明提供的一种基于网络感知的虚拟机镜像存储系统的读写请求处理方法,处 理流程如图2所示,具体如下:
[0化6] (1)虚拟机向存储系统发出读写请求;
[0057] (2)判断请求类型,若为读请求则执行步骤(3),否则执行步骤(4);
[0化引 (3)按照动态的虚拟机镜像寻址方式查询并读取相应数据,并将数据返回至虚拟 机;
[0059] (4)在写入前,判断写请求是否命中私有缓存;若是,则将相应数据写入私有缓 存,并返回成功状态;若否,则执行写时复制(Copy-〇n-Write,COW)操作,按照步骤(3)读取 请求的上下文数据。
[0060] 如图3所示,虚拟机镜像存储方法中步骤(3)所述的动态虚拟机镜像寻址方法如 下:
[0061] (3. 1)根据读写请求中包含的待访问镜像编号与偏移量地址信息,查找当前节点 上的私有缓存;
[0062] 化。判断读写请求是否命中私有缓存,若是,则返回所查询到的数据;若否,贝U 进入步骤化3);
[0063] (3.3)将镜像编号和偏移量信息转换为一个字符串,将该字符串定义为请求编 号;
[0064] (3. 4)将请求编号作为哈希键,采用一致性哈希算法获取该请求对应的目标节点, 根据读写请求转发规则将请求编号转发到目的节点;由于请求转发规则会随当前网络负载 状况变化而变化,因此该步骤实现了网络感知的读写请求处理;
[0065] (3. 5)根据接收到的读写请求与目标节点中的请求编号转换表,将读写请求对应 的请求编号转换为目标镜像块编号;
[0066] 其中,目标镜像块编号是镜像块内容经过MD5哈希运算后产生的值,相同内容的 镜像块具有相同的目标镜像块编号;
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1