yookee1983
作者yookee1983·2018-03-08 21:38
其它·开源云中文社区

仰慕 Queens,先从 OpenStack Cinder 开始吧!

字数 2538阅读 1166评论 1赞 1

OpenStack 社区刚刚发行了 Queens 版本,此版本为 OpenStack 的第17个版本。此版包含了一些重大更新,例如SDN、GPU兼容和容器负载跟踪监控。
正文
OpenStack 正在飞速发展以满足云计算用户的需求。正如 OpenStack 基金会执行总监 Jonathan Bryce 所说:“云计算最初是一种获得虚拟机的快速方式。“现在,人们期望 OpenStack 能够解决更多的问题。云计算的涉及范围正在扩大,将来人们生活的方方面面都会云化。”

在本次版本更新中,有关存储的更新引人关注。

Queens 版本中一项新功能就属于 OpenStack 中的 Cinder 存储子项目,“Cinder multi-attach 功能(即SDS功能)可以将一块块存储同时挂载在多台虚拟机上。”Bryce这么说。

OpenStack 基金会表示,新的SDS功能是云环境中最受欢迎的功能之一, 该功能提供存储冗余。 如果一个节点发生故障,另一个节点可接管并允许访问该卷。

“通常,你有多台前端服务器连接到一台后端的高端服务器上,当一台前端服务器 down 掉,仍可以通过其他的前端服务器访问后端高端服务器。”通过 Cinder ,可以利用虚拟存储提供相同级别的高可用性,而不依赖昂贵的光纤通道存储阵列(共享存储)。

存储设备一直运行着软件,所以有些人声称软件定义存储(SDS)并不是什么新鲜事。但 Bryce 表示,现在说的“软件定义存储”是指存储软件与底层硬件的分离。他说:“与过去30年来我们看到的存储和供应商捆绑在一起时相比,它提供了更大的灵活性。

新增加的 multi-attach 功能使用户能够将单个块存储卷挂在到多个服务器,以及从多个服务器访问单个块存储卷。

此功能的用例包括 active-active 和 hot-standby场景——有多台服务器需要访问卷上的数据,以在出现故障时快速恢复或能够处理系统中增加的负载。卷的 multi-attach 功能需要来自两个 OpenStack 项目,即 Cinder(块存储)和Nova(计算)的支持。

Queens 版本中增加了这一功能,但背后是多年的社区工作积累。
用户能得到什么?
有一个问题,经常会出现,那就是“我们是否应该向云平台添加我们认为并不适合的功能?”。

由于之前的架构决策,添加更具挑战性的功能时大家都会想到这个问题。

multi-attach 功能就是为解决这个问题而生。

对云原生应用程序的需求在很多行业都存在,但重写所有内容来适应需求相当奢侈。为了支持这一转型,我们需要使平台适应那些并不成熟的工作负载。

在过去的几个发布周期中,社区在努力消除在Cinder和Nova中实现卷multi-attach功能的障碍,项目组每周要召开一次会议,决定新API的设计和对平台的进一步改进。

那么,用户会得到什么?

作为一个起点,我们为 Cinder 添加了一个新的挂载/卸载 API,以使流程更加灵活。新的 API 引入了“attachment”的概念,用户可以创建、更新、完成或删除,以实现存储卷的挂载或卸载。

用户可以使用新的挂载/卸载 API 多次挂载卷(在你选择的Cinder后端支持该功能的情况下)。在Queens发行版中,有三个驱动程序支持 multi-attach :LVM、NetApp / SolidFire和Oracle ZFSSA。用户可以查看Driver Support Matrix以获取更多信息。

用户需要创建卷类型来创建支持 multi-attach 功能的卷,然后才能使用此功能。

用户也可以将卷重新设为 multi-attach 不可用,但只能在卷处于“可用”状态时才能这么做。从Queens版本开始,已不可在卷创建操作期间使用“ multiattach ”标志。

在计算方面,为了将单个卷挂载到多个VM实例,用户需要运 行Nova microversion 2.60 或更高版本。同样,挂载到 Cinder 后端,用户会发现关于 Nova 中 hypervisors 的限制。

在Queens版本中,只有 Libvirt 支持卷的 multi-attach ,用户需要 Libvirt》 = 3.10或QEMU 《2.10。有关更多信息,请参阅 Feature Support Matrix。

目前,所有后续的卷 attachment 都将以读写(RW)模式挂载,包括从卷引导的情况。用户可以使用两个新的Cinder 策略打开或关闭该功能:

volume:multiattach
volume:multiattach_bootable_volume

用户可以在Cinder和Nova的管理指南章节中了解有关功能和局限性的更多信息。

除了新的 API 和功能之外,我们还开始覆盖测试方面(不仅在项目中,还包括 Tempest )。我们添加了基本功能、从 multi-attach 卷引导服务器,或者使用挂载到两个服务器的 multi-attach 卷调整服务器的大小等测试用例。
下一步是什么 ?
社区团队正在寻求反馈并讨论对功能的改进。目前正在讨论的改进想法包括:为次级 attachment 指定挂载模式提供支持。有关最新信息,请查看当前版本的Cinder规格列表。

为了进一步改进测试领域,社区正在考虑增加更健壮的集成测试,例如写入和读取两台虚拟机之间的共享卷。

如果你想参与或得到反馈,可以通过 OpenStack 开发人员邮件列表与该项目团队联系,请在主题行中使用标签‘[cinder]’和‘[nova]’,以确保获得相关人员的注意。你也可以联系 IRC ,每个团队都有自己的频道:#OpenStack-cinder和#OpenStack-nova。
感谢团队支持
如果没有团队的努力,特别是以下贡献者的付出,这个期待已久的功能也不会落地:John Griffith、Matt Riedemann、Steve Noyes、John Garbutt、Walter Boring、Balazs Gibizer、Sylvain Bauza、Melanie Witt、Sean McGinnis和Jay Bryant。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

1

添加新评论1 条评论

wuwenpinwuwenpin软件开发工程师南京
2018-03-09 20:26
学习了
Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广