跳到主要内容

存储系统:从磁碟到 NVMe 结构

存储系统管理跨各种物理介质的数据持久性。在过去的十年中,存储领域发生了一场革命,从机械旋转磁盘转向基于半导体的闪存,现在又转向高速的内存快速协议 (NVMe) 结构。

本章探讨存储介质的物理特性、用于优化访问的算法,以及用于冗余和扩展的架构模式。


1. 硬盘驱动器 (HDD):机械遗产

尽管 SSD 兴起,HDD 仍然是大容量存储(云端冷存储、备份系统)的中流砥柱。

1.1 物理结构

HDD 是一个高精度的机械装置:

  • 盘片 (Platters):涂有磁性材料的圆盘,转速在 5400 到 15000 RPM 之间。
  • 磁臂与读写头:在旋转的盘片上移动以读写数据。
  • 扇区与块:历史上为 512 字节,现在多为 4KB(高级格式)。

1.2 性能指标 (机械瓶颈)

  • 寻道时间 (Seek Time):磁臂移动到正确磁道的时间。
  • 旋转延迟 (Rotational Latency):数据旋转到磁头下方的时间(平均为旋转半圈的时间)。
  • 传输率:数据从磁性表面移动到控制器速度。
  • 经验法则:HDD 非常适合顺序 I/O,但由于机械运动,其随机 I/O 性能极差。

2. 固态硬盘 (SSD):闪存革命

SSD 使用 NAND 闪存。与 HDD 不同,它没有移动部件,但引入了一个复杂的管理层。

2.1 “写前必擦”问题

闪存可以按页 (Page)(如 8KB)进行读取和写入,但只能按块 (Block)(如 256 页)进行擦除。

  • 结果:你不能直接覆盖一个页。你必须先擦除整个块。

2.2 闪存转换层 (FTL)

SSD 内部的专门控制器执行几个关键任务:

  1. LBA 映射:将来自 OS 的逻辑地址映射到物理闪存位置。
  2. 磨损均衡 (Wear Leveling):通过将频繁写入的数据移动到较新的单元,确保所有闪存单元以相同的速率磨损。
  3. 垃圾回收 (GC):定期将碎片块中的有效页移动到新块,以便擦除旧块。
  4. 预留空间 (Over-provisioning):SSD 会保留额外容量(如 10%)专门用于 GC 和磨损均衡。

3. NVMe:为并行而生

旧的存储协议 (SATA/SAS) 是为慢速 HDD 设计的。NVMe (非易失性内存快速协议) 是专为闪存的大规模并行性而构建的。

  • 队列深度:SATA 支持 1 个队列、32 条命令。NVMe 支持 64,000 个队列,每个队列支持 64,000 条命令。
  • 并行性:多个 CPU 核心可以同时提交 I/O 请求,而不会互相锁定。
  • 直接链接:NVMe 直接连接到 PCIe 总线,绕过了慢速的传统存储控制器。

4. RAID:冗余与性能

RAID (独立磁盘冗余阵列) 将多个物理磁盘组合成一个逻辑卷。

4.1 常用 RAID 级别

级别名称性能容错能力最佳用例
0条带化极佳(读/写)临时数据、草稿空间
1镜像好(读)、一般(写)1 块磁盘OS 引导盘
5奇偶校验一般(写惩罚)1 块磁盘通用存储
6双奇偶校验一般(高写惩罚)2 块磁盘大型数据阵列
10镜像条带极佳高(可损坏多块)数据库

4.2 软件 RAID vs. 硬件 RAID

  • 硬件 RAID:使用带有自身 RAM 和电池备份的专用控制器卡。它对 OS 是不可见的。
  • 软件 RAID (Linux mdadm):CPU 处理 RAID 逻辑。它更灵活且便宜,但会占用 CPU 周期。

5. 逻辑卷管理 (LVM)

LVM 在物理磁盘和文件系统之间增加了一个抽象层。

5.1 LVM 层级结构

  1. 物理卷 (PV):原始磁盘分区。
  2. 卷组 (VG):多个 PV 组成的池。
  3. 逻辑卷 (LV):从池中创建的“虚拟分区”。
  • 收益:你可以在不重启或重新格式化的情况下调整 LV 大小,或向 VG 添加新磁盘。

6. 高级存储概念

6.1 存储区域网络 (SAN) vs. 网络附加存储 (NAS)

  • NAS:文件级访问(如 NFS, SMB)。类似于远程文件夹。
  • SAN:块级访问(如 iSCSI, Fibre Channel)。类似于远程硬盘。

6.2 对象存储 (云端标准)

Amazon S3Ceph 这样的系统不使用文件或目录。

  • 键值访问:你存储一个对象(数据 + 元数据),并通过唯一 ID 检索它。
  • 扩展性:可以跨数千台机器扩展到艾字节 (EB) 级别。
  • 一致性:通常根据实现提供“最终一致性”或“强一致性”。

7. 存储监控与基准测试

工具关注点用例
fio基准测试压力测试 I/O 的行业标准
smartctl健康状况读取磁盘内部健康数据 (S.M.A.R.T.)
pvs / vgs / lvs管理检查 LVM 结构
nvme-cli诊断NVMe 驱动器的详细信息
iostat -x 1延迟实时磁盘利用率和等待时间

8. 核心概念复习清单

  • 为什么随机 I/O 在 HDD 上慢但在 SSD 上快?
  • 解释 SSD 中“垃圾回收”的作用。
  • RAID 5/6 中的“写漏洞” (Write Hole) 问题是什么?
  • LVM 如何实现分区在线调优?
  • SAN vs NAS:哪个协议提供块设备?

第 07 章结束。继续前往:第 08 章:安全与保护