[云计算]OpenStack - Swift
2021-06-05 15:02
标签:get download 交集 可靠 云计 最新版本 文件属性 rest ica Swift是OpenStack云存储服务的重要组件,它提供了高可用、分布式、持久性、大文件的对象存储服务。此外Swift还可以利用一系列的便宜硬件存储设备,提供安全、可靠的存储服务。 如果数据出现了不一致,后台服务进程会在一定时间窗口内通过检测和复制协议来完成数据同步,从而保证达到最终一致性。 将虚拟节点(分区)映射到一组物理存储设备上 Account Ring、Container Ring、Object Ring 包括: 分区到设备映射关系(replica2part2dev_id数组) 计算分区号的位移(part_shift整数) [云计算]OpenStack - Swift 标签:get download 交集 可靠 云计 最新版本 文件属性 rest ica 原文地址:https://www.cnblogs.com/Skybiubiu/p/14614288.html[云计算]OpenStack - Swift
Swift在OpenStack中的位置
Swift特点
Swift组件
组件
功能
Proxy Server
对外提供对象服务 API,由于采用无状态的 REST 请求协议,可以进行横向扩展来均衡负载
Account Server
提供账户元数据和统计信息,并维护所含容器列表的服务,每个账户的信息被存储在一个 SQLite 数据库中
Container Server
提供容器元数据和统计信息,并维护所含对象列表的服务,每个容器的信息也存储在一个 SQLite 数据库中
Object Server
提供对象元数据和内容服务,每个对象的内容会以文件的形式存储在文件系统中,元数据会作为文件属性来存储,建议采用支持扩展属性的 XFS 文件系统
Replicator
检测本地分区副本和远程副本是否一致,发现不一致时会采用推式(Push)更新远程副本,并且确保被标记删除的对象从文件系统中移除
Updater
当对象由于高负载的原因而无法立即更新时,任务将会被序列化到在本地文件系统中进行排队,以便服务恢复后进行异步更新
Auditor
检查对象,容器和账户的完整性,如果发现比特级的错误,文件将被隔离,并复制其他的副本以覆盖本地损坏的副本;其他类型的错误会被记录到日志中
Account Reaper
移除被标记为删除的账户,删除其所包含的所有容器和对象
Swift原理
一致性哈希
数据一致性模型
W:写操作被确认接受的副本数量;
R:读操作的副本数量。
数据模型
Ring
API
Swift命令
Swift问题定位
Swift逻辑架构