一种用于云存储的分布式块设备驱动方法和系统的制作方法

文档序号:8318892阅读:403来源:国知局
一种用于云存储的分布式块设备驱动方法和系统的制作方法
【技术领域】
[0001]本发明涉及云计算领域,特别是涉及一种用于云存储的分布式块设备驱动方法和系统。
【背景技术】
[0002]随着网络技术的发展,用户将重要的个人数据通过终端设备同步到网络存储设备中进行保存和管理。云计算作为一种新型的网络计算模式,将用户熟悉的操作系统和应用程序作为网络存储的内容提供给用户。云计算终端通过网络远程加载操作系统,采用块流方式动态执行,为用户提供跨平台的各种应用和服务。由于云计算终端本身不预设物理存储设备,因此它需要通过一种虚拟存储设备驱动来与云计算服务器上的物理存储资源进行交互,从而为用户提供一个虚拟磁盘的视图。该驱动方法需要能够支持多种操作系统的远程加载和运行,支持多种存储设备的指令接口,并且能够高效地完成数据请求和处理。
[0003]传统的驱动方法存在以下问题:
[0004]第一、传统的驱动方法如Windows驱动模型和Linux驱动模型都是面向某种特定的操作系统的设备驱动模型,且仅适用于单机环境,不能满足云计算虚拟存储系统跨平台、网络化的需求。
[0005]第二、基于虚拟机的设备模型配合网络存储协议的方式能够实现操作系统的远程启动和运行,著名的成果有Collective、ISR和OSCircular。其中,Collective和ISR是基于VMWare设备模型开发的系统,OS Circular则使用Xen-HVM设备模型。但是虚拟机运行时占用较多内存,并延长了 I/O访问路径,从而对数据访问性能有较大影响。

【发明内容】

[0006]鉴于以上,本发明提出一种用于云存储的分布式块设备驱动方法和系统。
[0007]本发明提出一种用于云存储的分布式块设备驱动方法,包括:
[0008]终端的VBD接收来自OS的I/O请求并传送给VSP ;
[0009]VSP提取I/O请求中的虚拟磁盘参数并传送给VHBA ;
[0010]VHBA将该虚拟磁盘参数封装为网络数据报文并发送给服务器;
[0011]服务器的V1P解析收到的网络数据报文,传送给PSP ;
[0012]PSP根据虚拟磁盘与物理磁盘之间的映射关系,将该虚拟磁盘参数转换为物理磁盘参数,访问真实的存储设备;
[0013]VHBA将处理结果返回给对应的虚拟磁盘设备对象,激活VSP ;
[0014]VBD将返回的数据拷贝到指定的内存中,完成I/O请求。
[0015]进一步,还包括:
[0016]PSP设置对VBus的监听程序,当检测到VSP进入初始化状态后,PSP将探测物理磁盘,分配并初始化块设备接口,使其中的相应字段指向物理设备的设备号,向VBus进行注册并写入物理磁盘信息,等待VBus写入虚拟磁盘信息,VBus是VSP和PSP间的一种总线抽象,用以完成虚拟磁盘接口和物理存储接口之间的交互;
[0017]VSP进入初始化状态,向VBus进行注册,写入虚拟磁盘请求报告,分配并初始化接口结构,使其中的相应字段指向虚拟磁盘设备的设备号之后进入初始化完成状态;
[0018]PSP检测到VBus中注册了新的虚拟设备后,获取VBus中虚拟设备请求报告,根据报告中的虚拟磁盘信息创建虚拟磁盘;
[0019]创建完成后,当PSP监测到VSP进入初始化完成状态时,向VBus中更新设备的物理磁盘信息,进入连接状态,准备处理从VSP传递过来的I/O请求;
[0020]VSP检测到PSP进入连接状态,建立与PSP的连接,并从VBus中读入物理磁盘信息,完成虚拟磁盘与物理磁盘之间的映射。
[0021]进一步,还包括:
[0022]操作系统遍历PCI总线上存在的所有驱动程序,加载VSP驱动;
[0023]VSP初始化具体的虚拟块设备对象,注册中断处理程序,虚拟块设备对象作为一个PCI设备将调用VHBA驱动;
[0024]VHBA初始化虚拟总线适配器控制器对象,通过PCI配置空间的信息分配硬件资源,注册中断服务,扩展出下一级虚拟接口总线结构VBus ;
[0025]VHBA调用网络扫描接口,向服务器发送连接指令确认存储设备是否准备接收虚拟I/O请求;
[0026]在获得一个确认成功回复后,VHBA发送虚拟磁盘扫描指令获取设备名称、设备号和虚拟磁盘信息;
[0027]根据上述设备配置信息,VHBA向VBus注册新的虚拟磁盘设备对象,进入虚拟块设备的创建阶段。
[0028]本发明提出一种用于云存储的分布式块设备驱动系统,包括终端,该终端包括:VBD、VSP 和 VHBA,其中:
[0029]VBD,接收来自OS的I/O请求并传送给VSP,将返回的数据拷贝到指定的内存中,完成I/O请求;
[0030]VSP,提取I/O请求中的虚拟磁盘参数并传送给VHBA ;
[0031]VHBA,将该虚拟磁盘参数封装为网络数据报文并发送给服务器,将服务器处理结果返回给对应的虚拟磁盘设备对象,激活VSP ;
[0032]其中,服务器解析收到的网络数据报文,根据虚拟磁盘与物理磁盘之间的映射关系,将该虚拟磁盘参数转换为物理磁盘参数,访问真实的存储设备。
[0033]进一步,VSP进入初始化状态,向VBus进行注册,写入虚拟磁盘请求报告,分配并初始化接口结构,使其中的相应字段指向虚拟磁盘设备的设备号之后进入初始化完成状态;VSP检测到PSP进入连接状态,建立与PSP的连接,并从VBus中读入物理磁盘信息,完成虚拟磁盘与物理磁盘之间的映射。
[0034]进一步,VSP初始化具体的虚拟块设备对象,注册中断处理程序,虚拟块设备对象作为一个PCI设备将调用VHBA驱动;
[0035]VHBA初始化虚拟总线适配器控制器对象,通过PCI配置空间的信息分配硬件资源,注册中断服务,扩展出下一级虚拟接口总线结构VBus ;VHBA调用网络扫描接口,向服务器发送连接指令确认存储设备是否准备接收虚拟I/O请求;在获得一个确认成功回复后,VHBA发送虚拟磁盘扫描指令获取设备名称、设备号和虚拟磁盘信息;根据上述设备配置信息,VHBA向VBus注册新的虚拟磁盘设备对象,进入虚拟块设备的创建阶段。
[0036]本发明提出一种用于云存储的分布式块设备驱动系统,包括服务器,该服务器包括V1P和PSP,其中:
[0037]V10P,解析从终端收到的网络数据报文,传送给PSP ;
[0038]PSP,根据虚拟磁盘与物理磁盘之间的映射关系,将网络数据报文中携带的虚拟磁盘参数转换为物理磁盘参数,访问真实的存储设备;
[0039]其中,终端接收来自OS的I/O请求,提取I/O请求中的虚拟磁盘参数,将该虚拟磁盘参数封装为网络数据报文并发送给服务器,以及将服务器结果返回给对应的虚拟磁盘设备对象,完成I/o请求。
[0040]进一步,PSP设置对VBus的监听程序,当检测到VSP进入初始化状态后,PSP将探测物理磁盘,分配并初始化块设备接口,使其中的相应字段指向物理设备的设备号,
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1