云服务器的虚拟私有存储阵列服务的制作方法
【专利摘要】本发明揭示一种用于经由计算机网络为云用户提供虚拟私有存储阵列VPSA服务的方法,其包含经由所述网络接收所述VPSA的参数及由服务器计算机的资源创建所述VPSA。创建所述VPSA包含:将满足或超过规定驱动器特性、驱动器数量及阵列冗余准则的驱动器分配给所述VPSA中的虚拟控制器VC并将所述驱动器暴露于所述虚拟控制器VC,及使处理器/存储器复合体的各自满足或超过规定虚拟控制器硬件模型的部分专用于所述VC。所述VC在独立服务器计算机上的处理器/存储器复合体的所述专用部分上的虚拟机器上运行。所述VC发现所述经暴露驱动器,由经暴露虚拟驱动器创建虚拟池,对所述虚拟池实施数据保护,由所述虚拟池创建卷,经由所述网络将所述卷暴露于顾客计算机,及处置来自所述顾客计算机的对所述卷的存取请求。
【专利说明】云服务器的虚拟私有存储阵列服务
【技术领域】
[0001]本发明涉及数据存储系统,且更特定来说涉及用于给私有及公共云的用户配给虚拟存储阵列作为服务的平台及技术。
【背景技术】
[0002]现有数据存储阵列就存储及资源配给来说没有充足弹性,且其并非多租户的且无法保证存储系统的子组能够将其部署于云环境中的性能。此外,存储阵列无法配给并提供为对云用户的用户控制的服务。因此,需要可被建立并用作服务同时如传统存储系统一样提供必要数据保密性等级、故障隔离及可预测性能的弹性虚拟存储阵列。
【发明内容】
[0003]在本发明的一或多个实施例中,一种用于经由计算机网络提供虚拟私有存储阵列(VPSA)作为服务的方法包含经由所述网络接收所述VPSA的参数及由服务器计算机的资源创建所述VPSA。创建所述VPSA包含:将满足或超过规定驱动器特性、驱动器数量及阵列冗余准则的驱动器分配给所述VPSA中的虚拟控制器(VC)并将所述驱动器暴露于所述虚拟控制器(VC),及使处理器/存储器复合体的各自满足或超过规定虚拟控制器硬件模型的部分专用于所述VC。所述VC在独立服务器计算机上的处理器/存储器复合体的所述专用部分上的虚拟机器上运行。所述VC发现所述经暴露驱动器,由经暴露物理驱动器创建虚拟池,对所述虚拟池实施数据保护,由所述虚拟池创建卷,经由所述网络将所述卷暴露于顾客计算机(例如,在私有或公共云中运行的顾客应用程序服务器),及处置来自所述顾客计算机的对所述卷的存取请求。每一 VPSA具有专用资源(例如,中央处理单元、随机存取存储器、网络接口卡及磁盘驱动器)及由云的用户控制的专用管理图形用户接口。以此方式,可能给云的每一用户提供一致性能、安全性及对存储的控制。
【专利附图】
【附图说明】
[0004]在图式中:
[0005]图1是动态地提供虚拟私有存储阵列(VPSA)作为云中的服务的示范性软件系统的框图;
[0006]图2是用于实施图1的软件系统的示范性硬件系统的框图;
[0007]图3是图2中的示范性存储节点计算机的框图;
[0008]图4是用于实施图1的软件系统的示范性替代硬件系统的框图;
[0009]图5是用于图1的系统生成新的VPSA的示范性方法的流程图;
[0010]图6是用于图1的系统将虚拟驱动器分配给VPSA中的虚拟控制器(VC)的示范性方法的流程图;及
[0011]图7是用于图1的系统创建VPSA中的全部根据本发明的实施例布置的VC的示范性方法的流程图。[0012]在不同图中使用相同元件符号指示类似或相同的元件。
【具体实施方式】
[0013]图1是本发明的一或多个实施例中的动态地配给并管理虚拟私有存储阵列(VPSA)作为云中的服务的示范性软件系统100的框图。系统100从标准服务器计算机及数据存储媒体环境实现VPSA的创建、配给及管理。系统100经由计算机网络102将VPSA连接到在顾客计算机(例如由另一服务提供者给顾客提供的云服务器)上运行的应用程序。云服务器为由提供者给顾客提供为服务的虚拟服务器。尽管服务提供者可提供存储作为额外服务,但顾客不具有对所提供存储的配置的任何控制。
[0014]VPSA由一或多个虚拟控制器(VC) 104及暴露于VC104的一或多个虚拟驱动器106建构。虚拟驱动器106为由分区创建的逻辑卷,所述分区为整个物理驱动器108或物理驱动器108的一部分。VC104及物理驱动器108分布于构成可用性区(AZ)的标准服务器计算机当中。
[0015]在VPSA中,VC104为除其它之外还负责以下各项的软件组件:由虚拟驱动器106创建一或多个虚拟池,实施虚拟驱动器106上的虚拟池中的数据保护,从具有提供于虚拟池中的相同数据保护的虚拟池切出一或多个虚拟卷110,经由目标驱动程序将虚拟卷110导出到一或多个顾客计算机112,及处置来自顾客计算机112(例如,云服务器)的对虚拟卷110的标准输入/输出(I/O)请求。数据保护可为独立磁盘冗余阵列(RAID)方案。I/O请求可为因特网小计算机系统接口(iSCSI)或无限带宽I/O请求。VC104可实施验证机制以检验对VPSA的经授权I/O存取。举例来说,VC104可检验嵌入于I/O请求中的凭证(例如用户名及密码)。VC104维持VPSA的虚拟及物理实体的持久数据库,给顾客提供对VPSA的管理接口 124,且给顾客提供对VPSA的监视及诊断工具。使用管理接口 124(例如由VC104提供的web表格),顾客可操纵对云服务器及应用程序的VPSA存储保护及卷配给。每一VC104在具有专用存储器、处理及联网资源的单独虚拟机器(VM)中运行。
[0016]物理驱动器108可包含硬盘驱动器(HDD)、固态驱动器(SSD)、相变存储器(PCM)驱动器及其它类型的持久存储驱动器的任一组合。物理驱动器108附接到分布于AZ中的标准服务器计算机当中的存储节点(SN) 114。SN114为除其它之外还负责以下各项的软件组件:针对其驱动器特性查询物理驱动器108,将具有类似驱动器特性的物理驱动器108分组成若干服务质量(QoS)群组,及向可用性区控制器(AZC) 116报告驱动器库存(例如,QoS群组A中的六个驱动器及QoS群组B中的两个驱动器)。SNl 14动态地发现所添加及所移除物理驱动器108且以当前驱动器库存更新AZC116。
[0017]SNl 14在来自AZCl 16的每一指令下分割物理驱动器108且由分区创建虚拟驱动器106。如上文所论述,虚拟驱动器106为由分区创建的逻辑卷,所述分区为整个物理驱动器108或物理驱动器108的一部分。由整个物理驱动器108创建虚拟驱动器106给云用户提供益处,包含在物理驱动器基础上的完全数据隔离及保密性以及物理驱动器自加密能力的均衡。由于VC104及完整物理驱动器108在单个顾客的控制下,因此顾客可使用不与VPSA服务提供者或VPSA服务提供者的其它顾客共享的私有加密密钥。
[0018]SNl 14经由目标驱动程序将虚拟驱动器106暴露于VC104以允许从VC104到虚拟驱动器106的标准I/O请求(例如,SCSI或无限带宽)。SN114还在每一虚拟驱动器内部创建小的设置分区109。如稍后描述,VC104使用设置分区来存储VPSA的元数据(metadata)。SNl 14还收集且维持I/O计量及错误统计,提供用于VC104查询虚拟驱动器106的驱动器特性及驱动器统计的接口,且提供用于AZC116查询物理驱动器108的驱动器库存、驱动器特性及驱动器统计的接口。
[0019]AZCl 16为除其它之外还负责以下各项的软件组件:基于来自顾客的服务请求创建VC104且将其放置于AZ中的服务器计算机上。当创建VPSA时,AZC116考虑各种联网拓扑及资源约束,例如服务器计算机上的可用中央处理单元(CPU)及随机存取存储器(RAM)、特定网络接口卡(NIC)适配器(例如具有SR-1OV能力的NIC)的存在及I/O负载平衡。AZCl 16还删除不再需要或不再支付的VC104。AZCl 16从服务器计算机分配虚拟驱动器106以满足来自顾客的服务请求。AZC116考虑物理驱动器108的驱动器特性及物理驱动器108附接到其的SN114以满足服务请求。AZC116还以一方式配置AZ中的联网使得VC104可与相关SNl 14通信以进行控制及数据通信,相同VPSA的VC 104可彼此通信以进行VC群集管理,且顾客可与VC104通信以进行控制及数据通信,且提供验证以确保对VPSA的存取的保密性。
[0020]web服务器118将web表格120发射到顾客计算机112中的一者。Web表格120经配置以回传来自顾客的对新的VPSA的服务请求的参数。所述参数规定(I)VPSA中的每一 VC的VC硬件模型,⑵VPSA的驱动器特性,及(3) VPSA的驱动器数量。VC硬件模型规定CPU模型、一或多个CPU特征、CPU数量、RAM容量及联网带宽。驱动器特性规定驱动器类型(HDD、SSD或PCM)、驱动器容量、驱动器加密及驱动器接口(例如,SCSI或无限带宽)。所述参数可进一步包含用于验证对VPSA的I/O存取的凭证(例如用户名及密码),所述凭证稍后由AZCl 16提供至Ij VPSA的VC104。
[0021]基于所述参数,web服务器118将具有VPSA的服务费用的web页面122发射到顾客计算机112中的一者。所述服务费用可为每时间单位的成本。Web页面122经配置以回传来自顾客的对创建VPSA的确认。当web服务器118接收到确认时,其将参数发射到AZC116。
[0022]为了图解说明多租户,将系统100展示为包含VPSA126及VPSA128。VPSA126包含VC104-l、104-2及由物理驱动器108-1、108-2、108-3产生的虚拟驱动器106-1、106-2、106-3。物理驱动器 108-1、108-2、108-3 分布于 SNl 14-1、114-2 及 114-3 当中。VC104-1 及104-2经由计算机网络102将由虚拟驱动器106-1、106-2及106-3产生的数据卷110-1暴露于顾客计算机112。
[0023]VPSA128包含VC104-3、104-4及由物理驱动器108-4、108-5产生的虚拟驱动器106-4、106-5。物理驱动器 108-4 及 108-5 分布于 SNl 14-2 及 114-3 当中。VC104-3 及 104-4经由计算机网络102将由虚拟驱动器106-4及106-5产生的数据卷110-2暴露于顾客计算机 127。
[0024]对于VPSA中的冗余,VC可位于不同服务器计算机上且物理驱动器可附接到位于不同服务器计算机上的SN。然而,一个服务器计算机可运行来自相同VPSA的VC及SN以及来自不同VPSA的VC。为了增加性能或减少成本,可将物理驱动器附接到相同SN。
[0025]图2是本发明的一或多个实施例中的用于实施软件系统100 (图1)的示范性硬件系统200的框图。在系统200中,SN114(图1)位于此后称为“SN计算机”的服务器计算机214上。VC104还位于SN计算机214上。SN计算机214上的VC104的数目可限于确保SN计算机214上的SN114具有充足硬件资源。系统200包含SN计算机214_1、214_2、214-3,任选AZC计算机216及web服务器计算机218。SN计算机214-1、214-2及214-3提供用于建构VPSA126及128(图1)的处理器/存储器复合体、NIC及物理驱动器的物理池。AZC计算机216执行AZCl 16 (图1)以使VPSA的VC104及虚拟驱动器106分布于SN计算机214-1、214-2及214-3当中。举例来说,VC104-1及SN114-1 (图1)可放置于具有物理驱动器108-1的SN计算机214-1上,VC104-2、104-3及SN114_2(图1)可放置于具有物理驱动器108-2及108-4的SN计算机214-2上,且VC104-4及SNl 14-3(图1)可放置于具有物理驱动器108-3及108-5的SN计算机214-3上。或者,AZCl 16可在SN计算机214-1、214-2及214-3中的一者上运行而非在专用AZC计算机216上运行。
[0026]Web服务器计算机218执行web服务器118 (图1)以创建web表格120及web页面122。SN计算机214及web服务器218通过一或多个公共交换机232连接到计算机网络102。SN计算机214、AZC计算机216及web服务器218通过一或多个私有交换机234及236彼此连接。
[0027]图3是本发明的一或多个实施例中的示范性SN计算机214-2的框图。SN计算机214-2的硬件包含具有CPU304及RAM306的处理器/存储器复合体302、NIC308以及物理驱动器108-2及108-4。SN计算机214-2的软件包含SNl 14-2以及在VM310-2、310-3上运行的VC104-2、104-3,VM310-2、310-3又在超级管理程序312上运行。VM 310-2及310-3具有由SN计算机214-2的专用及/或共享硬件创建的虚拟CPU、RAM及NIC。SN计算机214-2的软件进一步包含生成具有专用CPU、RAM及NIC的VM310-2及310-3且起动VM310_2、VM310_3上的VC104-2、104-3的计算代理314。举例来说,除了创建有来自NIC的可用网络带宽的一部分的虚拟NIC (VNIC)之外,计算代理314可创建具有由专用CPU及RAM创建的虚拟CPU及RAM的VM。
[0028]图4是本发明的一或多个实施例中的用于实施软件系统100(图1)的示范性替代硬件系统400的框图。在系统400中,VC104(图1)位于此后称为“计算节点计算机”或“CN计算机”412的服务器计算机上,且SN114(图1)位于SN计算机414上。系统400包含CN计算机 412-1、412-2、412-3,SN 计算机 414-1、414-2、414-3,任选 AZC 计算机 216 及 web 服务器计算机218。
[0029]CN计算机412提供用于实施VC104的处理器/存储器复合体及NIC的物理池,且SN计算机414提供物理驱动器108的物理池。举例来说,VC104-1 (图1)放置于CN计算机412-1上,VC104-2、104-3 (图1)放置于CN计算机412-2上,且VC104-4 (图1)放置于CN计算机412-3上。SNl 14-1 (图1)放置于具有物理驱动器108-1的SN计算机414-1上,SNl 14-2 (图1)放置于具有物理驱动器108-2及108-4的SN计算机414-2上,且SNl 14_3 (图1)放置于具有物理驱动器108-3及108-5的SN计算机414-3上。
[0030]每一 CN计算机412可如图3中的SN计算机214_2 —样实施但不具有存储节点114-2且具有不同数目个VC104。每一 SN计算机414可如SN计算机214-2 —样实施但不具有VC104、计算代理314及超级管理程序312 (图3)。
[0031]CN计算机412及web服务器218通过一或多个公共交换机232连接到计算机网络102。CN计算机412、SN计算机414、AZC计算机216及web服务器218通过一或多个私有交换机234彼此连接。
[0032]图5是本发明的一或多个实施例中的用于系统100生成新的VPSA的方法500的流程图。方法500及本文中所描述的其它方法可包含由一或多个框图解说明的一或多个操作、功能或动作。虽然以顺序次序图解说明所述框,但这些框还可并行及/或以不同于本文中所描述的那些次序的次序执行。并且,各种框可组合成较少框,划分成额外框及/或基于所要实施方案消除。方法500可在框502中开始。
[0033]在框502中,web服务器118将web表格120发射到顾客计算机112以允许顾客提供VPSA的参数。如之前所论述,所述参数规定(I) VPSA中的每一 VC的VC硬件模型,(2)VPSA的驱动器特性,及(3)VPSA的驱动器数量。所述参数可进一步包含用于验证对VPSA的I/O存取的凭证。所述参数被回传到web服务器118。框502可后续接着框504。
[0034]在框504中,web服务器118将具有VPSA的费用的web页面122发射到顾客计算机112。出于解释方法500的目的,假设对创建VPSA的确认被回传到web服务器118。框504可后续接着框506。
[0035]在框506中,web服务器118将对VPSA的服务请求及参数发送到AZCl 16。框506可后续接着框508。
[0036]在框508中,系统100将虚拟驱动器106分配给VPSA中的尚待创建的VC104的占位符。框508借助稍后详细解释的图6的方法600实施。框508可后续接着框510。
[0037]在框510中,AZCl 16确定是否已将虚拟驱动器106成功分配给VPSA。如果否,那么框510可后续接着框512。如果已成功分配物理驱动器108,那么框510可后续接着框514。
[0038]在框512中,AZC116确定已发生错误,因为存在满足VPSA的驱动器需要的不充足虚拟驱动器106。AZCl 16可致使web服务器118将错误消息发送到顾客计算机112且结束方法500。
[0039]在框514中,系统100根据稍后详细解释的图7的方法700创建VPSA的VC104。框514可后续接着框516。
[0040]在框516中,AZC116确定是否已成功创建VPSA中的VC104。如果否,那么框516可后续接着框518。如果已成功创建VPSA中的VC104,那么框516可后续接着框522。
[0041]在框518中,AZC116释放先前在框508中分配给VPSA的虚拟驱动器106。框518可后续接着框520。
[0042]在框520中,AZCl 16确定已发生错误,因为存在具有VPSA的规定VC硬件模型的不充足VC104。AZCl 16可致使web服务器118将错误消息发送到顾客计算机112且结束方法 500。
[0043]在框522中,VC104建立彼此的群集握手以建立VC的作用。举例来说,一个VC104可充当主要者而另一 VC104可为备用的,或者两个VC均可有源地进行负载共享。框522可后续接着框524。
[0044]在框524中,VC104尝试发现通过SNl 14由虚拟驱动器106创建的设置分区。如上文所描述,设置分区由VC104用于创建设置卷以存储VPSA系统信息及元数据。框524可后续接着框526。
[0045]在框526中,VC104确定其已发现设置分区。如果否,那么框526可后续接着框528。如果VC104已发现设置分区,那么框526可后续接着框530。
[0046]在框528中^(:104通知42(:116已发生错误。AZCl 16可致使web服务器118将错误消息发送到顾客计算机112且结束方法500。
[0047]在框530中,VC104从其设置分区的一组冗余设置分区创建经保护设置卷。所述设置卷用于提供任何VPSA系统数据(包含但不限于物理及虚拟对象元数据、计量统计以及记录及跟踪)的持久存储。
[0048]图6是本发明的一或多个实施例中的用于系统100将虚拟驱动器106分配给VPSA中的VC104的示范性方法600的流程图。方法600可在框602中开始。
[0049]在框602中,web服务器118将web表格120发射到顾客计算机112以允许顾客提供VPSA的参数。如之前所论述,所述参数包含VPSA的一组虚拟驱动器106的驱动器特性及驱动器数量。驱动器特性规定驱动器类型、驱动器容量及驱动器加密。所述参数被回传到web服务器118。框602可后续接着框604。
[0050]在框604中,配置web表格120以确定顾客是否希望添加另一组虚拟驱动器106。举例来说,web表格120包含顾客选择添加另一组虚拟驱动器106的“添加更多驱动器”按钮。如果顾客希望添加另一组虚拟驱动器106,那么框604可往回循环到框602。否则,框604可后续接着框606。
[0051]在框606中,AZCl 16从所有VC104检索可用物理驱动器108及其驱动器特性的列表。此列表依据由SN114报告的驱动器库存产生。框606可后续接着框608。 [0052]框608是遍及所有所请求驱动器类型的循环的开始。针对每一所请求组的虚拟驱动器106,AZCl 16创建具有满足或超过针对所述所请求组规定的驱动器特性的可用物理驱动器108的SNl 14的候选SN列表。框608可后续接着框610。
[0053]在框610中,AZC116确定候选SN列表是否为空的。如果如此,那么框610可后续接着框612。否则,框610可后续接着框614。
[0054]在框612中,AZC116确定已发生错误,因为不存在可用物理驱动器108。AZC116可致使web服务器118将错误消息发送到顾客计算机112且结束方法600。
[0055]在框614中,AZCl 16根据一或多个分类准则将候选SN列表分类。分类准则可为基础服务器计算机的利用率。框614可后续接着框616。
[0056]在框616中,AZCl 16选择候选SN列表中的满足一或多个驱动器分布及RAID保护准则的最高排名的SN。举例来说,双向RAID-1可需要2个SN而RAID-5可需要尽可能多的SN当中的分布。框616可后续接着框618。
[0057]在框618中,AZC116确定是否存在充足SN。如果否,那么框618可后续接着框620。否则,框618可后续接着框630。
[0058]在框630中,AZC116确定在循环中是否仍存在一或多个额外所请求组的虚拟驱动器106。如果如此,那么框630可往回循环到框608以创建新的所请求组的新的候选SN列表且重复上文所描述的过程。否则,框630可后续接着框632。
[0059]在框632中,AZCl 16将用以将满足或超过驱动器特性及驱动器数量的虚拟驱动器106分配给VPSA的消息发送到所选择SN列表中的每一所选择SN114。框632可后续接着框 634。
[0060]在框634中,所选择SN114创建每一虚拟驱动器106上的设置分区及数据分区。如上文所描述,设置分区由VC104用于创建设置卷以存储VPSA系统信息及元数据。框634可后续接着框636。
[0061]在框636中,所选择SN114将设置及数据分区暴露于VPSA的VC104。框636可后续接着框638。
[0062]在框638中,所选择SNl 14向AZCl 16报告经更新驱动器库存且结束方法600。
[0063]图7是本发明的一或多个实施例中的用于系统100创建VPSA中的VC的示范性方法700的流程图。方法700可以框702开始。
[0064]在框702中,web服务器118将web表格120发射到顾客计算机112以允许顾客提供VPSA的参数。如上文所论述,所述参数包含VPSA中的每一 VC的VC硬件模型及用于验证对VPSA的I/O存取的凭证。VC硬件模型规定CPU模型、一或多个CPU特征、CPU数量、RAM容量及联网带宽。所述参数被回传到web服务器118,web服务器118将其发射到AZC116。框702可后续接着框704。
[0065]在框704中,AZCl 16从所有服务器计算机上的计算代理314检索CPU、存储器及NIC的网络带宽的可用性状态。框704可后续接着框706。
[0066]在框706中,AZCl 16创建AZ中的具有可用处理器/存储器复合体及带满足或超过规定VC硬件模型的可用网络带宽的NIC的服务器计算机的候选服务器计算机列表。框706可后续接着框708。
[0067]在框708中,AZCl 16确定候选服务器计算机列表是否小于VC104的所请求数目。如果如此,那么框708可后续接着框710。否则,框708可后续接着框712。
[0068]在框710中,AZCl 16确定已发生错误,因为存在满足或超过所请求VC硬件模型的不充足处理器/存储器复合体及NIC。AZCl 16可致使web服务器118将错误消息发送到顾客计算机112且结束方法700。
[0069]在框712中,AZC116根据一或多个分类准则将候选服务器计算机列表分类。分类准则可为服务器计算机的利用率。框712可后续接着框714。
[0070]在框714中,AZC116检查可用联网资源且定义VC联网配置。从一范围的可用公共IP地址,AZCl 16将公共IP地址分配给VC104的VNIC以与顾客计算机112通信。从一范围的可用私有IP地址,AZC116将私有IP地址分配给VC104的VNIC以在耦合的VC之间及VC与SN之间通信。框714可后续接着框716。
[0071]在框716中,AZCl 16确定是否因为存在用以分配给VC104及SNl 14的充足公共及/或IP地址而已成功设定联网配置。如果否,那么框716可后续接着框718。否则,框716可后续接着框720。
[0072]在框718中,AZCl 16确定已发生错误,因为存在不充足公共及/或私有IP地址。AZCl 16可致使web服务器118将错误消息发送到顾客计算机112且结束方法700。
[0073]在框720中,AZCl 16选择候选服务器计算机列表中的最高排名的服务器计算机,且在其上将对生成其上具有VC软件(图像)的VM的请求发送到计算代理314(图3)。框720可后续接着框722。
[0074]在框722中,所选择服务器计算机上的计算代理314接收请求且生成新的VM。框722可后续接着框724。
[0075]在框724中,计算代理314确定是否成功生成了 VM。如果否,那么框724可后续接着框726。否则,框724可后续接着框728。
[0076]在框726中,AZCl 16确定已在生成VM时发生错误。AZCl 16可致使web服务器118将错误消息发送到顾客计算机112且结束方法700。
[0077]在框728中,VC在VM上起动且从AZCl 16检索VPSA及VC信息,此结束方法700。从AZCl 16检索的信息包含VPSA信息(名称及ID)、VC信息(每一 VC具有AZ内的独特实例ID)、联网信息(VC的MAC及IP地址及VM中的VNIC对私有及公共网络的关联)以及用于验证对VPSA的I/O存取的凭证。VC可需要此类信息来维持持久识别、适当地设置其联网且建立与一或多个耦合的VC的群集握手。
[0078]所揭示的实施例的特征的各种其它更改及组合均在本发明的范围内。所附权利要
求书涵盖众多实施例。
【权利要求】
1.一种经由计算机网络为公共或私有云中的云服务器提供虚拟私有存储阵列服务的方法,其包括: 经由所述计算机网络接收虚拟私有存储阵列的参数,所述虚拟私有存储阵列的所述参数包含所述虚拟私有存储阵列中的每一虚拟控制器的虚拟控制器硬件模型、所述虚拟私有存储阵列的驱动器特性及所述虚拟私有存储阵列的驱动器数量; 由可从服务器计算机获得的处理器/存储器复合体及物理驱动器创建所述虚拟私有存储阵列; 由所述虚拟私有存储阵列创建一或多个卷; 经由所述计算机网络将所述一或多个卷暴露于一或多个云服务器;及处置经由所述计算机网络来自所述一或多个云服务器的对所述经暴露一或多个卷的存取请求。
2.根据权利要求1所述的方法,其中: 每一服务器计算机运行包含存储节点及计算代理中的至少一者的软件;且所述创建所述虚拟私有存储阵列、所述创建一或多个卷、所述暴露所述一或多个卷及所述处置存取请求包括: 选择满足或超过所述驱动器特性及所述驱动器数量的一组所述物理驱动器,所述所选择物理驱动器来自一组所述服务器计算机; 指令所述组所述服务器计算机上的存储节点将虚拟驱动器分配给所述虚拟私有存储阵列,所述存储节点经配置以: 由所述所选择物理驱动器创建所述虚拟驱动器,每一虚拟驱动器为一分区,所述分区为一整个所选择物理驱动器或一个所选择物理驱动器的一部分;及将所述虚拟驱动器暴露于所述虚拟私有存储阵列中的虚拟控制器; 选择各自满足或超过所述虚拟控制器硬件模型的一组所述处理器/存储器复合体,所述所选择处理器/存储器复合体来自另一组所述服务器计算机; 指令所述另一组所述服务器计算机上的计算代理生成所述虚拟控制器的虚拟机器,所述计算代理经配置以: 生成一个虚拟机器,所述虚拟机器在每一所选择处理器/存储器复合体的专用于所述虚拟机器的至少部分上;及 每一虚拟机器起动一个虚拟控制器,使得所述虚拟私有存储阵列中的每一虚拟控制器在不同服务器计算机上运行,所述虚拟控制器中的一或多者经配置以: 发现所述经暴露虚拟驱动器; 创建包括所述经暴露虚拟驱动器的一或多个虚拟池; 对所述一或多个虚拟池实施数据保护方案; 由所述一或多个虚拟池创建所述一或多个卷; 经由所述计算机网络将所述一或多个卷暴露于所述一或多个云服务器;及处置经由所述计算机网络来自所述一或多个云服务器的对所述经暴露一或多个卷的存取请求。
3.根据权利要求1所述的方法,其中: 所述存储节点进一步经配置以:发现所述物理驱动器; 针对驱动器类型及驱动器容量查询所述物理驱动器;及 将所述驱动器类型及所述驱动器容量发射到可用性区控制器; 所述选择一组所述物理驱动器包括: 创建具有满足或超过所述驱动器特性的物理驱动器的候选服务器计算机的列表; 根据一或多个分类准则将所述列表分类;及 选择最高排名的候选服务器计算机的物理驱动器。
4.根据权利要求1所述的方法,其中所述选择一组所述处理器/存储器复合体包括: 针对所述处理器/存储器复合体查询所述服务器计算机; 创建具有满足或超过所述虚拟控制器硬件模型的处理器/存储器复合体的候选服务器计算机的列表; 根据一或多个分类准则将所述列表分类;及 选择最高排名的候选服务器计算机的处理器/存储器复合体。
5.根据权利要求1所述的方法,其中所述组服务器计算机包含所述服务器计算机的部分或全部。
6.根据权利要求1所述的方法,其中所述组所述服务器计算机与所述另一组服务器计 算机重叠。
7.根据权利要求1所述的方法,其中所述处置存取请求包含:验证所述存取请求以确保数据保密性。
8.—种经由计算机网络提供虚拟私有存储阵列作为服务的方法,所述方法包括: 经由所述计算机网络接收所述虚拟私有存储阵列的参数,所述虚拟私有存储阵列的所述参数包含所述虚拟私有存储阵列中的每一虚拟控制器的虚拟控制器硬件模型、所述虚拟私有存储阵列的驱动器特性及所述虚拟私有存储阵列的驱动器数量;及 由可从服务器计算机获得的处理器/存储器复合体及物理驱动器创建所述虚拟私有存储阵列,每一服务器计算机运行包含存储节点及计算代理中的至少一者的软件,所述创建所述虚拟私有存储阵列包括: 选择满足或超过所述驱动器特性及所述驱动器数量的一组所述物理驱动器,所述所选择物理驱动器来自一组所述服务器计算机; 指令所述组所述服务器计算机上的存储节点将虚拟驱动器分配给所述虚拟私有存储阵列,所述存储节点经配置以: 由所述所选择物理驱动器创建所述虚拟驱动器,每一虚拟驱动器为一分区,所述分区为一整个所选择物理驱动器或一个所选择物理驱动器的一部分;及将所述虚拟驱动器暴露于所述虚拟私有存储阵列中的虚拟控制器; 选择各自满足或超过所述虚拟控制器硬件模型的一组所述处理器/存储器复合体,所述所选择处理器/存储器复合体来自另一组所述服务器计算机; 指令所述另一组所述服务器计算机上的计算代理生成所述虚拟控制器的虚拟机器,所述计算代理经配置以: 生成一个虚拟机器,所述虚拟机器在每一所选择处理器/存储器复合体的专用于所述虚拟机器的至少部分上;及每一虚拟机器起动一个虚拟控制器,使得所述虚拟私有存储阵列中的每一虚拟控制器在不同服务器计算机上运行,所述虚拟控制器中的一或多者经配置以: 发现所述经暴露虚拟驱动器; 创建包括所述经暴露虚拟驱动器的一或多个虚拟池; 对所述一或多个虚拟池实施数据保护方案; 由所述一或多个虚拟池创建一或多个卷; 经由所述计算机网络将所述一或多个卷暴露于一或多个顾客计算机;及 处置经由所述计算机网络来自所述顾客计算机的对所述经暴露一或多个卷的存取请求。
9.根据权利要求8所述的方法,其进一步包括: 经由所述计算机网络发射web表格,所述web表格经配置以回传所述参数; 确定所述虚拟私有存储阵列的服务费用; 经由所述计算机网络发射web页面,所述web页面包含所述服务费用,所述web页面经配置以回传对创建所述虚拟私有存储阵列的确认;及 经由所述计算机网络从所述顾客计算机接收所述确认。
10.根据权利要求8所述的方法,其中: 所述虚拟控制器硬件模型规定中央处理单元模型、中央处理单元特征、中央处理单元数量、随机存取存储器容量及联网带宽中的至少一者;且 所述驱动器特性规定驱动器类型、驱动器容量及驱动器加密中的至少一者。
11.根据权利要求8所述的方法,其中: 每一虚拟驱动器为由分区创建的逻辑卷,所述分区为整个物理驱动器或物理驱动器的部分;且 所述存储节点经配置以通过将所述虚拟驱动器作为网络块装置暴露于所述虚拟控制器而将所述虚拟驱动器暴露于所述虚拟控制器。
12.根据权利要求8所述的方法,其中所述参数进一步包含所述虚拟私有存储阵列的RAID数据保护等级及所述虚拟私有存储阵列中的虚拟控制器数量中的一者。
13.根据权利要求8所述的方法,其中: 所述存储节点进一步经配置以: 发现所述物理驱动器; 针对驱动器类型及驱动器容量查询所述物理驱动器;及 将所述驱动器类型及所述驱动器容量发射到可用性区控制器; 所述选择一组所述物理驱动器包括: 创建具有满足或超过所述驱动器特性的物理驱动器的候选服务器计算机的列表; 根据一或多个分类准则将所述列表分类;及 选择最高排名的候选服务器计算机的物理驱动器。
14.根据权利要求13所述的方法,其中所述一或多个分类准则包含所述候选服务器计算机的利用率。
15.根据权利要求8所述的方法,其中所述选择一组所述处理器/存储器复合体包括: 针对所述处理器/存储器复合体查询所述服务器计算机;创建具有满足或超过所述虚拟控制器硬件模型的处理器/存储器复合体的候选服务器计算机的列表; 根据一或多个分类准则将所述列表分类;及 选择最高排名的候选服务器计算机的处理器/存储器复合体。
16.根据权利要求15所述的方法,其中所述一或多个分类准则包含所述候选服务器计算机的利用率。
17.根据权利要求8所述的方法,其中所述虚拟控制器经配置以用于负载共享及冗余。
18.根据权利要求8所述的方法,其中所述组服务器计算机包含所述服务器计算机的部分或全部。
19.根据权利要求8所述的方法,其中所述组所述服务器计算机与所述另一组服务器计算机重叠。
20.根据权利要求8所述的方法,其中所述物理驱动器包含磁性硬盘驱动器、固态驱动器及相变存储器驱动器中的一或多者。
21.根据权利要求8所述的 方法,其中所述一或多个虚拟控制器经配置以通过验证存取请求以确保数据保密性而处置所述存取请求。
22.—种经由云计算环境中的计算机网络给公共或私有云中的一或多个顾客计算机提供虚拟私有存储阵列作为服务的数据存储系统,所述数据存储系统包括: 可用性区控制器,其经配置以通过以下操作由可从服务器计算机获得的处理器/存储器复合体及物理驱动器创建所述虚拟私有存储阵列: 接收所述虚拟私有存储阵列的参数,所述参数包含所述虚拟私有存储阵列中的每一虚拟控制器的虚拟控制器硬件模型、所述虚拟私有存储阵列的驱动器特性及所述虚拟私有存储阵列的驱动器数量; 选择满足或超过所述驱动器特性及所述驱动器数量的一组所述物理驱动器,所述所选择物理驱动器来自一组所述服务器计算机; 指令所述组所述服务器计算机上的存储节点将来自所述所选择物理驱动器的虚拟驱动器分配给所述虚拟私有存储阵列; 选择各自满足或超过所述虚拟控制器硬件模型的一组所述处理器/存储器复合体,所述所选择处理器/存储器复合体来自另一组所述服务器计算机;及 指令所述另一组所述服务器计算机上的计算代理生成所述虚拟控制器的虚拟机器;所述服务器计算机,其具有所述物理驱动器及所述处理器/存储器复合体,所述服务器计算机包含至少一个服务器计算机,所述至少一个服务器计算机包括: 一或多个物理驱动器; 处理器/存储器复合体; 存储节点,其在所述处理器/存储器复合体的第一部分上运行,所述存储节点经配置以: 由所述一或多个物理驱动器创建一或多个虚拟驱动器,每一虚拟驱动器为一分区,所述分区为一整个所选择物理驱动器或一个所选择物理驱动器的一部分;及 将所述一或多个虚拟驱动器暴露于所述虚拟私有存储阵列中的虚拟控制器; 计算代理,其经配置以:生成虚拟机器,所述虚拟机器在所述处理器/存储器复合体的专用于所述虚拟机器的第二部分上;及 起动所述虚拟机器上的虚拟控制器; 所述虚拟机器,其在所述处理器/存储器复合体的专用于所述虚拟机器的所述第二部分上运行; 所述虚拟控制器,其在所述虚拟机器上运行,所述虚拟控制器经配置以: 发现所述经暴露虚拟驱动器; 创建包括所述经暴露虚拟驱动器的一或多个虚拟池; 对所述一或多个虚拟池实施数据保护方案; 由所述一或多个虚拟池创建一或多个卷; 经由所述计算机网络将所述一或多个卷暴露于一或多个顾客计算机;及处置经由所述计算机网络来自所述一或多个顾客计算机的对所述经暴露一或多个卷的存取请求; 一或多个公共交换机,其耦合所述计算机网络与所述另一组所述服务器计算机以在所述虚拟控制器与所述一或多个顾客计算机之间进行通信;及 一或多个私有交换机,其耦合所述组所述服务器计算机以在位于不同服务器计算机上的所述虚拟控制器与所述存储节点之间进行通信。
23.根据权利要求22所述的系统,其进一步包括web服务器,所述web服务器经配置以: 经由所述计算机网络将web表格发射到顾客计算机,所述web表格经配置以回传所述参数; 经由所述计算机网络接收所述参数且将所述参数发射到所述可用性区控制器; 经由所述计算机网络发射web页面,所述web页面包含所述虚拟私有存储阵列的服务费用,所述web页面经配置以回传对创建所述虚拟私有存储阵列的确认 '及 经由所述计算机网络接收所述确认且将所述确认发射到所述可用性区控制器。
24.根据权利要求22所述的系统,其中: 所述虚拟控制器硬件模型规定中央处理单元模型、中央处理单元特征、中央处理单元数量、随机存取存储器容量及联网带宽中的至少一者;且 所述驱动器特性规定驱动器类型、驱动器容量及驱动器加密中的至少一者。
25.根据权利要求22所述的系统,其中: 每一虚拟驱动器为由分区创建的逻辑卷,所述分区为整个物理驱动器或物理驱动器的部分;且 所述存储节点经配置以通过将所述一或多个虚拟驱动器作为一或多个网络块装置暴露于所述虚拟控制器而将所述一或多个虚拟驱动器暴露于所述虚拟控制器。
26.根据权利要求22所述的系统,其中所述参数进一步包含所述虚拟私有存储阵列的RAID数据保护等级及所述虚拟私有存储阵列中的虚拟控制器数量中的一者。
27.根据权利要求22所述的系统,其中: 所述存储节点进一步经配置以: 发现所述一或多个物理驱动器;针对驱动器类型及驱动器容量查询所述一或多个物理驱动器;及 将所述驱动器类型及所述驱动器容量发射到所述可用性区控制器;且 所述可用性区控制器经配置以通过以下操作选择所述组所述物理驱动器: 创建具有满足或超过所述驱动器特性的物理驱动器的候选服务器计算机的列表; 根据一或多个分类准则将所述列表分类;及 选择最高排名的候选服务器计算机的物理驱动器。
28.根据权利要求25所述的系统,其中所述一或多个分类准则包含所述候选服务器计算机的利用率。
29.根据权利要求22所述的系统,其中所述可用性区控制器经配置以通过以下操作选择所述组所述处理器/存储器复合体: 针对所述处理器/存储器复合体查询所述服务器计算机; 创建具有满足或超过所述虚拟控制器硬件模型的处理器/存储器复合体的候选服务器计算机的列表; 根据一或多个分类准则将所述列表分类;及 选择最高排名的候选服务器计算机的处理器/存储器复合体。
30.根据权利要求29所述的系统,其中所述一或多个分类准则包含所述候选服务器计算机的利用率。
31.根据权利要求22所述的系统,其中所述虚拟控制器经配置以用于负载共享及冗余。
32.根据权利要求22所述的系统,其中所述组服务器计算机包含所述服务器计算机的部分或全部。
33.根据权利要求22所述的系统,其中所述组所述服务器计算机与所述另一组服务器计算机重叠。
34.根据权利要求22所述的系统,其中所述物理驱动器包含磁性硬盘驱动器、固态驱动器及相变存储器驱动器中的一或多者。
35.根据权利要求22所述的方法,其中所述虚拟控制器经配置以通过验证所述存取请求以确保数据保密性而处置所述存取请求。
【文档编号】G06F3/06GK103999031SQ201280054339
【公开日】2014年8月20日 申请日期:2012年8月30日 优先权日:2011年11月5日
【发明者】纳尔逊·纳胡姆, 亚伊尔·赫什科, 约阿夫·奥西亚, 希亚姆·考希克V., 列夫·韦布拉特, 亚历克斯·利亚卡斯, 摩西·梅尔尼科夫, 弗拉迪米尔·波波夫斯基 申请人:泽达拉存储公司