在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
一 关于存储
对象存储系统是综合了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文件系统
检查读写权限
|
请发表评论