一种数据传输方法及装置的制造方法

文档序号:9417125阅读:323来源:国知局
一种数据传输方法及装置的制造方法
【技术领域】
[0001]本发明涉及计算机领域,尤其涉及一种数据传输方法及装置。
【背景技术】
[0002]虚拟化(Virtualizat1n)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象和转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。在现有的虚拟化环境中,以Linux虚拟机(英文全称:Virtual Machine,英文简称:VM)为例,用户使用的虚拟磁盘是由hypervisor (虚拟化管理器)进行模拟形成的。
[0003]如图1所示,虚拟机磁盘的输入或输出(英文全称:Input/0utput,英文简称:10)处理的示意图。hypervisor包括后端驱动(blkback)和存储单元,后端驱动用于处理处理环(ring)与存储单元之间的输入请求或输出请求,存储单元用于存储数据。虚拟机包括虚拟磁盘和前端驱动(blkfront),前端驱动用于处理ring与虚拟磁盘之间的输入请求或输出请求,虚拟磁盘用于存储数据。ring用于hypervisor与虚拟机之间的共享内存之间的数据交换。在hypervisor需要将大量的数据传输到虚拟机,或者虚拟机将大量的数据传输到hypervisor时,后端驱动、前端驱动和ring之间需要传输的数据较多,从而影响虚拟机的每秒进行读写操作的次数(英文全称:lnput/0utput Operat1ns Per Second,英文简称:I OPS)的能力。
[0004]现有技术中,主机在使用互联网协议存储局域网络(Internet Protocol StorageArea Network,英文简称:IPSAN)时,可以使用多路径来提高输入输出性能及可靠性。如图2所示,主机在使用IPSAN多路径输入输出处理的示意图。主机包括实体磁盘和通过小型计算机系统接口(英文全称:Internet Small Computer System Interface,英文简称:iSCSI)挂载的虚拟磁盘。IPSAN通过IP协议与主机进行通信,提供虚拟磁盘服务。主机与IPSAN之间通过光纤交换机或者多块网卡(英文全称:Network Interface Card,英文简称:NIC)与IPSAN连接,主机的每个磁盘对应一个网卡,主机到IPSAN之间的输入输出由多条路径可以选择,即使用主机的多个网卡来同时访问IPSAN的同一个存储,提升访问性能及可靠性。但是,提高主机与IPSAN之间输入输出性能及可靠性的方法只能用于ISCSI,并不能应用到虚拟环境的数据传输中,现有的虚拟磁盘10处理方式将成为性能瓶颈。因此,如何提高虚拟磁盘的输入输出性能和可靠性是一个亟待解决的问题。

【发明内容】

[0005]本发明的实施例提供一种数据传输方法及装置,能够提高虚拟磁盘的输入输出性能和可靠性。
[0006]为达到上述目的,本发明的实施例采用如下技术方案:
[0007]第一方面,提供一种数据传输方法,包括:
[0008]配置至少两条路径,每条所述路径为虚拟化管理器hypervisor的存储单元到虚拟机的虚拟磁盘之间的路径,每条所述路径包括后端驱动、环ring和前端驱动,所述hypervisor包括存储单元和后端驱动,所述虚拟机包括虚拟磁盘和前端驱动;
[0009]通过所述至少两条路径进行所述虚拟磁盘与所述存储单元之间的数据传输。
[0010]结合第一方面,在第一种可实现方式中,所述配置至少两条路径包括:
[0011 ] 挂载所述虚拟磁盘,得到至少两个虚拟磁盘;
[0012]配置每个所述虚拟磁盘与所述存储单元之间的路径,其中,每个所述虚拟磁盘对应一个前端驱动,每个所述前端驱动对应一个ring,每个所述ring对应一个后端驱动,每个所述后端驱动对应同一个所述存储单元,每个所述虚拟磁盘与所述存储单元之间的路径不同。
[0013]结合第一方面,在第二种可实现方式中,所述配置至少两条路径包括:
[0014]配置至少两个所述后端驱动;
[0015]配置所述存储单元通过每个所述后端驱动与所述虚拟磁盘之间的路径,其中,每个所述后端驱动对应一个ring,每个所述ring对应同一个前端驱动,所述虚拟磁盘与所述存储单元之间的每个路径不同。
[0016]结合第一方面,在第三种可实现方式中,所述配置至少两条路径包括:
[0017]挂载所述虚拟磁盘,得到至少两个虚拟磁盘;
[0018]配置每个所述虚拟磁盘与所述存储单元之间的路径,其中,每个所述虚拟磁盘对应一个前端驱动,每个所述前端驱动对应一个ring,每个所述ring对应同一个后端驱动,每个所述虚拟磁盘与所述存储单元之间的路径不同。
[0019]结合第一方面,在第四种可实现方式中,所述配置至少两条路径包括:
[0020]在所述后端驱动和所述前端驱动之间配置至少两个ring ;
[0021]配置所述存储单元通过每个所述ring与所述虚拟磁盘之间的路径,其中,每个所述ring对应同一个前端驱动和同一个虚拟磁盘,所述虚拟磁盘与所述存储单元之间的每个路径不同。
[0022]结合第一方面,第一种可实现方式和第四种可实现方式中任意一种,在第五种可实现方式中,所述方法还包括:
[0023]配置所述后端驱动与所述存储单元之间的至少两个线程,每个所述ring对应一个线程,每个所述线程用于从所述存储单元中读取或写入数据。
[0024]第二方面,提供一种数据传输装置,包括:
[0025]配置单元,用于配置至少两条路径,每条所述路径为虚拟化管理器hypervisor的存储单元到虚拟机的虚拟磁盘之间的路径,每条所述路径包括后端驱动、环ring和前端驱动,所述hypervisor包括存储单元和后端驱动,所述虚拟机包括虚拟磁盘和前端驱动;
[0026]传输单元,用于通过所述配置单元配置的至少两条路径进行所述虚拟磁盘与所述存储单元之间的数据传输。
[0027]结合第二方面,在第一种可实现方式中,所述配置单元具体用于:
[0028]挂载所述虚拟磁盘,得到至少两个虚拟磁盘;
[0029]配置每个所述虚拟磁盘与所述存储单元之间的路径,其中,每个所述虚拟磁盘对应一个前端驱动,每个所述前端驱动对应一个ring,每个所述ring对应一个后端驱动,每个所述后端驱动对应同一个所述存储单元,每个所述虚拟磁盘与所述存储单元之间的路径不同。
[0030]结合第二方面,在第二种可实现方式中,所述配置单元具体用于:
[0031]配置至少两个所述后端驱动;
[0032]配置所述存储单元通过每个所述后端驱动与所述虚拟磁盘之间的路径,其中,每个所述后端驱动对应一个ring,每个所述ring对应同一个前端驱动,所述虚拟磁盘与所述存储单元之间的每个路径不同。
[0033]结合第二方面,在第三种可实现方式中,所述配置单元具体用于:
[0034]挂载所述虚拟磁盘,得到至少两个虚拟磁盘;
[0035]配置每个所述虚拟磁盘与所述存储单元之间的路径,其中,每个所述虚拟磁盘对应一个前端驱动,每个所述前端驱动对应一个ring,每个所述ring对应同一个后端驱动,每个所述虚拟磁盘与所述存储单元之间的路径不同。
[0036]结合第二方面,在第三种可实现方式中,所述配置单元具体用于:
[0037]在所述后端驱动和所述前端驱动之间配置至少两个ring ;
[0038]配置所述存储单元通过每个所述ring与所述虚拟磁盘之间的路径,其中,每个所述ring对应同一个前端驱动和同一个虚拟磁盘,所述虚拟磁盘与所述存储单元之间的
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1