3. HPE Alletra高可用软件栈与数据服务
HPE Alletra 的高可用能力并非来自单一硬件冗余,而是由 Alletra OS 统一编排的一整套软件栈与数据服务共同实现。理解这套栈的分层关系,是后续设计双活、仲裁与容灾方案的基础。Alletra OS 运行在每台控制器节点上,向下管理 NVMe SSD 与后端互联,向上提供卷、快照、克隆、复制等数据服务,并通过集群仲裁机制在节点或站点故障时决定谁继续提供 I/O。
一、Alletra OS 与数据服务分层
Alletra OS 是运行在每个控制器节点上的分布式存储操作系统,它把两台或多台节点的本地 SSD 聚合成一个全局命名空间,对外呈现为统一的存储池与卷。其核心分层可概括为:底层是介质与互联层(NVMe SSD、节点间高速互联),中间是数据布局与冗余层(数据分布、镜像或纠删保护),上层是数据服务层(数据缩减、快照、克隆、远程复制、Peer Persistence),最上层是管理与仲裁层(集群成员管理、仲裁见证、故障切换决策)。
数据缩减是 Alletra OS 在写入路径上默认启用的能力,通常包含去重与压缩两级。去重以固定或可变块为单位识别重复数据,压缩则对去重后的数据进一步编码。需要注意:数据缩减比例高度依赖业务数据特征,例如虚拟机镜像、备份数据通常缩减比高,而已经压缩或加密的数据缩减比低。因此容量规划时应以实测或厂商参考值为准,不能把“5:1”当作通用承诺。
二、快照、克隆与远程复制
快照(Snapshot)是对卷在某一时间点的一致性视图,采用写时重定向或元数据指针方式实现,几乎不占用额外空间,直到源卷数据被改写。快照常用于备份窗口、升级回滚和测试数据准备。克隆(Clone)则是基于快照生成一个可独立读写的卷,适合快速交付测试环境或数据库副本。两者的关键区别是:快照依赖源卷,克隆是独立卷。
远程复制(Remote Copy)把本地卷的数据异步或同步复制到远端阵列,用于容灾。异步复制对时延不敏感,RPO 取决于复制周期与带宽;同步复制要求往返时延足够低,可实现接近零 RPO,但会受链路时延约束。设计时要先明确 RPO/RTO 目标,再选择复制模式与链路规格。
三、Peer Persistence 与集群仲裁
Peer Persistence 是 Alletra 实现双活(Active-Active)的关键机制。两个站点各有一套阵列,通过远程复制保持数据一致,主机通过多路径软件同时看到两个站点的卷。正常情况下主机就近访问本端阵列;当本端阵列或站点故障时,多路径软件把 I/O 透明切换到对端,主机无需重新挂载或改配置。Peer Persistence 通常与仲裁见证(Quorum Witness)配合,避免双站点间链路中断时出现“双主”脑裂。
集群仲裁机制的核心是:当节点或站点之间失去心跳时,系统必须判断哪一侧应继续服务。常见做法是引入第三站点或仲裁见证设备,由它提供决胜票。若一侧能同时看到对端和见证,则保留服务;若两侧都只能看到见证而看不到对方,则由见证决定保留哪一侧,另一侧停止服务,防止数据分叉。仲裁配置的关键参数包括心跳超时、见证类型与放置位置,这些参数直接影响切换速度与误切换风险。
四、关键参数与设计要点
在实施层面,以下几组参数直接决定高可用行为是否符合预期:
- 数据缩减策略:是否启用去重、压缩,以及块大小选择。对延迟敏感型数据库,建议先评估再启用,避免额外 CPU 开销影响时延。
- 快照保留与一致性组:多卷应用(如数据库+日志)应放入同一一致性组,保证快照时间点一致。
- 复制模式与周期:同步复制要求链路 RTT 通常低于数毫秒;异步复制需设定复制周期与带宽上限。
- 仲裁超时与见证位置:心跳超时过短易误切换,过长则切换慢;见证应放在独立于两站点的第三故障域。
五、示例:双活卷的仲裁判断过程
假设站点 A、B 各一台 Alletra 阵列,配置 Peer Persistence 与第三站点 Witness。主机通过多路径同时看到 A、B 的卷。某时刻 A、B 之间链路中断,但两者都能与 Witness 通信。此时 Witness 根据预设策略保留其中一侧继续服务,另一侧停止 I/O,避免两端同时写入导致数据分叉。若 A 完全故障,主机多路径自动把 I/O 切到 B,业务在秒级到分钟级恢复。判断切换是否成功,可观察主机多路径状态、阵列复制状态以及 Witness 仲裁日志三处是否一致。
综上,Alletra 的高可用是“Alletra OS + 数据服务 + 仲裁”三层协同的结果:数据缩减提升容量效率,快照与克隆支撑数据保护与快速交付,远程复制与 Peer Persistence 提供站点级容灾与双活,仲裁机制则在故障时刻做出唯一、可解释的决策。设计时应围绕业务 RPO/RTO 逐层选择能力与参数,而不是默认全部开启。