【摘要】 一种通过为虚拟机构建存储的系统,将位于网络上服务器中的存储设备分配给多个运行在各自终端主机上的虚拟机,作为它们的虚拟磁盘。虚拟机运行的主机上提供一个虚拟磁盘驱动和数据转发守护进程,将虚拟机的I/O请求转发给提供实际数据的服务器。服务器上维护虚拟机的系统映像,并响应虚拟机的I/O请求。系统映像的维护采用一种映射机制,实现物理存储的数据到虚拟机所需系统映像之间的转化。为了提高性能,在终端提供了缓存和预取功能,减少网络上数据传输量。同时,利用同步机制保证缓存和服务器系统映像之间的一致性。 【专利类型】发明授权 【申请人】北京航空航天大学 【申请人类型】学校 【申请人地址】100191 北京市海淀区学院路37号 【申请人地区】中国 【申请人城市】北京市 【申请人区县】海淀区 【申请号】CN200810226649.X 【申请日】2008-11-19 【申请年份】2008 【公开公告号】CN101419535B 【公开公告日】2010-07-14 【公开公告年份】2010 【授权公告号】CN101419535B 【授权公告日】2010-07-14 【授权公告年份】2010.0 【IPC分类号】G06F3/06; G06F13/10; G06F17/30 【发明人】白跃彬; 巨燕文 【主权项内容】一种为虚拟机提供分布式存储的系统,将位于网络上服务器中的存储设备分配给多个运行在各自终端主机上的虚拟机,从而为终端主机上运行的虚拟机提供数据存储服务,每个虚拟机作为一个用户,每个用户唯一标识一个虚拟磁盘映像,其特征在于,该系统包括虚拟磁盘驱动、数据转发守护进程、磁盘映像文件仓库、磁盘映像映射层和磁盘映像表示层,其中:虚拟磁盘驱动设置在终端主机上,用于创建一个作为磁盘的虚拟块设备,该虚拟磁盘驱动处理虚拟机中的I/O请求,并将I/O请求进一步发送给数据转发守护进程;数据转发守护进程设置在终端主机上,用于从虚拟磁盘驱动获得所述I/O请求,并将该I/O请求转发给提供数据存储服务的服务器,请求服务器上的系统映像数据,系统映像是终端主机所看到的服务器上磁盘映像表示层提供的虚拟磁盘映像,从服务器获得请求的数据以后,通过虚拟磁盘驱动转发给请求数据的虚拟机;磁盘映像文件仓库设置在服务器上,负责物理映像文件的存储和维护,物理映像文件包括系统映像文件、辅助系统映像文件和用户映像文件,多个用户共享系统文件映像,每个用户具有一个辅助系统映像文件和一个用户映像文件,每个用户对系统文件映像的修改写入辅助系统文件映像中,用户映像文件用来存储每个用户的数据;磁盘映像映射层设置在服务器上,完成从物理映像文件到用户最终获得的虚拟磁盘映像的映射过程,虚拟磁盘映像是提供给终端主机的逻辑视图,对一个虚拟磁盘映像,分为系统数据区和用户数据区,用户数据区对应于所述用户映像文件,而系统数据区对应于所述系统映像文件和所述辅助系统映像文件;磁盘映像表示层设置在服务器上,其包括系统磁盘请求转发器,磁盘映像表示层从数据转发守护进程收到虚拟机的I/O请求后,交给系统磁盘请求转发器,系统磁盘请求转发器根据请求者的用户身份将数据块请求对应到相应虚拟磁盘映像文件,根据请求类型和请求数据的地址通过磁盘映像映射层的映射机制在相应的物理映像文件上执行请求的操作,并将获得的请求数据发回给请求者。 【当前权利人】北京航空航天大学 【当前专利权人地址】北京市海淀区学院路37号 【统一社会信用代码】12100000400011227Y 【引证次数】2.0 【被引证次数】2 【自引次数】1.0 【他引次数】1.0 【被他引次数】2.0 【家族引证次数】2.0 【家族被引证次数】67