OpenStack Manila项目PTL首度披露详细技术路线
OpenStack Manila文件共享服务目前正在快速成长中。在10月初由SNIA(存储网络工业协会)发起的Webcast期间,Manila 项目的PTL(项目团队主管)、NetApp架构师Ben Swartzlander列出了即将于10月中旬发布的OpenStack Liberty版本的新功能。他还对下一个版本(即Mitaka版本)进行了前瞻,他预计,Mitaka版本已经做好了在2016年4月下旬发布的准备。
Swartzlander说:“目前关于如何提升Manila版本的想法建议已经有一份长长的列表。因此,我并不认为在很长的一段时间内我们都没有新东西可研究。”
OpenStack Manila的文件存储服务的Liberty版本引入了一些实验性的API和功能,人们可以通过理解这些新功能今后的变化情况,从而对它们加以利用。 Swartzlander说:“这让我们能够将新功能交到用户手上,并且可以让我们能够在展开大规模行动之前获得反馈。”
Swartzlander称,OpenStack社区正在通过Liberty聚焦文档,让Manila达到其他OpenStack项目的标准,其中包括Swift 对象存储和Cinder块存储。Manila项目的贡献者还开源了通用服务器镜像。对此,Swartzlander承认“有些工作我们应该做的更早一些。”
OpenStack Manila在Liberty版本中提供的新功能包括:
超额申请。Swartzlander称,“此功能主要是自动精简配置我们的存储,让Manila管理后台超额申请的程度。”他认为,用户可超额申请2倍、10倍,或是他们认为可能需要的倍数。
共享的扩展/收缩。Swartzlander表示,新的扩展/收缩功能非常重要,因为我们不会从一开始就一直知道自己需要多少空间。
微版本。这基本上是API的精细化版本,每次对API进行调整,都会增加版本数量。Swartzlander说:“服务器和客户端在执行时能够对两者均有的版本进行协调,一旦API中有东西被调整,它们能够找到一个共同的版本,就共同的版本进行沟通,使其能够兼容更多的版本。”
一致性群组。该试验功能允许用户将多个共享快照成为一个单元。Swartzlander描述了一个数据库存储中的潜在使用案例。“可能我希望表空间拥有相对大的执行存储,同时希望我的数据库能够登录速度非常快的存储,以实现在不增加太多成本的情况下,让数据库性能最大化。但是为了备份我的数据库,我需要能够有这两个共享的一个始终如一的快照。一致性群组让我们有能力做这项工作。”
自动化增加共享。该功能可以让用户能够监控如创建共享,或是批准对共享的访问等操作,触发脚本自动增加共享。他称,目前已经有许多不同的方式可以实现这种自动化,同时这一功能涵盖了许多使用案例。
Swartzlander解释说:“块存储和共享文件系统之间的一个主要不同之处是,存储如何附加上这些字节在哪里及客户端正在哪里使用这些存储的信息。在块存储中,我们在中间有一个虚拟层,虚拟层有一个API,你可以告诉它‘去连接这个,获得那个存储,然后将其直接提供给Guest。’Guest 会看到有新的硬件出现,操作系统会看到新的块设备,它们会自动做需要做的事情。”
他称:“借助共享文件系统,增加共享实际上直接将Guest VM连接至了后端。虚拟层不实际参加这一程序,因此让客户端自动增加存储是一个挑战,我们在项目的一开始就已经意识到了这个问题。”
共享迁移。这一该试验功能允许共享从一个存储控制器迁移至另一个上面。据Swartzlander称,共享迁移将首先由管理员控制。
“该功能的使用案例包括为了维护而调整存储控制器。也许我们希望进行负载均衡。我们有一个正在不停工作的存储控制器,而另一个却很少使用。我们可以来回迁移一些东西。”
Swartzlander补充说,共享迁移将成为重新对共享进行分类,调整现有共享类型,修改现有共享的可用性和安全域等未来功能的基础。
人们对即将推出的Mitaka版本的关注点包括“Migration 2.0”、由社区支持的开源驱动器、对大规模升级和高可用性的进一步支持、共享复制等。
Swartzlander认为,共享复制将允许Manila配置共享,以便将其复制到具有不同可用性的区域中。一旦数据中心遭遇停电、火灾或水灾,用户可以切换至数据的拷贝上,从而保持应用的运行。