OpenStack Swift 的对象存储在昨天的 2.0 版本中获得了一个重要功能,即增加了存储策略。Swift 项目技术主管 John Dickinson 称存储策略是“自从四年前 Swift 开源以来发生的最重要的事情”。那么,存储策略究竟是什么?它们如何影响数据在开源云中的存储方式?
存储策略旨在让系统管理员决定数据如何以及在何处存储,以及为其存在的复制级别。随着云的应用越来越广泛,每种新的应用程序都可能产生不同类型的存储需求。根据应用程序类型,某些数据可能需要比其他数据更高的弹性、更高的区域可用性或其他类型的灵活性。存储策略允许配置云以满足这些需求。
那么,为什么存储策略很重要?Dickinson 在这篇 之前在 Opensource.com 上的文章中解释道。
首先,考虑到单个 OpenStack Swift 集群中可用的全局硬件集,将可以选择在哪个硬件子集上存储特定数据。这可以通过地理位置(例如,美国东部与欧盟与亚太地区与全球)或硬件属性(例如,SATA 与 SSD)来完成。
其次,考虑到用于存储数据的硬件子集,将可以选择如何在该硬件集上编码数据。例如,您可能拥有 2 副本、3 副本或未来的纠删码策略(期待 Juno 版本)。将其与硬件可能性相结合,您将获得例如美国东部降低的冗余、全球三重副本和欧盟纠删码。
第三,考虑到硬件子集以及如何在硬件上存储数据,将可以更好地控制 Swift 如何与特定存储卷通信。这可能是优化的本地文件系统,也可能是 Gluster 卷,甚至是像 Seagate 的新型 Kinetic 驱动器这样的非 POSIX 卷
有关 Swift 中存储策略的更多信息,请观看亚特兰大 OpenStack 峰会的这段视频,该视频简要介绍了 Swift 是什么以及它是如何工作的,更详细地介绍了存储策略的实现,以及一些额外的用例。并务必查看官方公告。
使用 Swift 的 OpenStack 集群和其他云工具可以在不停机的情况下升级,并且该过程相对简单。Swift 团队已经在努力准备下一个主要功能添加,他们正在努力开发纠删码支持。纠删码将为某些应用程序节省大量存储空间,但它们依赖于存储策略,因此此版本将使未来的实现更加容易。
评论已关闭。