虚拟磁盘路由器系统、虚拟磁盘访问系统及方法

文档序号:6564173阅读:204来源:国知局
专利名称:虚拟磁盘路由器系统、虚拟磁盘访问系统及方法
技术领域
本发明涉及虚拟磁盘访问方法,特别涉及双控制器系统中虚拟磁盘 的访问系统及方法。
背景技术
目前在单控制器系统中,所有的物理磁盘都从属于唯一的控制器,控制器可通过冗余磁盘阵列(RAID, Redundant Arrays of Independent Disks)及逻辑巻管理(LVM, Logical Volume Management)建立出虚拟 磁盘(VD, Virtual Disk),以提供给系统使用或作为文件传输协议(FTP, File Transfer Protocol)、服务器信息块(Server Message Block, SMB)等客户应用的共享磁盘使用。
然而在双控制器系统中,所有的物理磁盘均为交互连接,即同时分 别连接在系统的两个控制器上。仅就这些硬件磁盘而言,其并非从属于 某一个特定的控制器,每个控制器均可以通过各自的冗余磁盘阵列及逻 辑巻管理对物理磁盘进行操作,以建立出虚拟磁盘。
但是,与单控制器系统中虚拟磁盘不同的是,双控制器中虚拟磁盘只从属于建立它的控制器,而相对另一控制器而言是不可见的。这是w 为在双控制器系统中,每个控制器都可认为是一个相对独立的子系统, 各子系统中的冗余磁盘阵列和逻辑巻管理都是独立的,与其他子系统不 相关。由它们分别在各自子系统建立的虚拟磁盘当然也只能在各自子系 统中可见,而对对方的子系统而言,这些虚拟磁盘自然是不可见的。
因此在双控制器系统中,各个控制器无法直接操作其它控制器内的 虚拟磁盘,这种限制给用户带来不便,进而产生数据共享上的影响,降 低了系统的可用性。

发明内容
为了解决上述现有技术中的问题与缺陷,本发明目的在于提供 种 虚拟磁盘路由器系统,以实现本端控制器应用程序对远端控制器的虚拟 磁盘的访问请求处理。
本发明另一目的在于提供一种能够实现双控制器系统的虚拟磁盘访 问系统及方法,以实现任意一个控制器均可通过直接或间接访问的方式 通盘访问所有双控制器系统内的虚拟磁盘。
为了达到上述目的,本发明公开了一种虚拟磁盘路由器系统,其应 用于包含第一控制器与第二控制器的双控制器系统中,且该虚拟磁盘路 由器系统设置在第一控制器中,并包含虚拟块设备管理模块、映射表管 理模块以及通信管理模块。其中,虚拟块设备管理模块用于在第一控制 器中建立与第二控制器中虚拟磁盘对应的映射虚拟块设备,以及处理向 第一控制器提出的对虚拟磁盘的访问请求。映射表管理模块用于建立第 二控制器中虚拟磁盘与其对应虚拟块设备的映射关系列表,并根据向第 一控制器提出的虚拟磁盘访问请求,在映射关系列表中査找虚拟磁盘及 其对应映射虚拟块设备。通信管理模块用于建立第二控制器中虚拟磁盘 与其对应映射虚拟块设备之间的数据传输通道。
本发明还公开了 一种虚拟磁盘访问系统,其应用于包含第 - 控制器 与第二控制器的双控制器系统中,且该虚拟磁盘访问系统包含第一虚 拟磁盘路由器,设置在第一控制器中,用于判断向第一控制器提出访问 请求的虚拟磁盘位置,以选择对应的传输通道来传输访问请求至虚拟磁 盘及传输自虚拟磁盘获得的访问请求应答数据;以及第二虚拟磁盘路由器,设置在第二控制器中,用于判断向第二控制器提出访问请求的虚拟 磁盘位置,以选择对应的传输通道来传输访问请求至虚拟磁盘及传输q 虚拟磁盘获得的访问请求应答数据。
对于上述本发明虚拟磁盘访问系统,所述第一虚拟磁盘路由器包含有第一虚拟块设备管理模块、第一映射表管理模块及第一通信管理模 块。其中,第一虚拟块设备管理模块在第一控制器中建立与第二控制器 中虚拟磁盘对应的映射虚拟块设备,第一映射表管理模块建立第二控制器中虚拟磁盘与其对应虚拟块设备的映射关系列表,并根据向第一控制 器提出的虛拟磁盘访问请求,在映射关系列表中査找虛拟磁盘及其对应 映射虚拟块设备。第一通信管理模块则用于建立第二控制器中虚拟磁盘 与其对应映射虚拟块设备之间的数据传输通道。此外,第二虚拟磁盘路 由器包含有第二虚拟块设备管理模块、第二映射表管理模块及第二通 信管理模块。其中,第二虚拟块设备管理模块在第二控制器中建立与第 一控制器中虚拟磁盘对应的映射虚拟块设备,第二映射表管理模块建立 第一控制器中虚拟磁盘与其对应虚拟块设备的映射关系列表,并根据向 第二控制器提出的虚拟磁盘访问请求,在映射关系列表中査找虚拟磁盘 及其对应映射虚拟块设备,第二通信管理模块用于建立第一控制器中虚 拟磁盘与其对应映射虚拟块设备之间的数据传输通道。
此外,本发明还提供一种虚拟磁盘访问方法,应用于包含第一控制 器与第二控制器的双控制器系统中,该方法包含以下步骤在第一控制 器及/或第二控制器中建立第二控制器及/或第一控制器中虚拟磁盘的对 应映射虚拟块设备;建立第二控制器及/或第一控制器中虚拟磁盘与其对 应虚拟块设备的映射关系列表;根据向第一控制器/第二控制器提出的虚 拟磁盘访问请求,在映射关系列表中査找虚拟磁盘及其对应映射虚拟块 设备,以判断虚拟磁盘的位置;以及当向第一控制器/第二控制器提出访 问请求的虚拟磁盘位于第二控制器/第一控制器时,建立虚拟磁盘与其对 应映射虚拟块设备之间的数据传输通道。
本发明虚拟磁盘路由器系统通过在本端控制器中建立远端控制器中 虚拟磁盘对应的映射虚拟块设备及其映射关系列表,以及建立两者之间 的数据传输通道,进而能够实现本端控制器对远端控制器中虚拟磁盘的 访问请求。
此外,本发明应用于双控制器系统的虚拟磁盘访问系统,其通过在 双控制器系统的各子系统中分别设置虚拟磁盘路由器,使得任意一个控 制器均能直接或间接地访问系统内部的所有虚拟磁盘,进而使得用户能 够实现双控制器系统中虚拟磁盘的通盘访问而无须关心其访问的虚拟磁 盘位于哪个子系统内。
本发明应用于双控制器系统的虚拟磁盘访问方法,其在两个子系统 中分别建立其虚拟磁盘的映射虚拟块设备及其映射关系列表,以及两者 之间的数据传输通道,因而能够实现双控制器系统内虚拟磁盘的通盘访 问,进而提高了系统的可用性及磁盘访问的灵活性。


图1为本发明虚拟磁盘访问系统的系统结构方框图2为本发明虚拟磁盘访问系统中映射虚拟块设备建立的工作原理图3为第一控制器与第二控制器中虚拟磁盘与其映射虚拟块设备的对应关系图4为本发明虚拟磁盘访问系统中虚拟磁盘访问的工作原理图5为本发明虚拟磁盘访问方法的流程图6为本发明虚拟磁盘访问方法中虚拟磁盘访问请求处理流程图7为本发明虚拟磁盘访问方法中映射虚拟块设备数据传输流程图。
具体实施例方式
有关本发明的技术特征及具体实施,将参照附图进行详细说明如下。 图1示出了本发明虚拟磁盘访问系统的系统结构方框图,该虚拟磁 盘访问系统应用在双控制器系统10中。由于双控制器系统10的第一控 制器100及第二控制器200都可对硬盘300操作,以在其内部建立虚拟 磁盘。由于这些虚拟磁盘对于其它控制器子系统是不可见的,因此相比 现有技术中双控制器系统,本发明引入丫一个新的功能模块,即虚拟磁 盘路由器模块。这样,虚拟磁盘路由器模块用于判断应用程序所要访问 的虚拟磁盘处于哪个子控制器系统中,并选择合适的路径将应用程序的 数据传输至目的虚拟磁盘或者从目的虚拟磁盘获得应用程序需要的数据 并返回给应用程序,以此为位于不同控制器中的应用程序和虚拟磁盘提 供数据定向和传输的服务,进而实现双控制器系统IO中各个子系统内部 虚拟磁盘的通盘访问。
如图1所示,双控制器系统10的第一控制器100与第二控制器200 中可分别包含有第一虚拟磁盘路由器模块102及第二虚拟磁盘路由器模块202。下面将结合图1,详细说明虚拟磁盘路由器模块包含的各个模块。
从图1可知,第一虚拟磁盘路由器模块102包含第--虚拟块设备管 理模块108、第一映射表管理模块104及第一通信管理模块106。其中第 一虚拟块设备管理模块108主要负责建立虚拟块设备以及处理对虚拟块 设备的读写请求等,即在第一控制器100中建立与第二控制器200的访 问请求虚拟磁盘210对应的映射虚拟块设备112。第一映射表管理模块 104主要负责维护及管理第一控制器100内虚拟块设备与虚拟磁盘的映 射关系。第一通信管理模块106则负责外部与第一虚拟磁盘路由器模块 102的通信、第一虚拟磁盘路由器模块102内部调度及第一控制器100 与第二控制器200之间的数据传输等。关于上述各个模块的具体功能原 理将在下文中详细说明。
同样地,第二控制器200的第二虚拟磁盘路由器模块202也包含有 第二虚拟块设备管理模块208、第二映射表管理模块204及第二通信管理 模块206,其分别具有与第一虚拟块设备管理模块108等对应模块类似的 功能及结构,这里不再赘述。
由图1所述的系统结构图可知,第一虚拟磁盘路由器模块102及第 二虚拟磁盘路由器模块202分别置于其系统内部中虚拟磁盘的上层,避 免应用程序对虚拟磁盘的直接访问,进而由对应虚拟磁盘路由器模块管 理虚拟磁盘的映射虚拟块设备,并处理应用程序对虚拟块设备的读写等 操作请求。
下面结合图2对虚拟磁盘、虚拟块设备及其映射关系的建立进行说 明,图2为本发明虚拟磁盘访问系统中映射虚拟块设备建立的工作原理 图。由于第二虚拟块设备管理模块208的功能类似于第一虚拟块设备管 理模块108,因此在此实施例中,仅结合虚拟磁盘110的映射虚拟块设备 建立对本发明应用于双控制器的虚拟块设备建立作出说明。
在本实施例中,第一控制器100在操作硬盘300建立虚拟磁盘110 之后,将对应的建立信息发送至第一虚拟磁盘路由器模块102,其中第一 通信管理模块106接收该建立信息并通知给第一映射表管理模块104,第 --映射表管理模块104在建立反映虚拟磁盘与其映射虚拟块设备的第一 映射关系列表。因此,第一映射表管理模块104增加对应虚拟磁盘110
的一个表项在此第一映射关系列表中。这里组成映射关系列表每一表项
的结构主要包括a)虚拟磁盘识别码(VD—ID, Virtual Disk Identifier),
用来标识一一对应映射关系中的虚拟磁盘;b)虚拟块设备识别码
(VBD—ID, Virtual Block Device Identifier),用来标识---------对应映射关
系中的虚拟块设备;c)标记(Flag),用来标识 一对应映射关系中虚 拟磁盘位于哪个控制器子系统内,例如用1表示本端控制器,2表示远端 控制器。
其中虚拟磁盘识别码(VD—ID)在整个双控制器系统10内具有唯一 性。也就是说,假设第一控制器100中存在虚拟磁盘的虚拟磁盘识别码 为VDOOl,则在第二控制器200将不会再有虚拟磁盘识别码为VD001的 虚拟磁盘。然而,虚拟块设备识别码(VBD_ID)则不存在上述唯一性的 限制。
在本实施例中,第一映射表管理模块104设置虚拟磁盘110对应映 射关系表项的标记为1,表示虚拟磁盘IIO位于本端第一控制器100中。 然后通过任意算法随机得到虚拟块设备识别码,作为虚拟磁盘110对应 映射关系表项中映射虚拟块设备212的识别码,并保存此映射关系表项。 其中虚拟块设备识别码的选取算法有很多,例如建立…个识别码池, 每次从该识别码池中随机选取一个识别码,用完后归还;或者建立一个 识别码队列,每次从队列头选取一个识别码,用完后放到队列尾等。总 之,各种公知技术方案均可被使用于此,本发明对此不加以限定亦不再 赘述。第一映射表管理模块104在完成上述操作后通知第一通信管理模 块106,并将该映射关系表项发送至第一通信管理模块106。
第 一通信管理模块106为虚拟磁盘110发起-个由其虚拟磁盘识别 码唯一标识的专用传输通道用于传输数据,等待第二控制器200的第二 通信管理模块206应答,然后将就绪信息以及在第一映射关系列表中添 加的虚拟磁盘110的对应映射关系表项返回至第一控制器100。第一控制 器100收到该返回信息后,传输关于虚拟磁盘110建立的相关信息至第 二控制器200。
在第二控制器200中,第二通信管理模块206接收信息并通知第二 映射表模块204,以添加虚拟磁盘110的对应映射关系表项至其建立的第二映射关系列表中,同时将该表项的标记设置为2后保存。第二通信管理模块204然后通知第二虚拟块设备管理模块208建立与虚拟磁盘110 对应的映射虚拟块设备212,并设定虚拟块设备212的识别码。这时,第 二通信管理模块206应答第一通信管理模块106为虚拟磁盘110发起的 专用传输通道,并完成专用传输通道的建立。
这样,虚拟磁盘与其映射虚拟块设备的建立工作就完成了,并且在 映射关系列表中对其映射关系进行了保存。虚拟块设备212则成为虚拟 磁盘在第二控制器200子系统内的映射。
关于在第二控制器200内部建立第一控制器100中其它虚拟磁盘的 映射虚拟块设备,或者在第一控制器100中建立第二控制器200中虚拟 磁盘的映射虚拟块设备,均可根据上文描述过程实现,这里不再详细说 明。第一控制器100与第二控制器200中虚拟磁盘与其映射虚拟块设备 的对应关系则可如图3所示。
每当双控制器系统10内有新的虚拟磁盘建立时,两端的映射表管理 模块104、 204都会在各自维护的映射关系列表中增加新的表项。同样, 每当双控制器系统10内有虚拟磁盘被删除时,两端的映射表管理模块 104、 204也都会将各自维护的映射关系列表中删除对应的表项。删除操 作的流程类似于建立,只是先删除虚拟块设备的设备节点,关闭专用传 输通道,删除映射关系列表中的对应表项,然后再删除虚拟磁盘;并且, 在删除过程中释放所有用到的资源,这里将不赘述。对于存在的每一个 映射关系,两个控制器子系统100及200内的映射关系列表各自都有相 应的映射关系表项,只是表项的标记不同,其中一个表示本端控制器, 另一个表示远端控制器,其它识别码均完全相同。
下面将结合图4对应用程序访问双控制器系统内任意子控制器系统 中虚拟磁盘的原理作出说明,其中图4为本发明虚拟磁盘访问系统中虚 拟磁盘访问实施例之一的工作原理图,此实施例对应用程序20通过第二 控制器200访问第 一控制器100中虚拟磁盘110的过程作出说明。需要 指出的是,此实施例仅用于阐明本发明双控制器系统中任意子控制器系 统的虚拟磁盘访问原理,本发明并不局限于本实施例。
如图4所示,当用户端应用程序20向第二控制器200提出访问虚拟
磁盘110的请求时,第二虚拟磁盘路由器模块202中第二通信管理模块206则接收该访问请求,并转发该请求至第二虚映射表管理模块204。第 二映射表管理模块204根据请求査询第二映射关系列表,査看映射关系 列表中每个表项的虚拟磁盘识别码,以判断是否存在与被请求虚拟磁盘 识别码相同的表项。若没有则返回请求失败;否则,再査看此表项的标 记,若标记表示被请求的虚拟磁盘位于本端控制器,则直接返回该虚拟 磁盘的设备识别码至第二通信管理模块206,以返回给应用程序20操作。 若标记表示被请求虚拟磁盘位于远端控制器,第二映射表管理模块204 则将该表项中虚拟块设备识别码所对应虚拟块设备的设备识别码返回给 第二通信管理模块206,以返回给应用程序20。
根据本实施例,由于访问虚拟磁盘IIO为远端的,因此应用程序20 将收到虚拟块设备212的设备识别码。虚拟块设备212只是虚拟映射, 而并不是本端控制器中实际存在的设备,且应用程序20对虚拟磁盘110 的访问操作请求过程如下文所述。
应用程序20对虚拟磁盘110的映射虚拟块设备212进行读写等操作 时,第二虚拟块设备管理模块208从虚拟块设备212的缓冲区中收集上 述操作请求,并封装收集到的操作请求为一数据包以发送给第二通信管 理模块206处理。第二通信管理模块206通过建立的数据传输通道发送 该数据包至第一控制器100中第一通信管理模块106。第 一通信管理模块 106接收该数据包并发送给第一虚拟块设备管理模块108,第一虚拟块设 备管理模块108解开该数据包,并将相应的操作应用于实际虚拟磁盘 110。虚拟磁盘IIO返回操作结果至第一虚拟块设备管理模块108,并将 该操作结果再次封装为数据包。然后,通过第一通信管理模块106及第 二通信管理模块206发送该操作结果数据包至第二虚拟块设备管理模块 208,由其解开该数据包并返回至虚拟块设备212的缓冲区中。最后,应 用程序20自虚拟块设备212的缓冲区读取对虚拟磁盘IIO的操作结果, 这样就实现了应用程序20对远端控制器中虚拟磁盘的访问请求。
若应用程序20访问本端也即第二控制器200中虚拟磁盘,则接收到 实际虚拟磁盘的识别码,并因此可直接操作该实际设备。这里,无论是 虚拟磁盘还是虚拟块设备,第二虚拟路由器模块202均会返回给应用程
序20 一个设备识别码去操作。而对于应用程序20而言,它所操作的只 是一个设备识别码,而并不需要获知其操作的究竟是本端虚拟磁盘还是 代表远端虚拟磁盘的虚拟块设备,也就是说虚拟磁盘对应用程序而言已 经具有通盘性。
下面将结合图5、图6、及图7对本发明虚拟磁盘访问方法作出详细 说明。
图5为本发明虚拟磁盘访问方法的整体步骤流程图。如图5所示, 首先在双控制器系统的各子控制系统中,建立本端/远端控制器中虚拟磁 盘在远端/本端控制器中与其对应的映射虚拟块设备402。然后,根据建 立的虚拟块设备,建立各控制器中虚拟磁盘与其对应虚拟块设备的映射 关系列表404。其中映射关系列表的结构包含虚拟磁盘识别码、虚拟块设 备识别码以及标记,虚拟磁盘识别码用于标识映射关系列表中的虚拟磁 盘,虚拟块设备识别码用于标识映射关系列表中的映射虚拟块设备,标 记用于标识虚拟磁盘的位置,即虚拟磁盘位于本端控制器中还是远端控 制器中。
当用户端应用程序通过本端控制器提出虚拟磁盘的访问请求时,根 据该访问请求在上述建立的映射关系列表中査找该虚拟磁盘的设备识别 码406。然后,根据该识别码判断被请求访问的虚拟磁盘是否存在于当前 控制器中408。该判断步骤的具体操作详见图6,如图6所示,收到应用 程序的虚拟磁盘访问请求502,査询映射关系列表504,首先根据请求虚 拟磁盘识别码判断映射关系列表中是否存在被请求虚拟磁盘的对应表项 506。若不存在,则返回请求失败508;否则,检査该表项的标记,这里 可设定标记为1表示虚拟磁盘为本端设备,标记为2表示其为远端设备, 当然标记的设定并不局限于此种方式。根据本实施例,通过标记若判定 磁盘位于本端控制器512,则返回虚拟磁盘的设备识别码514;否则判定 虚拟磁盘为远端设备516,则返回虚拟块设备的设备识别码518。
根据上述虚拟磁盘位置判断步骤,若虚拟磁盘位于本端控制器中, 则返回虚拟磁盘识别码,应用程序直接操作虚拟磁盘410;否则,表示待 访问的虚拟磁盘位于远端控制器,则建立虚拟磁盘与当前控制器中其对 应映射虚拟块设备的数据传输通道412,并通过该数据传输通道传输访问请求至远端控制器414。然后,返回虚拟块设备的识别码以应答本端控制 器的应用程序访问请求416。
关于访问远端虚拟磁盘时远端控制器与本端控制器之间的数据传输 步骤详见图7,图7为本发明虚拟磁盘访问方法中映射虚拟块设备的数据 传输步骤流程图。如图7所7K,当应用程序通过本端控制器访问的虚拟 磁盘位于远端控制器中时,首先自虚拟磁盘的映射虚拟块设备缓冲区中 收集应用程序的操作请求602,然后封装所收集到的操作请求为一数据包 604。接着,通过建立的数据传输通道发送该封装数据包至应用程序访问 的远端控制器606。远端控制器解开接收到的数据包,并将其中的操作应 用于被访问虚拟磁盘608。然后封装虚拟磁盘操作后返回的操作结果为- 数据包610,并通过数据传输通道发送该操作结果数据包至本端控制器骤612。在本端控制器中解开该操作结果数据包,并将其中的操作结果发送 至对应的虚拟块设备缓冲区中614,进而应用程序自缓冲区中读取该操作 结果,实现对虚拟磁盘的访问616。
虽然本发明以较佳实施方式揭示如上,然其并非用于限定本发明。 本领域技术人员应当意识到,在不脱离本发明所界定的保护范围和精祌 的情况下所作的修改与润饰,均属本发明专利保护范围。关于本发明所界定的保护范围,请参考所附之权利要求书。
权利要求
1、一种虚拟磁盘路由器系统,应用于包含第一控制器与第二控制器的双控制器系统中,其特征在于,该虚拟磁盘路由器系统设置在该第一控制器中,并包含虚拟块设备管理模块,在该第一控制器中建立与该第二控制器中虚拟磁盘对应的映射虚拟块设备,以及处理向该第一控制器提出的对该虚拟磁盘的访问请求;映射表管理模块,建立该第二控制器中虚拟磁盘与其对应虚拟块设备的映射关系列表,并根据向该第一控制器提出的该虚拟磁盘的访问请求在该映射关系列表中查找该虚拟磁盘及其对应的映射虚拟块设备;以及通信管理模块,建立该第二控制器中虚拟磁盘与其对应映射虚拟块设备的数据传输通道,用于传输该虚拟磁盘的访问请求至该第二控制器,以及接收该第二控制器对该虚拟磁盘访问请求的应答。
2、 如权利要求1所述的虚拟磁盘路由器系统,其特征在于,所述映 射关系列表的结构包含-虚拟磁盘识别码,用于标识该映射关系列表中的虚拟磁盘; 虚拟块设备识别码,用于标识该映射关系列表中与该虚拟磁盘对应 的映射虚拟块设备;以及标记,用于标识该虚拟磁盘所在控制器的系统类型。
3、 如权利要求2所述的虚拟磁盘路由器系统,其特征在于,所述映 射表管理模块根据所述映射关系列表的査找结果,返回对应的虚拟磁盘 识别码或者虚拟块设备识别码至所述通信管理模块。
4、 如权利要求3所述的虚拟磁盘路由器系统,其特征在于,所述通 信管理模块接收到所述虚拟块设备识别码后,所述虚拟块设备管理模块 白与该虚拟块设备识别码标识的虚拟磁盘对应的映射虚拟块设备的缓冲 区中收集访问请求的操作请求,并封装收集到的操作请求为数据包后, 通过所述数据传输通道将该数据包发送至远端的第二控制器。
5、 如权利要求4所述的虚拟磁盘路由器系统,其特征在于,所述通信管理模块接收到所述第二控制器对所述虚拟磁盘访问请求的应答后, 所述虚拟块设备管理模块发送该虚拟磁盘访问请求的应答至该虚拟磁盘 对应的映射虚拟块设备的缓冲区,以自该映射虚拟块设备的缓冲区中读 取相应的操作结果。
6、 一种虚拟磁盘访问系统,应用于包含第一控制器与第二控制器的 双控制器系统中,其特征在于,该虚拟磁盘访问系统包含第一虚拟磁盘路由器,设置在该第一控制器中,用于判断向该第 控制器提出访问请求的虚拟磁盘位置,以选择传输通道来传输该访问请 求至该虚拟磁盘及传输自该虚拟磁盘获得的访问请求应答数据;以及第二虚拟磁盘路由器,设置在该第二控制器中,用于判断向该第二 控制器提出访问请求的虚拟磁盘位置,以选择传输通道来传输该访问请 求至该虚拟磁盘及传输自该虚拟磁盘获得的访问请求应答数据。
7、 如权利要求6所述的虚拟磁盘访问系统,其特征在于,所述第-虚拟磁盘路由器包含有第一虚拟块设备管理模块,在所述第一控制器中建立与所述第二控 制器中虚拟磁盘对应的映射虚拟块设备;第一映射表管理模块,建立该第二控制器中虚拟磁盘与其对应虚拟 块设备的映射关系列表,并根据向该第一控制器提出的该虚拟磁盘的访 问请求,在该映射关系列表中査找该虚拟磁盘及其对应映射虚拟块设备; 以及第一通信管理模块,用于建立该第二控制器中虚拟磁盘与其对应映 射虚拟块设备的数据传输通道。
8、 如权利要求6所述的虚拟磁盘访问系统,其特征在于,所述第二虚拟磁盘路由器包含有第二虚拟块设备管理模块,在所述第二控制器中建立与所述第--控制器中虚拟磁盘对应的映射虚拟块设备;第二映射表管理模块,建立该第一控制器中虚拟磁盘与其对应虚拟 块设备的映射关系列表,并根据向该第二控制器提出的该虚拟磁盘的访 问请求,在该映射关系列表中査找该虚拟磁盘及其对应映射虚拟块设备; 以及第二通信管理模块,用于建立该第一控制器中虚拟磁盘与其对应映 射虚拟块设备的数据传输通道。
9、 如权利要求7所述的虚拟磁盘路由器系统,其特征在于,所述第 一通信管理模块/第二通信管理模块通过所述数据传输通道传输所述虚拟 磁盘的访问请求至所述第二控制器/第一控制器,以及接收该第二控制器/ 第 一控制器对该虚拟磁盘访问请求的应答。
10、 如权利要求8所述的虚拟磁盘路由器系统,其特征在于,所述第一通信管理模块/第二通信管理模块通过所述数据传输通道传输所述虚 拟磁盘的访问请求至所述第二控制器/第一控制器,以及接收该第二控制 器/第一控制器对该虚拟磁盘访问请求的应答。
11、 一种虚拟磁盘访问方法,应用于包含第一控制器与第二控制器的双控制器系统中,其特征在于,该方法包含以下歩骤在该第一控制器及/或该第二控制器中建立该第二控制器及/或该第一控制器中虚拟磁盘的对应映射虚拟块设备;建立第二控制器及/或该第一控制器中虚拟磁盘与其对应虚拟块设备的映射关系列表;根据向该第一控制器/该第二控制器提出的虚拟磁盘访问请求,在该 映射关系列表中査找该虚拟磁盘及其对应映射虚拟块设备,以判断该虚 拟磁盘的位置;以及当向该第一控制器/该第二控制器提出访问请求的虚拟磁盘位于该第 二控制器/该第一控制器时,建立该虚拟磁盘与其对应映射虚拟块设备之 间的数据传输通道,以传输/接收该虚拟磁盘的访问请求/应答。
12、 如权利要求11所述的虚拟磁盘访问方法,其特征在于,所述映 射关系列表的结构包含虚拟磁盘识别码,用于标识该映射关系列表中的虚拟磁盘; 虚拟块设备识别码,用于标识该映射关系列表中的映射虚拟块设备;以及标记,用于标识该虚拟磁盘的位置。
13、 如权利要求12所述的虚拟磁盘访问方法,其特征在于,当所述 标记识别所述虚拟磁盘位于本端的所述第 一控制器/第二控制器时,返回 该虚拟磁盘的虚拟磁盘识别码以应答该虚拟磁盘访问请求。
14、 如权利要求12所述的虚拟磁盘访问方法,其特征在于,当所述 标记标识所述虚拟磁盘位于远端的所述第一控制器/第二控制器时,返回 该虚拟磁盘的对应映射虚拟块设备的虚拟块设备识别码以应答该虚拟磁 盘访问请求。
15、 如权利要求14所述的虚拟磁盘访问方法,其特征在于,该方法进一步包含通过所述数据传输通道传输所述虚拟磁盘访问请求至远端的所述第一控制器/第二控制器;以及通过所述数据传输通道传输远端的所述第一控制器/第二控制器对所 述虚拟磁盘访问请求的应答。
16、 如权利要求15所述的虚拟磁盘访问方法,其特征在于,所述传 输所述虚拟磁盘访问请求至远端的所述第一控制器/第二控制器,具体包 含下列步骤自该虚拟磁盘对应的映射虚拟块设备的缓冲区中收集访问请求的操 作请求;封装收集到的操作请求为一数据包;以及通过所述该数据传输通道发送该数据包至远端的该第一控制器/第二 控制器。
17、 如权利要求15所述的虚拟磁盘访问方法,其特征在于,所述传 输远端的所述第一控制器/第二控制器对所述虚拟磁盘访问请求的应答, 具体包含下列步骤解开所述数据包并在该虚拟磁盘应用其中的操作请求; 封装对该虚拟磁盘的操作结果为一数据包;通过所述数据传输通道发送该操作结果数据包至本端的所述第二控 制器/第一控制器;解开该操作结果数据包并发送该操作结果至该虚拟磁盘对应的映射 虚拟块设备的缓冲区;以及自该映射虚拟块设备的缓冲区读取该操作结果。
全文摘要
一种虚拟磁盘路由器系统、虚拟磁盘访问系统及方法,应用于包含第一控制器与第二控制器的双控制器系统。首先在第一控制器及/或第二控制器中建立第二控制器及/或第一控制器中虚拟磁盘的对应映射虚拟块设备,并建立虚拟磁盘与其对应虚拟块设备的映射关系列表以及数据传输通道。当通过第一控制器/第二控制器向第二控制器/第一控制器中虚拟磁盘提出访问请求时,通过该数据传输通道来传输访问请求至该虚拟磁盘及传输自虚拟磁盘获得的访问请求应答数据。本发明可实现双控制器系统内所有虚拟磁盘的通盘访问。
文档编号G06F3/06GK101201723SQ20061016469
公开日2008年6月18日 申请日期2006年12月14日 优先权日2006年12月14日
发明者刘文涵, 楠 张, 瑞 张, 陈玄同 申请人:英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1