AirJD 焦点
AirJD

没有录音文件
00:00/00:00
加收藏

基于块存储服务 by UnitedStack

发布者 arch
发布于 1448931647980  浏览 4876 关键词 DevOps, 存储 
分享到

第1页

基于 块存储服务

UnitedStack



第2页

⼤大纲

• UOSCloud • OpenStack & Ceph • 集群⾼高持久性设计 • 数据⾼高可⽤用性架构 • ⾼高性能重构



第3页

Public Cloud

Region 1 Region 2 Beijing 1 Guangdong 1

……



U Center



Managed Cloud

Customer 1 Customer 2 Customer 3 Customer 4

……



Unified Cloud Service Platform

Unified Ops



第4页

UOSCloud

• 随卷容量变化的性能保证 • 多副本、⾼高数据可⽤用性 • 所有块设备管理操作⼀一秒内完成 • 实时快照 • ⽀支持性能盘和容量盘 • ⽀支持单卷多虚拟机挂载 • 基于



第5页

OpenStack

• OpenStack 块存储



第6页

OpenStack & Ceph

• 随容量变化的性能提供 • 镜像、根分区和数据分区的统⼀一存储 • 只读卷 • 共享卷



第7页

OpenStack & Ceph

1 Gb Network: 20 GB / 100 MB = 200 s = 3 mins 10 Gb Network: 20 GB / 1000 MB = 20 s



Boot Storm



cinder



20 GB Image

HTTP



glance



20 GB Image

HTTP



nova VM VM



LVM SAN Ceph



LocalFS Swift Ceph

GlusterFS



LocalFS NFS

GlusterFS



第8页

OpenStack & Ceph



cinder



glance



nova VM VM



Ceph



第9页

Ceph



第10页

Ceph

• Ceph • 设计⽬目标

• 所有组件横向扩展 • 没有单点故障 • 可以在普通商⽤用硬件使⽤用 • 所有机制必须尽可能⾃自我管理 • 必须开源



第11页

Ceph

• MON: •3

• OSD: • 每个物理存储设备



第12页

分布式存储系统痛点

• 中⼼心化系统 数据控制 Hash(obj)

• 元数据瓶颈 • 单点故障

• 全分布式系统 数据访问 CRu•sh故(c障lu处st理er能st⼒a力t不e,⾜p足olicy, obj)

• 数据恢复困难



第13页

集群⾼高持久性设计

CRUSH—



第14页

Ceph

• CRUSH • 集群监控和⾃自修复系统



第15页

CRUSH

• 伪随机算法 • 集群健康状态 • 节点物理拓扑 • 数据分布策略配置

• 所有组件 可根据三者算出任意数据的存放 位置



第16页

集群状态

• 所有 • 被所有组件拥有 • OSDMap • 灰度发布 • 分布式恢复



第17页

OSDMap



第18页

数据⾼高可⽤用架构

CRUSH—



第19页

计算存储融合



第20页

CRUSH—

• OSD:

• OSD-Domain: ==

• Replicate-Domain: 有关

• Failure-Domain: 关



第21页

CRUSH—



rack-01



osd-domain server-01 server-02 server-03 server-04 server-05 server-06 server-07 server-08

osd-domain



rack-02



root

osd-domain server-09 server-10 server-11 server-12 server-13 server-14 server-15 server-16

osd-domain



rack-03



failure-domain



osd-domain server-17



server-18 server-19 server-20



replica-domain



server-21



server-22 server-23



replica-domain



server-24 osd-domain



第22页

集群物理拓扑



40 Gb Switch



40 Gb Switch



Compute/Storage Node Compute/Storage Node Compute/Storage Node Compute/Storage Node



Compute/Storage Node Compute/Storage Node Compute/Storage Node Compute/Storage Node



Compute/Storage Node Compute/Storage Node Compute/Storage Node Compute/Storage Node



第23页

横向扩展



40 Gb Switch



40 Gb Switch



Compute/Storage Node Compute/Storage Node Compute/Storage Node



Compute/Storage Node Compute/Storage Node Compute/Storage Node



Compute/Storage Node Compute/Storage Node Compute/Storage Node



Compute/Storage Node Compute/Storage Node Compute/Storage Node



Compute/Storage Node Compute/Storage Node Compute/Storage Node



Compute/Storage Node Compute/Storage Node Compute/Storage Node



Compute/Storage Node Compute/Storage Node Compute/Storage Node



Compute/Storage Node Compute/Storage Node Compute/Storage Node



Compute/Storage Node Compute/Storage Node Compute/Storage Node



Compute/Storage Node Compute/Storage Node Compute/Storage Node



Compute/Storage Node Compute/Storage Node Compute/Storage Node



Compute/Storage Node Compute/Storage Node Compute/Storage Node



第24页

⼩小结

• Ceph • 弹性的数据分布策略和物理拓扑输⼊入

实现数据的⾼高可⽤用和⾼高持久性



第25页

⾼高性能重构



第26页

Ceph —



Object oid

data

attr



oid data Attr



• A于标D、查找、获取对象 • 全局唯一

• 二进制数据流 • 可能是任意长度

• 键值对集合 • A于存储对象相关的元数据



ObjectA



ObjectB



ObjectC



ObjectD



RA OS ObjectX



对象和⽂文件区别是什么?



第27页

RADOS —



• RADOS 制,



Replica



N2

Replica



N3



 lient



Request



Primary



写入N1



Nn



Replica



第28页

虚拟块设备映射

Obj Obj Obj Obj Obj Obj Image



OSD OSD OSD OSD



File File File File File File



K/V K/V K/V K/V K/V K/V



K/V K/V



K/V K/V K/V K/V



K/V



FileStore KeyValueStore



第29页

VCPU Thread



Qemu Main Thread



Pipe::Writer



Pipe::Reader



DispatchThreader



OSD::OpWQ



FileJournal::Writer



FileJournal->finisher



RadosClient->finisher



DispatchThreader



Pipe::Reader



Pipe::Writer



FileStore->ondisk_finisher



FileStore->op_finisher



FileStore::SyncThread



FileStore::OpWQ



Pipeline IO



第30页

减少上下⽂文切换损耗



• CPU • 保持苏醒



K/VK/V



第31页

缓存就是

• 增加所有重要数据结构的缓存 K/VK/V

• 改善缓存实现



第32页

使⽤用

• 创建快照、克隆时⼤大⼤大减少拷贝量 K/VK/V

• 启动恢复进程时避免全零拷贝



第33页

使⽤用

• 在合适的使⽤用场景下开启 K/VK/V

• RBDCache



第34页

实验性优化



• 重构消息和事务序列化实现



• 重写



K/VK/V



• 引⼊入全新的缓存实现



第35页

外部优化

• CPU • 内存 • ⽹网络 • 块设备和⽂文件系统 • QEMU



第36页

性能⼩小结

K/VK/V



第37页

性能⼩小结



• 4K • 4K • ⼤大约



K/VK/V



第38页

运维和监控平台

• Puppet • Diamond + Graphite • Zabbix



第39页

Ceph More

• Ceph • EC + KeyValueStore • CephFS(Filesystem as a Service) • Big Data on Ceph(Data Aware) • Ultra High Performance Storage



第40页

谢谢

2014/11/20



支持文件格式:*.pdf
上传最后阶段需要进行在线转换,可能需要1~2分钟,请耐心等待。