openstack的存储
   韩拓 2012/8/10
openstack的两种存储

• 对象存储
 Swift
• 块存储
 nova-volume
nova-volume

• openstack选择了⽐比较朴素的技术⽅方案
• 商⽤用系统(aws模式)建议使⽤用NetApp⼀一类
 的成熟⽅方案

• 本次话题重点是对象存储,对volume不
 做深⼊入探讨
Swift

• 基于python开发
• 设计容量PB级
• 去中⼼心化设计
• 关注可扩展性
• 成本控制
Swift架构
storage   storage   storage       storage   storage   storage



                        network



          proxy               proxy         proxy


                          network
ring

• ring⽤用于proxy server和⼀一些后台进程
• ⼀一致性hash
• 其它选择?
• CARP(Cache Array Routing Protocol)
存储节点

• Object Server
• Container Server
• Account Server
数据冗余

• 单独的修复进程
• zone
• 元数据修复
• 数据修复
评估⼀一个存储系统
• 可靠性
• 可⽤用性
• 可伸缩性
• 性能
• 成本
• 运维难度
可靠性
• 普通硬盘寿命 -- 3年(66.667%)
 1PB数据(平均单个⽂文件1MB),每天丢失近1千万个


• 普通的磁盘⼤大⼩小 -- 2T
• 普通⺴⽹网络带宽 -- 100MBps (3h)
• 普通磁盘速度 -- 20MBps (15h)
• ⼀一块盘坏掉后,15⼩小时内再坏两块的概
 率为:.000000109 (6个9)
 ⼀一年丢失100个⽂文件
如保提⾼高
• 去中⼼心化的架构可能不利于⾼高可靠性
• 多副本更智能化的管理
• 快速计算出丢失的数据,对元数据的设
 计是个考验

• 对修复的限速(丢失⼀一份与丢失两份不同
 处理)

• RAID/EC(成本考量)
• 异地容灾
可⽤用性
• 任何节点都可以挂掉
 主从结构
 负载均衡

• 地域性不可⽤用
 多机房,配合DNS

• 整个机房不可⽤用
 客户端选择?
运维

• 监控
• 诊断
• ⾃自动化处理
• 在线性能测量
国内运维的问题


• 备案
• 不同ISP,不同地域间的访问速度(CDN
 够⽤用吗?)
关于我

• ⾦金⼭山实验室
• ⾦金⼭山快盘存储系统
• 上海七⽜牛 -- 云存储服务提供商
 http://qiniutek.com
Q &A

Hantuo openstack