京东云分布式存储ZBS架构演进
如果无法正常显示,请先停止浏览器的去广告插件。
1.
2. 京东云分布式存储ZBS架构演进
京东科技-京东云架构师-张永锋
3. 目录
• ZBS简介
• IAAS产品全景
• ZBS基础架构
• 基于RAFT的存储引擎
• 即时备份与恢复
• 云硬盘热迁
• 冷热数据分层
• NBD客户端
• SPDK客户端
4. ZBS简介
• 低时延,高性能,高可靠的分布式块存储
• 存储计算分离,云硬盘数据独立于云主机状态
• 支持弹性在线扩容,性能升级、降级
• 支持私有化部署
• 数据面支持RDMA
• 存储引擎基于RAFT协议研发
• 基于快照技术实现指定时间点的数据备份
• 基于LAZY READ的技术恢复指定时间点的数据
• 冷热数据分层/分布式缓存大幅降低成本
• NBD客户端支持通用的块设备
• SPDK客户端提供高性能存储
5. IAAS产品全景
公网出口
弹性IP
子网
ALB
NLB
负载均衡 DNLB
用户IDC
专线服务
NAT网关 VPN
VPC(虚拟网络)
路由表
安全组
ACL
子网
云主机 原生容器
GPU
裸金属
友商云IDC
弹性网卡
VPC对等连接
授信网卡
混合云/多云场景
VPC 2
子网
虚机/容器 云主机
PAAS产品
云硬盘
高可用组
云硬盘
云主机
镜像服务 快照服务
可用区 A
云主机
Kubernetes
集群服务
子网
对象存储
云文件服务
服务
VPC
云硬盘
可用区 B
地域1
京东云骨干环网
京东云 地域2
6. ZBS基础架构
7. 演进路线
•
disk
login manager
基于RAFT的分布式块存储
• 增量镜像 及 Lazy Read
• Fence机制
• 卷热迁
replica
snapshot framework
lazy
proxyclient
snapshot cow
tier
raft
•
•
•
冷热分层(分布式缓存)
单机ssdcache
journal
device
manager
thread
pool
data group
migration
ssd cache
调度组热迁
simple filesystem
linux general block
8. 基于RAFT的存储引擎
Host Pool
Storage Node B
Follower
Storage Node A
Leader
Storage Node C
Follower
9. 调度组初始化及故障迁移
10. 调度组热迁
11. 写时拷贝/增量镜像
客户端
blk1
blk2
blk3
blk4
v: 4
blk5
v: 4
时间线
9GB
实际
数据
blk6
制作镜像 A
存储端
blk1
v: 1
blk2
v: 0
blk3
v: 2
blk4
v: 4
blk4
v: 2
镜像 v3
镜像 v1
blk1
blk1
v: 1
blk2
blk3
v: 2
blk4
v: 2
blk5
v: 4
2GB
数据
更改
云硬盘
10GB
制作镜像 B
制作镜像 C
blk6
v: 3
仅
存储
9GB
有效
数据
COW
blk6
blk5
v: 3
2
7GB
引用
镜像
A
7GB
引用
镜像
A
镜像 A, B, C
blk5
1GB
数据
更改
9/10
GB
9/10
GB
仅
存储
2GB
更改
数据
仅
存储
1GB
更改
数据
9/10
GB
1GB
引用
镜像
B
12. 即时备份/恢复/系统盘
Host Pool
Proxy
Cache
OSS
Storage
Pool
workers
13. 云硬盘热迁
14. Fence机制
计算Host A
Guest OS
Virtio blk
计算Host A
Guest OS
Virtio blk
计算Host B
Guest OS
Virtio blk
Qemu Qemu Qemu
JD Block Client JD Block Client JD Block Client
15. 冷热数据分层
SSD Pool
HDD Pool
16. NBD客户端
Guest OS
Virtio blk
Qemu
JD Block Client
优点:通用块设备,兼容性好
缺点:路径长,延时大,性能低
优化:客户端条带化,性能大幅提升
17. SPDK客户端-vhost模式
Qemu
SPDK
Guest OS
vhost-blk Target
virt queue
JD Block Bdev
优点:路径短,延时低,性能好
缺点:CPU消耗高,非通用块设备,
需要和qemu配合
18. SPDK客户端-裸金属模式
• 利用智能网卡提供的网络和存储的硬件加速
能力,将原有虚拟化网络和存储协议栈的负
载从物理宿主机上卸载至智能网卡
• 使主机具备与物理机无差别的极致性能,且
具备云主机弹性部署、故障快速恢复等特性
• 支持云盘快照、扩容等所有云盘功能
19. SPDK客户端-智能网卡虚拟化模式
• vDPA(vhost Data Path Acceleration)
让virtio数据面不需宿主机干预,云主
机和智能网卡直通
• 延时大幅降低
• 支持云盘快照、扩容等所有云盘功能
• 硬件设备数量有限,可挂载的云硬盘
数量受限
• 受限于智能网卡性能,云硬盘性能上
限不如NBD和vhost模式
APP
VFS / Filesystem
SPDK
JD Target
Generic Block Layer
Virtio Blk
vdpa-dpdk
JD Block Bdev
20.