在虚拟机之间提供对象级输入/输出请求以存取存储子系统技术方案

技术编号:5497801 阅读:246 留言:0更新日期:2012-04-11 18:40
一种系统,包括存储子系统和用于管理对该存储子系统的存取的第一虚拟机。第二虚拟机由虚拟机通道耦合到该第一虚拟机。该第二虚拟机具有软件来通过该虚拟机通道向该第一虚拟机发出对象级输入/输出(I/O)请求以存取该存储子系统中的数据。

【技术实现步骤摘要】
【国外来华专利技术】在虚拟机之间提供对象级输入/输出请求以存取存储子系统
技术介绍
可以在计算机中提供虚拟机以增强灵活性和性能。虚拟机通常是指用于虚拟化或 模拟实际计算机的组件(软件和/或硬件)的某种布置,其中虚拟机可以包括操作系统(称 为“客户”操作系统)和软件应用。虚拟机可以允许不同的操作系统部署在相同的计算机 上,以使得可以在相同的计算机中的不同虚拟机(其包含对应的操作系统)中运行为不同 的操作系统编写的应用。在包括虚拟机的虚拟化环境中,虚拟机监控器(VMM),也称为管理程序 (hypervisor),管理(虚拟机)对底层物理机的物理资源的共享。也已经在存储系统中实 现了虚拟化环境。在这样的虚拟化环境中,虚拟机设有用于存取存储系统的存储设备的相 应引擎。例如,虚拟机可以设有实现RAID(廉价盘冗余阵列)架构的引擎。传统上,在具有带有不同的客户操作系统的多个虚拟机的系统中,可能不得不为 不同的操作系统提供多个不同的RAID引擎。但是,由于对不同的操作系统的依赖性使得 RAID引擎的软件开发更复杂,因此这是低效率的。附图说明参考以下的图来描述本专利技术的一些实施例图1是根据实施例的包括虚拟机的示范性系统的框图;以及图2是根据实施例的使用来自虚拟机的对象级输入/输出请求来存取存储系统的 过程的流程图。具体实施例方式—般说来,根据一些实施例,系统包括存储子系统和多个虚拟机,其中多个虚拟机 中的一个(称为“虚拟存储设备”或“VSA”虚拟机)用于管理对存储子系统的存取。一个 或多个其它虚拟机通过(一个或多个)相应的虚拟机通道耦合到VSA虚拟机。这些其它虚 拟机能够向VSA虚拟机发出对象级输入/输出(I/O)请求以存取存储子系统。对象级I/O 请求可以依照定义用于存取存储子系统的存储设备的文件级和目录级命令的标准协议。一 个这样的标准协议是由全球网络存储工业协会(SNIA)定义的基于对象的存储设备(OSD) 协议。通过使用由标准协议定义的对象级I/O请求,由于不必修改在虚拟机内运行的诸如 操作系统之类的组件,因此使得该系统的实现更高效。“虚拟机”是指被提供为虚拟化或模拟物理机(例如,计算机、计算机网络等)的物 理机的某个部分或区段(由软件和/或硬件组成)。从用户的角度来看,虚拟机看起来就像 是物理机。根据一些实施例,虚拟机包括一个或多个软件应用、操作系统(称为“客户”操 作系统)和一个或多个设备驱动器(其通常为操作系统的一部分)。作为对应的虚拟机的 一部分的客户操作系统可以彼此不同(例如,不同的操作系统可以为Linux操作系统、Unix 操作系统、WINDOWS 操作系统等)。在不同的虚拟机中提供不同的客户操作系统使得为不同的操作系统设计的软件应用能够在不同的虚拟机中运行。虚拟机能够全部实现在一个物 理机上,或者可替换地,能够实现在多个物理机上。“对象级I/O请求”是指由请求实体提交的用于存取(读或写)存储子系统的内 容的请求,其中该请求指定文件、目录或其他文件层级的存取。对象级I/O请求与指定数据 块而不是文件的存取的块级I/O请求形成对照。存储在存储子系统中的数据“块”仅仅指 存储子系统中的数据的某个集合,其中该存储子系统通常不知道该块属于哪些特定的文件 (或目录或其他文件层级)。注意,文件(或目录或其他文件层级)可以包括多个块(或仅 仅一个块)。“文件”是文件系统中的数据存储的元素。“文件系统”是指用于存储数据和组 织存储的数据的机制。“对象”是指文件、目录或文件层级中的任何一个--对象是位于比用 在存储子系统中的块更高级别处的存储实体。“虚拟机通道”是指使得虚拟机能够彼此通信的一些共享资源。在一些实施例中, 虚拟机通道可以指可由虚拟机存取的系统存储器内的共享数据结构。通常,传统的虚拟机 通道仅仅支持用于存取存储子系统的块级I/O请求。但是,根据一些实施例,提供使得能够 通过虚拟机通道提交对象级I/O请求的机制,以使得请求实体能够存取存储子系统。请求 实体可以是在特定的虚拟机中运行的应用或操作系统。在一个实施例中,通过虚拟机通道向VSA虚拟机传送的对象级I/O请求依照由全 球网络存储工业协会(SNIA)定义的基于对象的存储设备(OSD)协议。OSD协议允许对存储 对象的存取,其中每个存储对象包含已被确定为在逻辑上相关的数据。OSD协议定义被编码 为SCSI (小型计算机系统接口)命令的文件和目录级的命令。尽管在该讨论中参考OSDJfi 是应当注意,在其它的实施例中可以使用定义用于存取存储子系统的其它类型的对象级请 求的其它标准协议。图1示出了包括虚拟机100、102和104的示例布置。管理存储子系统108中的数 据的存取的虚拟机102被称为虚拟存储设备(VSA)虚拟机。注意,虚拟机102上所附的标 签“VSA”是为示例的目的提供的。在其它的实施方式中,可以使用其它标签来描述虚拟机 102。VSA虚拟机102包括用于存取存储子系统108的控制模块的集合106。控制模块 的集合106包括RAID (廉价盘冗余阵列)弓丨擎110,其实现RAID功能以使得能够使用RAID 技术来存储数据。存在几种不同的RAID级别,包括RAID URAID 5、RAID 6等等。RAID 1 配置提供没有奇偶校验的镜像集,其中提供两组物理存储设备,其中这两组物理存储设备 中的一组用于镜像重复(复制)另一组物理存储设备。RAID 5配置提供具有分布式奇偶校 验的条带化(striped)集,其包括至少三组(高达五组)物理存储设备。RAID 5可容忍这 些物理存储设备组中的一组的故障。RAID 6与RAID 5相似,但是具有双重奇偶校验以提供 对高达两组物理存储设备的故障容忍。控制模块的集合106也包括OSD元数据处理机112,其用于处理与不同的对象有关 的元数据(例如,文件的大小、文件的位置、文件到目录的组织,等等)。此外,集合106包 括块I/O处理机114,其能够处理通过虚拟机通道(诸如从另一个虚拟机)接收的块级I/ 0请求。根据一些实施例,VSA虚拟机102能够处置对象级I/O请求和块级I/O请求二者。 但是,在不同的实施方式中,VSA虚拟机102可以被配置为仅仅接受对象级I/O请求。VSA虚拟机102还包括VSA管理器116,其能够执行关于VSA虚拟机102的管理任务。此外,VSA虚拟机102包括快速储存器118,其可以用相对快速的(一个或多个)存 储设备来实现,所述存储设备诸如包括动态随机存取存储器(DRAM)、静态随机存取存储器 (SRAM)或其它类型的集成电路存储器设备的系统存储器。快速储存器118可以用于存储 OSD元数据120和频繁存取的数据122以提高VSA虚拟机102的性能。快速储存器118可 以是非易失性存储器,诸如电池支持的系统存储器或其它非易失性存储器。这里使用的“快 速”储存器是指具有比存在于系统中的较慢速储存器更快的存取速度的储存器。通过将OSD 元数据120和频繁存取的数据122存储在快速储存器118中,VSA虚拟机102能够响应于 I/O请求获得这样的数据,而不必转到存储子系统108的相对慢速的储存器124。注意,相 对慢速的储存器1 可以用基于盘的存储设备来实现,诸如磁盘或光盘存储设备。存储子系统108还本文档来自技高网...

【技术保护点】
一种系统,包括:  存储子系统;  第一虚拟机,用于管理对该存储子系统的存取;和  第二虚拟机,其由虚拟机通道耦合到该第一虚拟机,该第二虚拟机具有软件来通过该虚拟机通道向该第一虚拟机发出对象级输入/输出(I/O)请求以存取该存储子系统中的数据。

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:DV多恩TS劳勒
申请(专利权)人:惠普开发有限公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利