Openstack持久存储之Swift

OpenStack中的持久存储可分为三类:对象存储(object storage)、文件共享存储(file share storage)和块存储(block storage),对应的项目分别是Swift、Manila和Cinder。

一句话说清楚对象存储就是:对象存储不是NAS/SNA,对象存储允许用户使用RESTful HTTP API以对象形式存储数据并且对象存储可以无限扩展,可以更好地处理节点故障而不丢失数据,无法通过文件协议(如BFS块文件系统、SMB块文件系统或CIFS公共 Internet 文件系统)直接访问对象存储。对象存储通常用于归档和备份数据,例如虚拟机镜像、照片、视频和音乐。

一、Swift架构

Swift是一种创新的存储系统,它通过独特的架构实现无缝扩展和高度容错,确保数据持续可用,而不模仿传统存储接口,专注于高效、可靠的数据管理。Swift架构是分布式的,可以防止任何单点故障(Single Point Of Failure,SPOF),它还被设计为能够水平缩放。

Swift包括以下组件:Swift代理服务,账户服务,容器服务,对象服务

解释 元数据: 元数据提供对象的描述性信息,它被存储为键值对(时间-存储信息)。

二、Swift在实际存储上的规划(目的:为了隔离故障)

Swift层次结构图

三、Swift如何实际将数据存储在磁盘上?

Swift对象存储系统通过一致性哈希算法和Ring机制将数据分区并映射到多个节点的磁盘上,每个对象以独立文件形式存储,同时维护多个副本以确保高可用性和数据冗余。在较高的层次上看,Swift就像一个巨大的哈希数据结构,其中所有可用空间都被分成槽,然后使用哈希函数来将数据映射为槽位。

四、Swift如何实现存储策略?

在Swift对象存储系统中,为了确保数据的高可用性,传统的做法是通过维护多个副本并将它们分散到不同的区域、区(Zone)、节点和磁盘上来实现冗余。这种策略虽然非常有效,但它确实带来了较高的存储成本------当每个对象都使用默认的三副本时,实际可用的存储量仅为总容量的大约三分之一,对于至关重要的数据,组织或许愿意承担这样的成本以换取更高的可靠性和冗余度。然而,这种方法对那些希望利用昂贵的Swift对象存储系统来满足其数据可用性和性能需求的应用来说是一个挑战。因此,Swift引入了存储策略的概念,旨在通过差异化复制策略来解决冗余性和成本之间的矛盾。

除了传统的多副本机制外,纠删码(Erasure Coding, EC)作为另一种冗余性策略,在Kilo版本发布后被OpenStack Swift所采用。纠删码通过奇偶校验信息来重建丢失的数据片段,从而提供了一种创新的方法来平衡性能与成本。具体而言,当用户上传文件至配置了纠删码的对象存储时,Swift代理会将数据分割成若干段(segments),然后调用PyECLib库将这些数据段编码为纠删码片段(fragments)。随后,这些编码后的片段会被流式传输到各个存储节点上进行保存。

纠删码的原理可以类比于RAID技术中的RAID 5,其中数据被划分为条带,并生成奇偶校验条带来从磁盘故障中恢复数据。相比之下,默认的Swift复制策略类似于RAID 1或镜像(mirroring),即数据在不同磁盘之间直接复制。而采用纠删码的方式只需要大约40%左右的数据大小的额外空间,这远低于基于复制方案所需的存储开销。

为了支持纠删码功能,Swift依赖于一个名为PyECLib的后端库,它为多种纠删码算法提供了Python接口,并且具有良好的扩展性,允许以插件形式集成自定义的纠删码实现。

五、对象存储和raid存储之间的关系

尽管Swift本身并不依赖于RAID技术,但在实际应用中,两者常常结合使用以满足不同的性能和可靠性要求。例如,在媒体行业中,一家公司可能会选择将原始素材(如视频、音频和图片)存储在对象存储平台上,因为这类数据通常是非结构化的且体积较大;而对于需要频繁读写的编辑过程,则更适合采用RAID存储系统,因为它能提供更高的I/O速度和更低的延迟。最终成品可以再次归档回对象存储中长期保存,形成一个完整的生命周期管理流程。

相关推荐
闲云自留地4 分钟前
存储实验室:Cinder 多后端配置、卷挂载实例,Swift 对象存储实操教程
openstack
碣石潇湘无限路9 分钟前
科技优惠日报(详情版)· 2026-09-12:16 家厂商 73 条有效优惠
ai·云计算·云服务·优惠活动
科技每日热闻28 分钟前
AWS Activate云积分可以用于哪些云服务和AI开发场景?
人工智能·ai·云计算·aws
荣合技术服务1 小时前
高校HPC超算集群平台建设服务商——荣合科算
服务器·云计算·超算集群·hpc超算·服务器集群·科研计算
QYRdata11 小时前
权威数据披露:2026至2032年边缘云服务CAGR达15.6%,赛道发展驶入快车道
网络·人工智能·云计算·服务发现·边缘计算
闲云自留地13 小时前
从零吃透 OpenStack:起源、理念、架构、创建虚拟机交互流程
架构·交互·openstack
闲云自留地21 小时前
OpenStack 镜像管家 Glance:架构、镜像格式、状态机与镜像制作全讲解
架构·openstack
2501_9304724421 小时前
上云迁移验收-CVM健康校验用例与数据库比对报告
数据库·人工智能·阿里云·云计算·腾讯云
AI_Cloud_推荐1 天前
Android集成百度人脸离线SDK实战:从环境搭建到活体检测(附避坑清单)
android·人工智能·百度·云计算·视觉检测·智能硬件
闲云自留地1 天前
OpenStack 的身份管家:Keystone 令牌、RBAC 权限模型拆解
wpf·openstack