跳转到: 导航, 搜索

NovaVsaSpec

  • Launchpad 条目: NovaSpec:nova-virtual-storage-array
  • 创建: 2011-04-12
  • 贡献者: NelsonNahum

总结

为了模拟当前的IT环境,并提供比Amazon的EBS更好的能力,我们希望在nova中添加创建虚拟存储阵列的功能。虚拟存储阵列是块存储设备,具有与当前企业级SAN阵列(如EMC Clariion或HP 3PAR)相同的性能、可靠性和功能。有了此功能,云用户可以按需购买虚拟存储阵列,并像在物理环境中一样将其连接到他们的虚拟机。在虚拟存储阵列(VSA)中,存储管理员可以选择诸如驱动器类型(SSD、SAS、SATA)、接口类型(iSCSI、AoE、FCoE)、缓存大小、虚拟控制器的数量、关于快照和远程复制的策略以及RAID级别等内容。有了此功能,实施OpenStack的云提供商将能够以连接到服务器的简单磁盘驱动器的低成本,向他们的客户提供企业级存储系统。云用户将能够为他们使用的存储选择特定的QoS(例如,仅使用SAS驱动器或仅使用SATA驱动器)。除了块存储卷的QoS之外,VSA还增加了存储的多租户性。在相同的“存储节点”中,可以为不同的客户定义多个虚拟存储阵列。

The proposal is to add VSA as an addition to OpenStack without the need to change the volume APIs.

发布说明

从最终用户角度来看,有了此功能,他们将能够创建虚拟存储阵列并设置不同的QoS(例如,虚拟控制器的数量、缓存大小(GB)、驱动器类型(SSD、SAS、SATA)等)。一旦创建了虚拟存储阵列,用户将以与今天相同的方式创建卷,但可以选择来自哪个VSA。例如,如果VSA具有SAS驱动器、4个虚拟控制器和128 GB的缓存,那么新创建的卷将比在VSA中创建的卷具有更好的性能,而后者所有驱动器都是SATA且只有4GB缓存。VSA是一个可选功能,不会对不想使用此功能的用户的更改产生影响。

原理

VSA将允许企业将需要企业级存储阵列的性能、可靠性和功能的应用程序放入云中,但成本却与云组件的其余部分相同。它还将允许区分不同应用程序所需的的服务质量。

用户故事

用户创建一个VSA并指定缓存大小、每个虚拟控制器的尺寸以及驱动器类型。还可以添加其他参数,例如要使用的RAID算法、VSA级别的快照频率。当用户创建卷时,可以选择告知在哪个VSA上创建该卷。该卷将具有VSA的性能和可靠性。VSA是许多卷的容器,这些卷可以属于不同的实例。这些卷可以放置在云中的任何位置。计算节点访问卷使用块存储协议,例如iSCSI。存储管理员创建和管理虚拟存储阵列,而应用程序管理员在创建卷时无需处理这些细节。

前提条件

设计

  • 将VSA的概念引入Nova,并包含所有处理它的方法(创建/更新/删除)
  • 将驱动器类型概念引入Nova,以表示可用于存储分配的物理驱动器
  • 扩展OpenStack和EC2 API,以适应VSA和驱动器类型。
  • VSA由多个运行VSA S/W(虚拟控制器或VC)的计算实例组成
  • 可以在VSA创建时或稍后将存储添加到VSA。用户需要选择他们希望添加到VSA的驱动器数量和类型。
  • VSA将使用不同的RAID技术来保护存储免受故障影响并加速存储性能。
  • VSA将向其他计算实例或外部发起者展示其自身的卷

实现

组件图

组件

  • 新的VSA控制器接收创建/删除/更新VSA的API。
  • 新的nova-vsa服务运行在CloudController主机上(将来nova-vsa将在所有托管VSA实例的节点上运行)
  • 新的nova-volume驱动程序负责
    • 与SN节点上驻留的特定供应商的S/W进行通信
    • 收集有关物理资源的信息并更新调度器
    • 创建分配给VSA并代表特定驱动器类型的特殊卷
  • 新的驱动器类型和资源感知调度器,用于将卷分配给VSA

请参阅以下文档

https://docs.google.com/present/view?id=dxdbpqd_99ccfr9bcd

UI 变更

在下面的链接中,有参考仪表板的屏幕截图,其中添加了虚拟存储阵列以及对卷屏幕的修改。云用户和项目所有者可以根据所需的服务质量创建自己的VSA,这就是为什么虚拟存储阵列需要成为项目菜单的一部分。在卷级别,唯一的区别是卷所有者从哪个虚拟阵列分配该卷。这样可以自动设置卷的QoS。在本例中,可以创建一个完全由SSD驱动器组成的VSA,并确保从其分配的卷放置在SSD驱动器中。将来,Zadara的虚拟存储阵列将支持诸如不同的RAID算法、灾难恢复的远程复制策略等功能。通过将所有这些功能集中在VSA级别,云提供商将允许他们的客户为不同的应用程序提供必要的QoS存储,而无需对卷级别进行太多更改,也无需投资于基于SAN的存储阵列。

https://docs.google.com/document/pub?id=1CFn57q9gTYgY0pbfkmjOkmid-ZdK9x1y71JvtdcYZ1Y

代码变更

待定

迁移

包括:待定

  • 数据迁移(如果有)
  • 从旧 URL 到新 URL 的重定向(如果有)
  • 如何引导用户使用新的操作方式(如果需要)。

测试/演示计划

这不必在规范接近 Beta 之前添加或完成。

未解决的问题

这应该突出显示需要在进一步的规范中解决的任何问题,而不是规范本身的问题;因为任何存在问题的规范都无法获得批准。

BoF 议程和讨论

使用本节记录 BoF 期间的笔记;如果将其保留在批准的规范中,请用于总结讨论内容并记录任何被拒绝的选项。