跳到主要内容

存储形态与 RAID

RAID 如何组合磁盘的容量与容错?​

  • RAID: 把多个磁盘组织成阵列,按条带、镜像或校验策略平衡性能、容量和磁盘失效容忍度;
  • 容量前提: 下表设有 n 块等容量磁盘,每块容量为 S,不计文件系统和元数据开销;
级别方法最少磁盘可用容量容错边界
RAID 0条带化2nS不容忍磁盘丢失
RAID 1镜像2双盘时 S双盘时可失去一盘
RAID 5条带与单校验3(n−1)S一盘失效
RAID 6条带与双校验4(n−2)S两盘失效
RAID 10镜像组再条带化4nS/2每个镜像组至少保留一盘
  • 性能权衡: 条带化可并行读写,镜像重复写,校验阵列的小随机写需额外处理,不能统一宣称 RAID 5/6 写性能高;
  • 成本权衡: 镜像通常牺牲约一半容量,校验阵列容量利用率随盘数变化;
  • 保护边界: RAID 不防误删、逻辑损坏或整个站点消失,不能代替备份;

卷、文件、块和对象如何表示存储?​

形态暴露给使用方的单位常见用途
卷一片逻辑存储空间可跨磁盘,也可由一盘划出多个
文件存储目录路径与文件共享目录、用户文件
块存储可寻址的数据块数据库磁盘、文件系统底层
对象存储对象键、数据与元数据媒体、备份、大规模非结构化内容
  • 文件存储: 目录层级便于人和应用组织数据,访问需要遵循文件系统语义;
  • 块存储: 上层负责把块组织为文件或数据库页,底层可以灵活放置和重组块;
  • 对象存储: 使用键访问完整逻辑对象,内部可以分片,但不是要求应用先把所有文件手工切碎;
  • 原文示例: 文件存储有 EFS、Azure Files、Filestore;块存储有 EBS;对象存储有 S3、Blob Storage、Cloud Storage;

NAS 如何提供网络共享文件?​

  • NAS: 通过网络提供共享文件访问的存储设备或系统,适合多个授权用户集中存取文件;
  • 运维边界: 容量扩展、权限与故障恢复由部署承担,自建 NAS 不自动获得所有公有云能力或成本优势;

HDFS 如何存放超大文件?​

  • HDFS: 面向大数据、高吞吐访问的分布式文件系统,把大文件拆成块存到多台普通机器;
  • 副本机制: 文件块保存多份副本以容忍节点失效,通常除最后一块外块大小相同;
  • 使用条件: 适合大文件吞吐型处理,不能仅因为“分布式”就把它当所有低延迟小文件场景的首选;