规划您的部署

本主题为在 Alauda Container Platform (ACP) 上部署 Ceph 分布式存储提供规划清单。它总结了架构选择、安全选项、基础设施容量、网络约束以及灾难恢复方面的考虑,帮助您在执行实际安装之前确定部署模型。

有关产品背景,请参阅 IntroductionArchitecture。有关部署流程,请参阅 InstallHow To 下的文档。

部署架构

ACP 分布式存储基于 Ceph 和 Rook 构建。从整体上看,该平台结合了以下层:

  • Ceph 守护进程,例如 MON、MGR、OSD、MDS 和 RGW,用于提供块、文件和对象存储能力
  • Rook 和 CSI 组件,用于自动化部署、供给、扩展和生命周期管理
  • ACP 平台集成,用于暴露存储池、可观测性和运维入口

在部署之前,请先决定您的环境应使用本地集群中的存储服务,还是使用外部 Ceph 环境中的存储。

内部和外部部署模型

您可以通过以下方式规划 ACP 分布式存储:

部署模式存储服务运行位置谁管理存储集群最适合场景主要权衡
内部,同驻Ceph 组件运行在同时承载业务工作负载的同一组 ACP worker 节点上ACP 平台团队或集群管理员早期环境、裸金属集群,或尚未完全明确存储需求的场景交付更简单,但应用与存储之间发生资源竞争的可能性更高
内部,专用节点Ceph 组件运行在同一 ACP 集群内专用的存储节点或基础设施节点上ACP 平台团队或集群管理员存储需求可预测且隔离要求更严格的生产环境运维隔离性和容量控制更好,但需要预留更多节点并进行容量规划
外部ACP 从外部 Ceph 环境消费存储类独立的存储团队、SRE 团队,或现有的外部存储所有者大规模环境、多个消费集群,或已经运行独立 Ceph 集群的组织责任边界清晰,但需要更多跨集群网络、认证和依赖管理

内部部署更容易交付和管理,因为存储服务与消费工作负载是在同一 ACP 环境中一起规划的。在内部部署中,第一个设计选择是存储应与业务工作负载共享节点,还是使用专用节点。当需要在存储集群与应用集群之间建立更强的隔离,或者多个业务集群需要共享同一存储后端时,外部部署更合适。

主要的规划决策点如下:

  • 当您希望更快交付,并且可以接受存储与应用工作负载共享同一个 worker 池时,选择同驻部署。
  • 当存储需求已明确,并且希望获得更清晰的容量控制、故障隔离和维护边界时,选择专用节点部署。
  • 当存储已由其他系统管理,或者单个外部集群需要为多个 ACP 集群提供服务时,选择外部部署。

节点角色

规划节点放置时,应区分控制平面节点、基础设施节点和 worker 节点的职责:

  • 控制平面节点负责维护集群管理功能,除非部署模型明确支持,否则不应将其视为通用存储节点。
  • 当您希望将存储平台组件与业务工作负载隔离时,基础设施节点是合适的选择。
  • worker 节点可以在同驻部署中承载存储服务,但这会增加应用与存储守护进程之间的资源竞争。

用于生产环境时,请至少规划三个故障域,以便实现高可用存储服务。尽可能将存储节点分散到不同的机架、可用区或主机组中。

安全考虑

在部署之前,请确认存储设计是否需要传输中加密,并在启用前验证其对运维的影响。

存储类加密

您可以使用外部 Key Management System (KMS) 对 persistent volumes(仅块)进行加密,以存储设备加密密钥。Persistent volume 加密仅适用于 RADOS Block Device (RBD) persistent volumes。请参阅 how to create a storage class with persistent volume encryption

Alauda Build of Rook-Ceph 支持使用 HashiCorp Vault KMS 和 Thales CipherTrust Manager KMS 进行存储类加密。

传输中加密

ACP 目前支持 Ceph 分布式存储的传输中加密。该功能可保护 Ceph 组件与客户端之间的流量,通常围绕 Ceph msgr2 和集群网络模型进行规划。

在启用传输中加密之前,请验证:

  • 存储节点和客户端节点上的内核与操作系统支持情况
  • 忙碌的存储节点上的预期 CPU 开销
  • 目标硬件上的吞吐量和延迟影响

有关实现细节,请参阅 Configure in-transit encryption

基础设施要求

最低和推荐配置

在创建集群之前,请规划节点数量、存储设备和可用资源。

项目最低配置推荐配置
存储节点3 个节点3 个或更多节点,分布在不同故障域中
存储设备每个节点 1 个可用存储设备每个节点多个专用设备,且类型和大小保持一致
节点分布3 个可承载 Ceph 服务的节点3 个故障域,例如机架或可用区
设备使用系统盘与存储盘分离Ceph 数据使用专用原始磁盘,并预留未来扩容空间

至少应保证集群拥有三个节点,并且每个节点上有一个可用的存储设备。用于生产环境时,请将集群部署在至少三个故障域中,并预留足够的空闲资源,以应对重平衡、修复和未来增长。

资源容量规划

Ceph 存储服务会持续消耗 CPU、内存和设备容量。请先为存储守护进程规划资源,然后再为恢复、重平衡、升级和后台任务预留额外空间。

作为基线:

  • 至少从三个存储节点开始,以构建高可用集群
  • 为 MON、MGR、OSD 以及任何已启用的 MDS 或 RGW 服务预留足够的 CPU 和内存
  • 为新增池、额外设备和集群恢复事件保留增长空间
  • 避免在第一天就规划一个已经接近饱和的集群

如果您的设计使用专用存储节点,资源规划会更可预测。如果存储与业务工作负载一起运行,请预留更多空间,以吸收高峰负载和节点故障期间的资源竞争。

集群总量规划预算

在早期容量评估中,请先基于集群总预算进行规划,而不是仅依赖单个组件数值。下表适合作为在进行工作负载特定调优之前,三节点高可用集群的规划参考:

部署模式为存储预留的总 CPU为存储预留的总内存说明
内部,最低基线24 个逻辑 CPU72 GiB当仅满足最低部署目标时,适用于入门级三节点规划基线
内部,标准基线30 个逻辑 CPU72 GiB适合作为通用生产规划和未来扩展的更佳起点
内部,性能导向基线45 个逻辑 CPU96 GiB当从一开始就需要更高吞吐量或更低延迟时适用
外部消费集群仅按连接性和客户端访问进行容量规划仅按连接性和客户端访问进行容量规划存储守护进程运行在 ACP 集群之外,因此 ACP 集群主要需要网络可达性、凭据和客户端侧容量

这些数值应视为集群级规划目标,而不是精确的调度预留。若要估算三节点集群的单节点预算,请将总量平均分配到参与的存储节点上。

以下建议适合作为早期规划参考:

组件推荐 CPU推荐内存
MON2 核3 GiB
MGR3 核4 GiB
MDS3 核8 GiB
RGW2 核4 GiB
OSD4 核8 GiB

这些数值仅作为规划参考,而不是硬性的调度保证。实际需求取决于设备数量、启用的服务和工作负载强度。

如何估算集群规模

在进行集群容量规划时,请按以下顺序进行:

  1. 选择部署模式:同驻、专用节点或外部。
  2. 确定最少节点数量和故障域布局。
  3. 决定是否需要块、文件、对象或混合存储服务。
  4. 从集群总量规划预算开始。
  5. 为额外设备组、恢复、监控和预期增长增加余量。

如果同时需要文件和对象服务,或者集群将同时承载繁重的业务工作负载,则应按高于最低基线的容量进行规划,而不要直接按最低值规划。

Pod 放置

Pod 放置规则会直接影响弹性。请按以下方式规划集群:

  • 高可用组件可以分散到不同的故障域中
  • 每个故障域都有可访问的存储设备和足够的可分配资源
  • 新的设备组或未来扩展仍然可以遵循相同的放置模式

在实践中,这意味着仅仅拥有三个节点还不够。节点还需要以避免单个机架、主机组或可用区成为单点故障的方式进行分布。

存储设备规划

在选择存储设备时,请尽可能标准化设备大小和类型。混合设备会使性能调优和容量规划变得复杂。

请遵循以下原则:

  • 为操作系统保留一块系统盘,并为 Ceph 数据使用独立的存储设备
  • 优先使用原始磁盘或专用设备,而不是对共享磁盘进行分区
  • 将每个节点的设备数量控制在可管理范围内,以便恢复和维护保持可操作性
  • 关注可用容量而不是原始容量,因为副本机制会降低有效存储空间

容量规划还应包括告警阈值和扩容策略。请在集群接近满载之前就规划扩容。接近满容量运行会增加重平衡压力,并使恢复更加困难。

有关相关运维指导,请参阅 Managing Storage PoolsAdding Devices/Device Classes

容量规划

在规划集群容量时,请计算可用容量,而不是原始磁盘容量。在采用副本机制的 Ceph 部署中,一部分原始存储始终会被数据保护所消耗。

请遵循以下规划原则:

  • 保持可用容量领先于预期业务增长,而不是等到集群几乎满载后才扩容
  • 为恢复、重平衡、快照以及数据使用量的临时突增预留额外空间
  • 在节点和故障域之间以平衡的方式扩展存储,以避免新增容量造成使用率倾斜
  • 在向集群添加新工作负载之前,同时评估当前利用率和预计增长

以下示例可作为三节点集群的早期规划参考:每个节点 1 个设备,并采用 3 副本数据保护策略:

每个节点的设备大小集群原始容量采用 3 副本时的近似可用容量
0.5 TiB1.5 TiB0.5 TiB
2 TiB6 TiB2 TiB
4 TiB12 TiB4 TiB

这些数值仅为示例。可用容量会随实际数据保护策略而变化,不应将其视为适用于所有集群设计的通用规则。

在 day-2 运维中,应在集群达到告警级别之前复查容量。如果增长可预测,应尽早扩容,而不是等到接近满载或已满载时再处理。

网络要求

Ceph 对网络质量非常敏感。在部署之前,请验证以下内容:

  • 集群网络能够为复制和恢复流量提供稳定吞吐
  • 各故障域之间的延迟处于所选部署模型支持的范围内
  • 存储节点与消费集群之间所需端口已开放
  • 任何专用网络设计,例如基于 Multus 的隔离,都已提前确定

如果您计划将存储流量与一般应用流量隔离,请在部署前确认网络接口、路由策略和运维归属。网络隔离可以提升安全性和性能,但也会增加设计复杂度。

IPv6 支持

ACP 分布式存储规划必须遵循平台所选择的集群网络协议栈。

  • 在单栈 IPv6 环境中支持 IPv6。
  • 双栈规划必须在存储部署之前与 ACP 集群网络设计进行验证。
  • 存储节点和客户端节点应使用相同的地址族策略,以避免连通性和服务发现问题。

如果您的环境使用 IPv6,请在安装前确认以下内容:

  • ACP 集群网络已经配置为 IPv6 运行
  • 所有存储节点都可以通过所需的 IPv6 路由进行通信
  • 访问存储端点的监控、告警和外部集成也支持 IPv6

应将 IPv6 视为安装时的架构决策。不要假设已有的 IPv4 导向存储设计可以在之后无需重新验证就直接转换。

灾难恢复规划

ACP 分布式存储可以根据不同的恢复目标进行规划。请选择符合您的恢复点目标 (RPO)、恢复时间目标 (RTO) 和站点拓扑的模型。

Regional-DR

ACP 支持 Regional-DR,用于跨地域或跨站点的灾难恢复场景,在这种场景中,可接受异步复制和少量潜在数据丢失。

在规划 Regional-DR 时,请提前确认以下事项:

  • 源集群和目标集群具有兼容的存储和网络设计
  • 复制延迟和故障切换预期与业务恢复目标一致
  • 受保护的工作负载类型明确,例如块、文件系统或对象数据

有关实现细节,请参阅 Disaster Recovery

拉伸集群

仅当站点之间的延迟受到严格控制,并且拓扑是专门为该模式设计时,拉伸集群才合适。通常应规划以下内容:

  • 两个数据站点和一个仲裁站点
  • 跨三个可用区至少五个节点
  • 在创建集群之前设置手动且明确的故障域标签
  • 每个数据站点拥有足够的节点,以保持存储服务可用性
  • 区域间延迟保持在低延迟设计范围内,通常数据站点之间的 RTT 不超过 10 ms
WARNING

不要将拉伸集群视为长距离、高延迟、多数据中心部署的通用方案。如果站点间延迟无法严格控制,请改用专用灾难恢复架构。

有关 ACP 特定的拉伸集群部署指导,请参阅 Create Stretch Type Cluster

性能规划

性能应基于工作负载特征进行规划,而不是仅依据原始设备数量。在部署之前,请识别:

  • 主要工作负载是块、文件还是对象类型
  • 工作负载是延迟敏感、吞吐量敏感,还是容量密集型
  • 热数据、备份流量还是分析作业将主导集群

同时还应确认是否需要特殊调优或特定功能设计。例如,对象工作负载可能需要单独规划网关容量,而某些环境可能需要缓存导向或专用集群设计。

下一步

完成规划后,请继续查阅与您所选部署模型相匹配的部署指南:

内部部署

外部部署

相关后续配置