云服务器的虚拟私有存储阵列服务的制作方法
【专利说明】云服务器的虚拟私有存储阵列服务
[0001 ] 分案申请的相关信息
[0002]本案是分案申请。该分案的母案是申请日为2012年8月30日、申请号为201280054339.9、发明名称为“云服务器的虚拟私有存储阵列服务”的发明专利申请案。
技术领域
[0003]本发明涉及数据存储系统,且更特定来说涉及用于给私有及公共云的用户配给虚拟存储阵列作为服务的平台及技术。
【背景技术】
[0004]现有数据存储阵列就存储及资源配给来说没有充足弹性,且其并非多租户的且无法保证存储系统的子组能够将其部署于云环境中的性能。此外,存储阵列无法配给并提供为对云用户的用户控制的服务。因此,需要可被建立并用作服务同时如传统存储系统一样提供必要数据保密性等级、故障隔离及可预测性能的弹性虚拟存储阵列。
【发明内容】
[0005]在本发明的一或多个实施例中,一种用于经由计算机网络提供虚拟私有存储阵列(VPSA)作为服务的方法包含经由所述网络接收所述VPSA的参数及由服务器计算机的资源创建所述VPSA。创建所述VPSA包含:将满足或超过规定驱动器特性、驱动器数量及阵列冗余准则的驱动器分配给所述VPSA中的虚拟控制器(VC)并将所述驱动器暴露于所述虚拟控制器(VC),及使处理器/存储器复合体的各自满足或超过规定虚拟控制器硬件模型的部分专用于所述VC。所述VC在独立服务器计算机上的处理器/存储器复合体的所述专用部分上的虚拟机器上运行。所述VC发现所述经暴露驱动器,由经暴露物理驱动器创建虚拟池,对所述虚拟池实施数据保护,由所述虚拟池创建卷,经由所述网络将所述卷暴露于顾客计算机(例如,在私有或公共云中运行的顾客应用程序服务器),及处置来自所述顾客计算机的对所述卷的存取请求。每一 VPSA具有专用资源(例如,中央处理单元、随机存取存储器、网络接口卡及磁盘驱动器)及由云的用户控制的专用管理图形用户接口。以此方式,可能给云的每一用户提供一致性能、安全性及对存储的控制。
【附图说明】
[0006]在图式中:
[0007]图1是动态地提供虚拟私有存储阵列(VPSA)作为云中的服务的示范性软件系统的框图;
[0008]图2是用于实施图1的软件系统的示范性硬件系统的框图;
[0009]图3是图2中的示范性存储节点计算机的框图;
[0010]图4是用于实施图1的软件系统的示范性替代硬件系统的框图;
[0011]图5是用于图1的系统生成新的VPSA的示范性方法的流程图;
[0012]图6A及6B展示用于图1的系统将虚拟驱动器分配给VPSA中的虚拟控制器(VC)的示范性方法的流程图;及
[0013]图7A及7B展示用于图1的系统创建VPSA中的全部根据本发明的实施例布置的VC的示范性方法的流程图。
[0014]在不同图中使用相同元件符号指示类似或相同的元件。
【具体实施方式】
[0015]图1是本发明的一或多个实施例中的动态地配给并管理虚拟私有存储阵列(VPSA)作为云中的服务的示范性软件系统100的框图。系统100从标准服务器计算机及数据存储媒体环境实现VPSA的创建、配给及管理。系统100经由计算机网络102将VPSA连接到在顾客计算机(例如由另一服务提供者给顾客提供的云服务器)上运行的应用程序。云服务器为由提供者给顾客提供为服务的虚拟服务器。尽管服务提供者可提供存储作为额外服务,但顾客不具有对所提供存储的配置的任何控制。
[0016]VPSA由一或多个虚拟控制器(VC) 104及暴露于VC 104的一或多个虚拟驱动器106建构。虚拟驱动器106为由分区创建的逻辑卷,所述分区为整个物理驱动器108或物理驱动器108的一部分。VC 104及物理驱动器108分布于构成可用性区(AZ)的标准服务器计算机当中。
[0017]在VPSA中,VC104为除其它之外还负责以下各项的软件组件:由虚拟驱动器106创建一或多个虚拟池,实施虚拟驱动器106上的虚拟池中的数据保护,从具有提供于虚拟池中的相同数据保护的虚拟池切出一或多个虚拟卷110,经由目标驱动程序将虚拟卷110导出到一或多个顾客计算机112,及处置来自顾客计算机112(例如,云服务器)的对虚拟卷110的标准输入/输出(I/O)请求。数据保护可为独立磁盘冗余阵列(RAID)方案。I/O请求可为因特网小计算机系统接口(iSCSI)或无限带宽I/O请求。VC 104可实施验证机制以检验对VPSA的经授权I/O存取。举例来说,VC 104可检验嵌入于I/O请求中的凭证(例如用户名及密码)JC104维持VPSA的虚拟及物理实体的持久数据库,给顾客提供对VPSA的管理接口 124,且给顾客提供对VPSA的监视及诊断工具。使用管理接口 124(例如由VC 104提供的web表格),顾客可操纵对云服务器及应用程序的VPSA存储保护及卷配给。每一 VC 104在具有专用存储器、处理及联网资源的单独虚拟机器(VM)中运行。
[0018]物理驱动器108可包含硬盘驱动器(HDD)、固态驱动器(SSD)、相变存储器(PCM)驱动器及其它类型的持久存储驱动器的任一组合。物理驱动器108附接到分布于AZ中的标准服务器计算机当中的存储节点(SNH1LSN 114为除其它之外还负责以下各项的软件组件:针对其驱动器特性查询物理驱动器108,将具有类似驱动器特性的物理驱动器108分组成若干服务质量(QoS)群组,及向可用性区控制器(AZCH16报告驱动器库存(例如,QoS群组A中的六个驱动器及QoS群组B中的两个驱动器KSN 114动态地发现所添加及所移除物理驱动器108且以当前驱动器库存更新AZC 116。
[0019]SN 114在来自AZC 116的每一指令下分割物理驱动器108且由分区创建虚拟驱动器106。如上文所论述,虚拟驱动器106为由分区创建的逻辑卷,所述分区为整个物理驱动器108或物理驱动器108的一部分。由整个物理驱动器108创建虚拟驱动器106给云用户提供益处,包含在物理驱动器基础上的完全数据隔离及保密性以及物理驱动器自加密能力的均衡。由于VC 104及完整物理驱动器108在单个顾客的控制下,因此顾客可使用不与VPSA服务提供者或VPSA服务提供者的其它顾客共享的私有加密密钥。
[0020]SN 114经由目标驱动程序将虚拟驱动器106暴露于VC 104以允许从VC 104到虚拟驱动器106的标准I/O请求(例如,SCSI或无限带宽KSN 114还在每一虚拟驱动器内部创建小的设置分区109。如稍后描述,VC 104使用设置分区来存储VPSA的元数据(metadata) AN114还收集且维持I/O计量及错误统计,提供用于VC 104查询虚拟驱动器106的驱动器特性及驱动器统计的接口,且提供用于AZC 116查询物理驱动器108的驱动器库存、驱动器特性及驱动器统计的接口。
[0021]AZC 116为除其它之外还负责以下各项的软件组件:基于来自顾客的服务请求创建VC 104且将其放置于AZ中的服务器计算机上。当创建VPSA时,AZC 116考虑各种联网拓扑及资源约束,例如服务器计算机上的可用中央处理单元(CPU)及随机存取存储器(RAM)、特定网络接口卡(NIC)适配器(例如具有SR-1OV能力的NIC)的存在及I/O负载平衡。AZC 116还删除不再需要或不再支付的VC 104oAZC 116从服务器计算机分配虚拟驱动器106以满足来自顾客的服务请求。AZC 116考虑物理驱动器108的驱动器特性及物理驱动器108附接到其的SN 114以满足服务请求。AZC 116还以一方式配置AZ中的联网使得VC 104可与相关SN114通信以进行控制及数据通信,相同VPSA的VC 104可彼此通信以进行VC群集管理,且顾客可与VC 104通信以进行控制及数据通信,且提供验证以确保对VPSA的存取的保密性。
[0022]web服务器118将web表格120发射到顾客计算机112中的一者。Web表格120经配置以回传来自顾客的对新的VPSA的服务请求的参数。所述参数规定(I )VPSA中的每一 VC的VC硬件模型,(2) VPSA的驱动器特性,及(3) VPSA的驱动器数量。VC硬件模型规定CPU模型、一或多个CPU特征、CPU数量、RAM容量及联网带宽。驱动器特性规定驱动器类型(HDD、SSD或PCM)、驱动器容量、驱动器加密及驱动器接口(例如,SCSI或无限带宽)。所述参数可进一步包含用于验证对VPSA的I/O存取的凭证(例如用户名及密码),所述凭证稍后由AZC 116提供到VPSA的VC 104。
[0023]基于所述参数,web服务器118将具有VPSA的服务费用的web页面122发射到顾客计算机112中的一者。所述服务费用可为每时间单位的成本。Web页面122经配置以回传来自顾客的对创建VPSA的确认。当web服务器118接收到确认时,其将参数发射到AZC 116。
[0024]为了图解说明多租户,将系统100展示为包含VPSA 126及VPSA 1280VPSA 126包含VC 104-1、104-2 及由物