2. Pure Storage存储架构与数据保护基础

Pure Storage 的两条主力产品线——FlashArray 与 FlashBlade——虽然都建立在全闪存介质之上,但它们面向的数据形态、访问协议和数据布局逻辑并不相同。理解这种差异,是理解后续快照、克隆、复制与容灾能力的前提。本节先建立架构层面的基本认识,再落到数据保护机制本身。

一、FlashArray:块与文件的统一阵列

FlashArray 面向结构化数据与虚拟化场景,对外提供块级访问(iSCSI、Fibre Channel、NVMe-oF)以及文件访问(SMB、NFS)。其核心是 Purity 操作系统,运行在双控制器(Active-Active)架构上。两个控制器同时处理 I/O,任一控制器故障时,另一控制器接管其卷的读写,主机侧通过多路径软件(如 MPIO)感知路径切换,通常不会中断业务。

FlashArray 的数据布局有几个关键点:

  • 卷(Volume)是块访问的基本单位,主机通过 LUN 或命名空间访问;
  • 共享卷可同时映射给多台主机,用于集群文件系统或 Oracle RAC 等场景;
  • 数据缩减在写入路径上完成,包括去重、压缩与模式消除,缩减后的数据再落盘;
  • 元数据独立存放并受保护,元数据损坏不会直接导致用户数据不可读。

对数据保护而言,FlashArray 的卷是快照与克隆的操作对象。快照不复制数据块,而是记录某一时刻卷的元数据映射关系;克隆则基于快照生成一个可独立读写的新卷。这意味着创建一个 1 TB 卷的快照,几乎不消耗额外容量,也不产生明显的性能开销。

二、FlashBlade:面向非结构化数据的横向扩展架构

FlashBlade 面向对象与文件场景,采用横向扩展(Scale-Out)架构。它由多个刀片(Blade)组成,每个刀片包含计算、闪存和网络资源,通过内部高速互联形成统一命名空间。对外提供 NFS、SMB、S3 以及 RapidFile Toolkit 等接口。

FlashBlade 的数据布局与 FlashArray 不同:

  • 数据以对象或文件为单位分布到多个刀片,而非绑定到单一卷;
  • 元数据与数据共同分布,通过一致性哈希或类似机制定位;
  • 扩容时新增刀片自动加入,数据重新均衡,容量与性能线性提升;
  • 快照与克隆同样基于元数据,但作用域是文件系统或对象桶。

FlashBlade 的快照对上层表现为文件系统或桶的时间点副本,常用于备份窗口内快速生成一致点,或为数据分析、AI 训练提供只读数据源。克隆则可用于快速拉起一套独立的文件系统,供测试或开发使用。

FlashArray 与 FlashBlade 架构及数据保护机制对比 FlashArray(块/文件统一阵列) 控制器 A Active 控制器 B Active 同步互联 卷(Volume)· LUN / 命名空间 块访问:iSCSI / FC / NVMe-oF · 文件访问:SMB / NFS 写入路径:去重 → 压缩 → 模式消除 → 落盘 快照 Snapshot 元数据时间点 几乎不占容量 克隆 Clone 基于快照生成 可独立读写 FlashBlade(横向扩展非结构化) 刀片 1 计算+闪存 刀片 2 计算+闪存 刀片 3 计算+闪存 刀片 N 计算+闪存 内部高速互联 · 统一命名空间 对象 / 文件访问 NFS · SMB · S3 · RapidFile Toolkit 数据与元数据分布到多刀片 · 扩容自动均衡 快照 Snapshot 文件系统/桶时间点 只读数据源 克隆 Clone 独立文件系统 测试/开发使用

三、快照与克隆机制对数据保护的意义

Pure Storage 的快照与克隆之所以在数据保护中价值突出,核心在于它们不依赖传统存储的“复制数据”方式。传统阵列做快照时,往往需要预留空间或触发写时复制(Copy-on-Write),在高负载下可能带来性能抖动。而 Pure 的快照本质上是元数据操作,创建速度快、容量开销低,且对生产 I/O 影响极小。

这带来几个实际好处:

  • 高频快照成为可能:可以每 15 分钟甚至更短周期创建快照,用于逻辑错误恢复。例如数据库误删表、文件被覆盖,可从最近快照快速恢复,而不必从磁带或远端备份拉取。
  • 克隆用于快速验证:从生产快照克隆一套环境,挂载给测试主机,验证补丁、升级或数据修复脚本,验证通过后再决定是否回滚生产。克隆卷与源卷共享数据块,只有发生写入的块才占用新空间。
  • 与复制结合形成容灾:快照可复制到远端 FlashArray 或 FlashBlade,形成 RPO 分钟级的容灾能力。复制的是快照对应的元数据与增量数据,而非全量卷。
快照不是备份的完全替代。快照与源卷通常位于同一阵列,若阵列整体故障或站点断电,快照可能一并不可用。因此生产环境常见做法是:本地高频快照用于快速恢复,远端复制或备份用于站点级容灾。

四、一个可参考的快照与克隆操作示例

以下示例基于 FlashArray 的 Purity 命令行风格,展示从创建快照到克隆验证的典型过程。参数为教学示例,实际使用时需替换为环境中的卷名与目标主机。

# 1. 为生产卷 prod-db-01 创建快照,命名带时间戳
purevol snap --name prod-db-01.snap-20250612-0200 prod-db-01

# 2. 查看快照列表,确认创建成功
purevol list --snap --volume prod-db-01

# 3. 基于快照克隆出一个新卷,用于测试
purevol create --source prod-db-01.snap-20250612-0200 test-db-01

# 4. 将克隆卷映射给测试主机
purevol connect --host test-host-01 test-db-01

# 5. 在测试主机上挂载并验证数据
#    Linux 示例:扫描并挂载
rescan-scsi-bus.sh
mount /dev/mapper/mpathX /mnt/testdb
ls -l /mnt/testdb

判断操作是否达到预期,可以观察几个点:快照创建命令返回成功且快照列表中可见;克隆卷容量与源卷一致但实际占用空间远小于源卷;测试主机识别到新 LUN 并能挂载文件系统;数据内容与快照时间点一致。若克隆卷无法挂载,优先检查主机多路径配置与卷映射关系,而不是怀疑快照本身。

五、架构差异对数据保护策略的影响

FlashArray 与 FlashBlade 在数据保护上的侧重点不同。FlashArray 的卷级快照适合数据库、虚拟机等块级工作负载,恢复粒度是卷或 LUN;FlashBlade 的文件系统或桶级快照适合海量文件、对象数据,恢复粒度是目录、文件或对象前缀。制定保护策略时,需要根据数据形态选择对应的快照对象和保留策略。

对比维度 FlashArray FlashBlade
访问协议 iSCSI、FC、NVMe-oF、SMB、NFS NFS、SMB、S3
数据组织 卷 / LUN / 命名空间 文件系统 / 对象桶
扩展方式 纵向扩展(控制器+盘柜) 横向扩展(增加刀片)
快照粒度 卷级 文件系统 / 桶级
典型保护场景 数据库、虚拟机、关键业务卷 文件共享、AI 训练数据、备份归档