首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >知识地图--块存储

知识地图--块存储

作者头像
早起的鸟儿有虫吃
发布于 2025-07-02 10:42:20
发布于 2025-07-02 10:42:20
5710
举报

学习分布式存储系统中的 块存储(Block Storage), 是进入云原生、分布式数据库、虚拟化存储领域的关键一环,但是掌握块存储需要什么技能,该怎么学习呢?

unsetunset一、基础知识打底unsetunset

1. 操作系统 I/O 子系统

  • 文件系统 vs 块设备 vs 字符设备
  • 缓存机制(page cache、buffer cache)
  • I/O 调度器(noop、deadline、cfq、bfq)
  • I/O 栈路径(用户态 -> VFS -> 块设备 -> 驱动 -> 硬件)

2. 计算机组成原理与存储设备

  • 磁盘、SSD、NVMe、NVDIMM 等存储介质的原理、性能特征
  • 顺序读写 vs 随机读写
  • DMA、PCIe、cache line、TLB

3. 网络与协议基础

  • TCP/IP、RDMA、RoCE
  • RPC、gRPC、RESTful
  • 分布式网络模型(Client-Server vs Peer-to-Peer)

unsetunset二、块存储系统核心模块unsetunset

1. 块设备抽象

  • Linux 内核的 block_device、gendisk
  • Loop device、nbd、rbd 等虚拟块设备
  • Udev & device mapper(如 LVM、dm-cache、dm-thin)

2. IO 请求路径与调度

  • BIO 层、request queue、blk-mq
  • 多队列 IO 框架(blk-mq + NVMe)
  • IO 合并、IO 电梯算法

3. 分布式块存储系统架构

  • 核心组成:Client、Metadata Server、Storage Node
  • 数据路径:读写流程、负载均衡、失败恢复
  • 元数据存储与定位:RADOS/Ceph、TiKV、etcd

4. 一致性与副本机制

  • 强一致 vs 最终一致
  • 同步复制、异步复制、仲裁机制
  • Paxos/Raft/ZAB 协议基础

unsetunset三、性能与优化技术unsetunset

1. 零拷贝与用户态 IO

  • mmap、splice、sendfile
  • DPDK、SPDK(用户态绕过内核 IO 栈)
  • IO_uring、AIO、poll 模式

2. IO 性能评测工具

  • fio、ioping、perf、iostat
  • QPS、IOPS、延迟(p50/p95/p99)、带宽

3. 数据压缩与去重

  • LZ4、ZSTD、Snappy
  • Chunking、Hash Index、Fingerprinting

unsetunset四、典型分布式块存储系统研究unsetunset

系统

特点

学习建议

Ceph RBD

高扩展性、基于对象存储

学习 RADOS 原理、CRUSH 算法

OpenStack Cinder

云平台对接、插件式后端

理解 Cinder driver 机制

Sheepdog

基于分布式对象存储、QEMU 集成

研究其一致性和复制机制

SAN/NAS 对比

块 vs 文件存储

理解 iSCSI、NFS 协议及其适用场景

SPDK

用户态高性能 IO 框架

深入理解轮询线程模型和 NVMe 支持


unsetunset五、进阶方向unsetunset

  • 云原生环境下块存储:如 Kubernetes CSI 插件、Longhorn
  • 分布式一致性算法实现与调优
  • 故障注入与数据恢复演练:理解系统的鲁棒性设计
  • 存储调度与冷热数据分层策略

unsetunset六、推荐学习路径unsetunset

阶段

内容

工具/示例

入门

Linux I/O 栈 + 基础存储设备

lsblk, blkid, dd, fio

中级

分布式块存储系统架构、模块设计

阅读 Ceph、OpenStack、SPDK 文档

高阶

性能调优、故障恢复、源码分析

参与开源项目,调试 Ceph 或 SPDK 源码


本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-06-28,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • unsetunset一、基础知识打底unsetunset
    • 1. 操作系统 I/O 子系统
    • 2. 计算机组成原理与存储设备
    • 3. 网络与协议基础
  • unsetunset二、块存储系统核心模块unsetunset
    • 1. 块设备抽象
    • 2. IO 请求路径与调度
    • 3. 分布式块存储系统架构
    • 4. 一致性与副本机制
  • unsetunset三、性能与优化技术unsetunset
    • 1. 零拷贝与用户态 IO
    • 2. IO 性能评测工具
    • 3. 数据压缩与去重
  • unsetunset四、典型分布式块存储系统研究unsetunset
  • unsetunset五、进阶方向unsetunset
  • unsetunset六、推荐学习路径unsetunset
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档