一种使用虚拟数据路由器对虚拟储存设备进行访问的方法.pdf

上传人:a3 文档编号:1063809 上传时间:2018-03-29 格式:PDF 页数:10 大小:522.90KB
返回 下载 相关 举报
摘要
申请专利号:

CN200710306368.0

申请日:

2007.12.28

公开号:

CN101470586A

公开日:

2009.07.01

当前法律状态:

撤回

有效性:

无权

法律详情:

发明专利申请公布后的视为撤回IPC(主分类):G06F 3/06公开日:20090701|||实质审查的生效|||公开

IPC分类号:

G06F3/06; H04L29/08

主分类号:

G06F3/06

申请人:

英业达股份有限公司

发明人:

张旭明; 陈玄同; 刘文涵

地址:

台湾省台北市

优先权:

专利代理机构:

北京律诚同业知识产权代理有限公司

代理人:

梁 挥;祁建国

PDF下载: PDF下载
内容摘要

本发明公开了一种使用虚拟数据路由器(Virtual Data Router,简称VDRouter)对虚拟储存设备进行访问的方法,通过利用虚拟数据路由器的数据发送与数据接收的进程的异步性,实现从不同的控制器上通过不同的路径对同一个控制器上的虚拟磁盘设备进行访问,并具有访问效率高及同一时刻下不同路径的数据访问具有一致性的优点。

权利要求书

1、  一种使用虚拟数据路由器对虚拟储存设备进行访问的方法,通过在具有多个控制器的网络储存环境下的所述各控制器中分别设置一虚拟数据路由器,借以实现从不同的控制器上对所述各控制器上的虚拟磁盘设备进行访问,其特征在于,该方法包含以下步骤:
当需要对一虚拟磁盘设备执行数据读写作业时,将数据读写请求发送给一本地控制器的虚拟数据路由器;
该虚拟数据路由器根据预先储存的逻辑设备号和实际的逻辑卷的映像关系判断该虚拟磁盘设备是否位于该本地控制器上;
如果该虚拟磁盘设备位于该本地控制器上,则对该虚拟磁盘设备执行本地设备的数据读写作业,而后将执行结果返回给该虚拟数据路由器;以及
如果该虚拟磁盘设备不位于该本地控制器上,则将待读写数据封装成虚拟数据路由器任务的格式,并将该数据读写任务暂存至一任务队列中,而后发送至该虚拟磁盘设备所在的远程控制器,并由该远程控制器对该虚拟磁盘设备执行数据读写作业,待数据读写作业完成后,该远程控制器将执行结果返回给该本地控制器,该本地控制器根据该执行结果中所携带的信息至该任务队列中查找并取出相对应的该数据读写任务,然后将该数据读写任务的执行结果返回给该虚拟数据路由器。

2、
  根据权利要求1所述的使用虚拟数据路由器对虚拟储存设备进行访问的方法,其特征在于,在将数据读写请求发送给一本地控制器的虚拟数据路由器之前,进一步包含将该数据读写请求进行封装的步骤。

3、
  根据权利要求1所述的使用虚拟数据路由器对虚拟储存设备进行访问的方法,其特征在于,在该任务队列中查找并取出相对应的该数据读写任务之后,进一步包含将该数据读写任务结束的步骤。

4、
  根据权利要求1所述的使用虚拟数据路由器对虚拟储存设备进行访问的方法,其特征在于,所述的多个控制器的数量为两个或多于两个。

说明书

一种使用虚拟数据路由器对虚拟储存设备进行访问的方法
技术领域
本发明涉及一种访问虚拟储存设备的方法,特别是涉及一种使用虚拟数据路由器对虚拟储存设备进行访问的方法。
背景技术
现今,广泛应用于双控制器(Dual Controller)环境下,用以对网络储存设备进行数据储存及读写作业的多路径输入输出(Multi Path InputOutput,简称MPIO)技术通过一条及一条以上的实体链路来访问网络储存设备,并且可以使用容错、流量负载平衡以及细粒度的输入/输出(I/O)调度策略等方式,为网络储存应用提供更高的可用性和性能优势。
多路径输入输出技术要求对磁盘访问路径存在映像备份,且可以通过任意路径对磁盘进行访问,这样当其中一条路径上发生异常情况的时候,仍可以通过另外一条路径对储存设备进行访问,以此保证服务和连接不会中断。
在对磁盘进行访问时,由于所创建的虚拟的逻辑卷管理程序(LogicalVolume Manager,简称LVM)设备只会储存于某一个控制器上,并且可以直接访问,但是如何从另外一个控制器上去访问这个虚拟设备呢?
目前,在公知技术中,是通过利用Linux系统本身所提供的网络桥接块设备(Net Bridge Block Device,简称NBD)来进行远程设备的映像,即通过网络桥接块设备提供的虚拟块设备中间映像的网络路径来对另一个控制器上的虚拟设备进行访问。但是,网络桥接块设备在使用过程中存在很多问题,其中最主要的问题在于:(1)由于其完全采用串行化的方式对远程的磁盘设备进行访问,也就是说,对远程磁盘设备的上一输入/输出(I/O)操作没有结束,绝不会对下一输入/输出操作加以执行,因此,使用网络桥接块设备进行访问的效率很低。(2)由于网络桥接块设备端本身存在一个系统高速缓存(Cache),其使用会导致同一时刻从网络桥接块设备端与实际设备所在端所获取的数据的不一致性,也就是说,会导致同一时刻从网络桥接块设备端(即虚拟的镜像设备所在端)所读取的数据与从实际设备所在端所读取得数据出现不一致的现象。
发明内容
本发明的目的在于提供一种使用虚拟数据路由器对虚拟储存设备进行访问的方法,通过利用虚拟数据路由器的数据发送与数据接收的进程的异步性,实现从不同的控制器上通过不同的路径对同一个控制器上的虚拟磁盘设备进行访问,以解决上述公知技术中存在的问题。
为了实现上述目的,本发明提供了一种使用虚拟数据路由器对虚拟储存设备进行访问的方法,通过在具有多个控制器的网络储存环境下的各控制器中分别设置一个虚拟数据路由器,借以实现从不同的控制器上对各控制器上的虚拟磁盘设备进行访问,该方法包含以下步骤:
当需要对一个虚拟磁盘设备执行数据读写作业时,将数据读写请求进行封装后发送给一个本地控制器的虚拟数据路由器;此虚拟数据路由器根据预先储存的逻辑设备号(Logical Unit Number,简称LUN)和实际的逻辑卷(LogicalVolume,简称LV)的映像关系判断此虚拟磁盘设备是否位于本地控制器上;如果虚拟磁盘设备位于本地控制器上,则对此虚拟磁盘设备执行本地设备的数据读写作业,而后将执行结果返回给虚拟数据路由器;以及如果虚拟磁盘设备不位于本地控制器上,则将待读写数据封装成虚拟数据路由器任务的格式,并将此数据读写任务暂存至一任务队列中,而后发送至此虚拟磁盘设备所在的远程控制器,并由远程控制器对此虚拟磁盘设备执行数据读写作业,待数据读写作业完成后,远程控制器将执行结果返回给本地控制器,本地控制器根据执行结果中所携带的相关信息至上述任务队列中查找、取出并结束相对应的数据读写任务,然后将数据读写任务的执行结果返回给虚拟数据路由器。
综上所述,本发明的优点在于:本发明所提供的一种使用虚拟数据路由器对虚拟储存设备进行访问的方法,通过利用虚拟数据路由器的数据发送与数据接收的进程的异步性,实现了从不同的控制器上通过不同的路径对同一个控制器上的虚拟磁盘设备进行访问。由于本发明的方法中所采用的映射机制不再是公知技术中的设备对设备的映像,而只是逻辑设备号(LUN)的逻辑关系的映像,其可从远程将符合某一设备的访问请求进行封装之后,发送到设备所在端,然后对此设备执行读写作业,并将数据的发送和接收分离至不同的进程内进行,即上述发明内容中所描述的发送数据读写请求与接收数据读写作业的执行结果会在不同的进程中执行,这是一种完全的异步化进程,因而避免了公知技术中由于采用串行化的方式对远程的磁盘设备进行访问所造成的数据接收会导致数据发送阻塞的问题,而且不必在一个较慢的输入/输出(I/O)操作没有结束时,进行长时间的等待,同时可通过远程对作业指令的适当优化,合理地将多个连续的小数据输入/输出包合并成一个大数据输入/输出包进行发送,因此,减少了频繁的网络数据传输作业,有效提高了网络资源的利用率,保证了应用程序的数据读写的非阻塞并发访问,且极大地提升了访问效率。同时,由于本发明的方法中对虚拟磁盘设备的实际数据读写均发生在设备所在端,其仅使用一个相同的系统高速缓存(Cache),因此,可以很容易地实现并保证同一时刻下的不同路径的数据访问的一致性。此外,由于本发明的方法中所使用的虚拟数据路由器,其自身只存在一个作业进程,因此,可以减少公知技术中由于频繁的进程切换所造成的系统资源消耗。
下面结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1为本发明的一种使用虚拟数据路由器对虚拟储存设备进行访问的方法所运行的系统实施例的系统方块图;以及
图2为本发明的一种使用虚拟数据路由器对虚拟储存设备进行访问的方法的方法流程图。
其中,附图标记:
10   第一控制器
20   第二控制器
30   虚拟数据路由器
40   虚拟数据路由器伺服端模块
50   虚拟数据路由器客户端模块
60   逻辑卷
实施方式
以下,将结合图式部分对本发明的较佳实施方式作详细说明。
请参考图1,图中表示了本发明的一种使用虚拟数据路由器对虚拟储存设备进行访问的方法所运行的系统实施例的系统方块图。如图1所示,本发明的方法所运行的此系统实施例,通过在具有第一控制器10及第二控制器20的双控制器(Dual Controller)网络储存环境下的各控制器中分别设置一个虚拟数据路由器30,借以实现从不同的控制器上对各控制器上的虚拟磁盘设备进行访问,其中,需要特别说明的是:虚拟数据路由器(Virtual Data Router,简称VD Router)是实现多路径输入输出(MPIO)的路径备份技术的一个不可缺少的重要组成部分,通过虚拟数据路由器(VD Router),能够实现从不同的储存控制器(Storage Control ler)上同时访问某一个控制器上的虚拟磁盘设备。
在图1所示的双控制器环境下,第一控制器10及第二控制器20中还分别配设有虚拟数据路由器伺服端(VD Router-Server)模块40与虚拟数据路由器客户端(VD Router-Client)模块50,其中,虚拟数据路由器伺服端模块40用以在实际设备所在端实现虚拟数据路由器伺服进程,此进程的主要任务为接收远程虚拟数据路由器客户端模块50发送的数据以及将数据读写作业的执行结果响应(Response)给远程的虚拟数据路由器客户端模块50。而虚拟数据路由器伺服端模块40主要负责发送数据。
假设当需要对一虚拟磁盘设备执行数据读写作业时,上层将数据读写请求进行封装后发送给第一控制器10的虚拟数据路由器30后,虚拟数据路由器30根据预先储存的逻辑设备号(Logical Unit Number,简称LUN)和实际的逻辑卷(Logical Volume,简称LV)的映像关系判断此虚拟磁盘设备是否位于第一控制器10本地之上。
如果此虚拟磁盘设备位于第一控制器10本地上,则通过其本地的虚拟数据路由器客户端模块50将数据发送至逻辑卷60,以对虚拟磁盘设备执行本地设备的数据读写作业,而后将执行结果返回给虚拟数据路由器30,然后并可向上层回报。
如果此虚拟磁盘设备没有位于第一控制器10本地上而是位于远程的第二控制器20上,则将待读写数据封装成虚拟数据路由器任务(VD Router Task)的格式,并将此数据读写任务暂存至一任务队列中,而后通过第一控制器10本地上的虚拟数据路由器客户端模块50将数据发送给此虚拟磁盘设备所在的远程第二控制器20上的虚拟数据路由器伺服端模块40,并由此虚拟数据路由器伺服端模块40将数据发送至其逻辑卷60,以对此虚拟磁盘设备执行数据读写作业,待数据读写作业完成后,虚拟数据路由器伺服端模块40将执行结果(成功或失败)返回给第一控制器10上的虚拟数据路由器客户端模块50,此虚拟数据路由器客户端模块50根据执行结果中所携带的相关信息至上述的任务队列中查找、取出并结束相对应的数据读写任务,然后将数据读写任务的执行结果返回给虚拟数据路由器30,然后并可向上层回报。
另外,本发明的方法所运行的系统并不仅限于图1所示的双控制器的系统架构,也可实现在具有更多控制器的系统架构中。对于具有更多控制器的系统架构,从其布署上来看与上述双控制器的系统架构并无实质性的差异,只是每个控制器都需要储存一份设备映像表和执行一个虚拟数据路由器伺服进程,以用来处理多个虚拟数据路由器请求(VD Router Request),每个控制器在产生虚拟数据路由器请求时,将会根据设备映射表来判定设备所处的控制器,进而向对应的控制器发送请求,而当需要返回执行结果时,将会根据上述请求所携带的发送该请求的控制器的相关信息来确定将执行结果回送给哪个控制器。
现在请参考图2,此图为本发明的一种使用虚拟数据路由器对虚拟储存设备进行访问的方法的方法流程图,如图所示,本发明所提供的一种使用虚拟数据路由器对虚拟储存设备进行访问的方法,是通过在具有多个(为两个或多于两个)控制器的网络储存环境下的各控制器中分别设置一个虚拟数据路由器,借以实现从不同的控制器上对各控制器上的虚拟磁盘设备进行访问,该方法包含以下步骤:
当需要对一个虚拟磁盘设备执行数据读写作业时,将数据读写请求进行封装后发送给一个本地控制器的虚拟数据路由器(步骤100);
此虚拟数据路由器根据预先储存的逻辑设备号(Logical Unit Number,简称LUN)和实际的逻辑卷(Logical Volume,简称LV)的映像关系判断此虚拟磁盘设备是否位于本地控制器上(步骤200);
如果虚拟磁盘设备位于本地控制器上,则对此虚拟磁盘设备执行本地设备的数据读写作业(步骤300),而后,将执行结果返回给虚拟数据路由器,并可向上层回报(步骤400);以及
如果虚拟磁盘设备不位于本地控制器上,则将待读写数据封装成虚拟数据路由器任务的格式,并将此数据读写任务暂存至一任务队列中(步骤500),而后发送至此虚拟磁盘设备所在的远程控制器(步骤600),并由远程控制器对此虚拟磁盘设备执行数据读写作业(步骤700),待数据读写作业完成后,远程控制器将执行结果返回给本地控制器(步骤800),本地控制器根据执行结果中所携带的相关信息至上述任务队列中查找、取出并结束相对应的数据读写任务(步骤900),然后,将数据读写任务的执行结果返回给虚拟数据路由器,并可向上层回报(步骤400)。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

一种使用虚拟数据路由器对虚拟储存设备进行访问的方法.pdf_第1页
第1页 / 共10页
一种使用虚拟数据路由器对虚拟储存设备进行访问的方法.pdf_第2页
第2页 / 共10页
一种使用虚拟数据路由器对虚拟储存设备进行访问的方法.pdf_第3页
第3页 / 共10页
点击查看更多>>
资源描述

《一种使用虚拟数据路由器对虚拟储存设备进行访问的方法.pdf》由会员分享,可在线阅读,更多相关《一种使用虚拟数据路由器对虚拟储存设备进行访问的方法.pdf(10页珍藏版)》请在专利查询网上搜索。

本发明公开了一种使用虚拟数据路由器(Virtual Data Router,简称VDRouter)对虚拟储存设备进行访问的方法,通过利用虚拟数据路由器的数据发送与数据接收的进程的异步性,实现从不同的控制器上通过不同的路径对同一个控制器上的虚拟磁盘设备进行访问,并具有访问效率高及同一时刻下不同路径的数据访问具有一致性的优点。 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1