• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Swift架构和原理详解

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
一 关于存储
对象存储系统是综合了NAS和SAN的优点,同时具有SAN的高速直接访问和NAS的数据共享等优势,提供了高可靠行,跨平台性以及安全的数据共享的存储体系结构。

二 Swift特点
极高的数据持久性
完全对称的系统架构
无限的可扩展性
无单点故障

三 Swift的物理架构

四 Swift的逻辑架构

五 Swift各组件
1 Swift proxy node
Swift-proxy server
2 Swift storage node
swift-account server
swift-container server
swift-object server

六 Proxy Server

七 Account Server

八 Container Server

九 Object Server

十 Swift的操作流程
假设:一个对象在Swift集群中保存3个副本(Replica)
修改一个Swift对象
1 Proxy server会根据/account/container/object查询Ring文件,得到存储该对象的节点列表(长度为3)
2 Proxy Server会将请求转发到这三个节点执行修改操作。如果只有两个节点写入成功,就认为这次PUT操作成功。
3 写入失败的节点在一段时间后将会得到写入成功节点Object Replicator进程推送过来的数据。
从Swift中获取一个对象
1 Proxy Server会根据/account/container/object查询Ring文件,得到存储该对象的节点列表(长度为3)
2 Proxy Server和上述3个节点交互,如果有两个节点确认对象状态OK,则转步骤3,否则返回失败
3 Proxy Server随机选取一个健康的节点获取数据并返回给用户。

十一 Swift的原理
Swift使用的算法,存储理论主要有以下几个:
一致性哈希算法
Partition
Replica
Zone
Weight
Ring

十二 一致性hash

十三 Partition

十四 Replica
1 需要有冗余的副本来保证数据安全
2 理论依据主要来源NWR策略(也叫Quorum协议)
NWR是一种在分布式存储系统中用于控制一致性级别的策略
N代表同一份数据的Replica的份数
W是更新一个数据对象时需要确保成功更新的份数
R代表读取一个数据需要读取的Replica的份数
公式W+R>N,保证某个数据不被两个不同的事务同时读和写
公式W>N/2保证两个事务并发写某一个数据

十五 Zone
所有的Node都在一个机架或一个机房中
断电,网络故障等
对机器的物理位置进行隔离,以满足分区容忍性
引入了Zone的概念,把集群的Node分配到每个Zone中
Zone的大小可以根据业务需求和硬件条件自定义

十六 Weight
分配到更多的partition
更好的利用已有的存储空间
避免由于存储空间不同带来的问题

十七 Ring

十八 测试用部署模式

十九 常用部署模式

二十 Swift手动安装步骤
公共安装配置
Storage节点安装
Proxy节点安装
安装验证

二十一 网络拓扑

二十二 Swift的使用
1 列出所有container
swift list
2 列出container中的文件
swift list <container name>
3 创建container
swift post <container name>
4 上传文件
swift upload <container name> <file_or_directory>
5 删除文件
swift delete <container name> <object name>

二十三 支持Swift的工具

二十四 常见错误排查
1 401认证错误
检查用户名密码以及tenant是否正确
检查认证配置是否正确
2 503错误
检查/srv/node/sdb1是否存在
检查是否是xfs文件系统
检查读写权限

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Swift培训发布时间:2022-07-13
下一篇:
使用swift和rails来实现ios账号系统发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap