2. Pure Storage架构与数据库适配性
数据库对存储的要求与通用文件共享有本质区别:它关心的是小块随机 I/O 的稳定低时延、写入放大带来的寿命损耗、以及节点故障时业务能否无感切换。Pure Storage 的全闪存架构正是围绕这三点设计的。理解它的关键,不是记住几个产品名词,而是看清数据从数据库进程发出后,经过哪条路径落到闪存介质,以及每一层为数据库做了什么取舍。
全闪存架构:从"控制器为中心"到"介质为中心"
传统存储阵列把 SSD 当作更快版本的机械盘,控制器仍需处理复杂的 RAID 校验、缓存镜像和 LUN 映射,随机写路径上存在多次数据搬运。Pure Storage 的 FlashArray 采用双控制器 Active-Active 架构,两个控制器共享同一份全局命名空间,主机通过多路径同时看到两个控制器。任一控制器故障时,另一控制器接管其 I/O,主机侧多路径软件只需切换路径,不需要重新挂载卷。
更关键的是 Purity 操作系统的设计取向:它把闪存当作"必须被善待"的介质,而不是廉价块设备。Purity 在写入前先做数据缩减——全局去重、压缩、模式识别,再以固定大小的元数据块组织写入。对数据库而言,这意味着同一份数据页的多次写入可能被合并,写放大显著降低。下面这张图展示了数据库 I/O 从主机到介质的完整信号链,以及各层承担的核心职责。
DirectFlash:去掉 SSD 内部那一层"黑盒"
普通 SSD 内部有一个 FTL(Flash Translation Layer),负责逻辑地址到物理页的映射、垃圾回收和磨损均衡。问题在于,这个 FTL 对存储控制器是不透明的:控制器以为自己在顺序写,SSD 内部可能正在做垃圾回收,导致时延尖峰。数据库最怕的就是这种不可预测的 P99 抖动。
DirectFlash 的做法是让控制器直接管理闪存裸片,把 FTL 的职责上移到 Purity 中。控制器知道每个数据块在哪个裸片的哪个页上,可以全局调度写入和垃圾回收。带来的直接好处是:写入时延更平稳,磨损均衡在整阵列范围内进行,而不是每个 SSD 各自为政。对于数据库日志文件这种持续顺序写、又要求低时延的场景,DirectFlash 能避免传统 SSD 在写满后出现的"掉速"现象。
Purity 操作系统:数据缩减与一致性
Purity 是运行在控制器上的存储操作系统,它同时承担数据服务和管理平面。对数据库适配性影响最大的有三点:
- 全局去重与压缩:数据库常有多份副本(生产、测试、克隆),Purity 在块级去重,相同数据页只存一份。压缩在写入路径上完成,不占用主机 CPU。
- 写合并与元数据组织:随机小写先进入控制器缓存,按元数据块聚合后再写入闪存,减少对 NAND 的擦写次数。
- 快照与克隆:基于元数据的写时复制,创建数据库克隆几乎瞬时完成,且不占用额外物理容量,适合开发测试和备份验证。
需要注意的是,去重效果高度依赖数据模式。如果数据库已经做了透明加密或压缩,Purity 的去重率会下降。实际规划时,应先用工具评估数据可缩减比,再决定容量配置。
NVMe over Fabrics:把本地 NVMe 时延延伸到网络
NVMe 协议本身为低时延、高队列深度设计,但最初只用于主机内部 PCIe 总线。NVMe over Fabrics(NVMe-oF)把 NVMe 命令封装到网络传输层,常见两种承载:FC-NVMe 和 RoCEv2(RDMA over Converged Ethernet)。
对数据库而言,NVMe-oF 的价值在于:主机看到的是 NVMe 命名空间,而不是传统的 SCSI LUN,命令路径更短,队列深度更高。在 RoCEv2 环境下,需要配置无损以太网(PFC/ECN),否则丢包重传会抵消低时延优势。一个合理的示例配置是:数据库服务器双口 25GbE RoCEv2,分别接入两台交换机,FlashArray 双控制器各接一台交换机,主机侧启用多路径,路径策略为 round-robin。这样单口或单交换机故障时,I/O 自动切换到另一路径。
高可用:从组件冗余到业务无感
数据库高可用不仅要求存储不宕机,还要求故障切换时 I/O 不中断、不丢数据。Pure Storage 的高可用设计分几层:控制器双活、电源与风扇冗余、DirectFlash 模块级冗余、以及 Purity 的介质故障检测。当某个闪存裸片或模块出现异常时,Purity 会把数据重建到备用空间,主机侧通常无感知。
实际运维中,应关注以下检查点:
| 检查项 | 观察指标 | 判断依据 |
|---|---|---|
| 控制器切换 | 主机多路径状态 | 切换后 I/O 无中断,路径自动恢复 |
| 写时延 | P99 写时延 | 稳定在基线附近,无持续尖峰 |
| 去重率 | 数据缩减比 | 与规划评估值偏差不超过 15% |
| 介质寿命 | 剩余寿命百分比 | 按写入量推算,满足生命周期要求 |
总结来说,Pure Storage 对数据库的适配性不是单一技术带来的,而是全闪存架构、DirectFlash、Purity 和 NVMe-oF 四者协同的结果:DirectFlash 解决介质时延可预测性,Purity 解决写放大和空间效率,NVMe-oF 解决网络时延和队列深度,双活控制器解决可用性。理解这条信号链,才能在数据库部署时做出合理的容量、网络和路径规划。