规划您的部署
本主题为在 Alauda Container Platform (ACP) 上部署 Ceph 分布式存储提供规划清单。它总结了架构选择、安全选项、基础设施容量、网络约束以及灾难恢复方面的考虑,帮助您在执行实际安装之前确定部署模型。
有关产品背景,请参阅 Introduction 和 Architecture。有关部署流程,请参阅 Install 和 How To 下的文档。
目录
部署架构内部和外部部署模型节点角色安全考虑存储类加密传输中加密基础设施要求最低和推荐配置资源容量规划集群总量规划预算如何估算集群规模Pod 放置存储设备规划容量规划网络要求IPv6 支持灾难恢复规划Regional-DR拉伸集群性能规划下一步内部部署外部部署相关后续配置部署架构
ACP 分布式存储基于 Ceph 和 Rook 构建。从整体上看,该平台结合了以下层:
- Ceph 守护进程,例如 MON、MGR、OSD、MDS 和 RGW,用于提供块、文件和对象存储能力
- Rook 和 CSI 组件,用于自动化部署、供给、扩展和生命周期管理
- ACP 平台集成,用于暴露存储池、可观测性和运维入口
在部署之前,请先决定您的环境应使用本地集群中的存储服务,还是使用外部 Ceph 环境中的存储。
内部和外部部署模型
您可以通过以下方式规划 ACP 分布式存储:
内部部署更容易交付和管理,因为存储服务与消费工作负载是在同一 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。
基础设施要求
最低和推荐配置
在创建集群之前,请规划节点数量、存储设备和可用资源。
至少应保证集群拥有三个节点,并且每个节点上有一个可用的存储设备。用于生产环境时,请将集群部署在至少三个故障域中,并预留足够的空闲资源,以应对重平衡、修复和未来增长。
资源容量规划
Ceph 存储服务会持续消耗 CPU、内存和设备容量。请先为存储守护进程规划资源,然后再为恢复、重平衡、升级和后台任务预留额外空间。
作为基线:
- 至少从三个存储节点开始,以构建高可用集群
- 为 MON、MGR、OSD 以及任何已启用的 MDS 或 RGW 服务预留足够的 CPU 和内存
- 为新增池、额外设备和集群恢复事件保留增长空间
- 避免在第一天就规划一个已经接近饱和的集群
如果您的设计使用专用存储节点,资源规划会更可预测。如果存储与业务工作负载一起运行,请预留更多空间,以吸收高峰负载和节点故障期间的资源竞争。
集群总量规划预算
在早期容量评估中,请先基于集群总预算进行规划,而不是仅依赖单个组件数值。下表适合作为在进行工作负载特定调优之前,三节点高可用集群的规划参考:
这些数值应视为集群级规划目标,而不是精确的调度预留。若要估算三节点集群的单节点预算,请将总量平均分配到参与的存储节点上。
以下建议适合作为早期规划参考:
这些数值仅作为规划参考,而不是硬性的调度保证。实际需求取决于设备数量、启用的服务和工作负载强度。
如何估算集群规模
在进行集群容量规划时,请按以下顺序进行:
- 选择部署模式:同驻、专用节点或外部。
- 确定最少节点数量和故障域布局。
- 决定是否需要块、文件、对象或混合存储服务。
- 从集群总量规划预算开始。
- 为额外设备组、恢复、监控和预期增长增加余量。
如果同时需要文件和对象服务,或者集群将同时承载繁重的业务工作负载,则应按高于最低基线的容量进行规划,而不要直接按最低值规划。
Pod 放置
Pod 放置规则会直接影响弹性。请按以下方式规划集群:
- 高可用组件可以分散到不同的故障域中
- 每个故障域都有可访问的存储设备和足够的可分配资源
- 新的设备组或未来扩展仍然可以遵循相同的放置模式
在实践中,这意味着仅仅拥有三个节点还不够。节点还需要以避免单个机架、主机组或可用区成为单点故障的方式进行分布。
存储设备规划
在选择存储设备时,请尽可能标准化设备大小和类型。混合设备会使性能调优和容量规划变得复杂。
请遵循以下原则:
- 为操作系统保留一块系统盘,并为 Ceph 数据使用独立的存储设备
- 优先使用原始磁盘或专用设备,而不是对共享磁盘进行分区
- 将每个节点的设备数量控制在可管理范围内,以便恢复和维护保持可操作性
- 关注可用容量而不是原始容量,因为副本机制会降低有效存储空间
容量规划还应包括告警阈值和扩容策略。请在集群接近满载之前就规划扩容。接近满容量运行会增加重平衡压力,并使恢复更加困难。
有关相关运维指导,请参阅 Managing Storage Pools 和 Adding Devices/Device Classes。
容量规划
在规划集群容量时,请计算可用容量,而不是原始磁盘容量。在采用副本机制的 Ceph 部署中,一部分原始存储始终会被数据保护所消耗。
请遵循以下规划原则:
- 保持可用容量领先于预期业务增长,而不是等到集群几乎满载后才扩容
- 为恢复、重平衡、快照以及数据使用量的临时突增预留额外空间
- 在节点和故障域之间以平衡的方式扩展存储,以避免新增容量造成使用率倾斜
- 在向集群添加新工作负载之前,同时评估当前利用率和预计增长
以下示例可作为三节点集群的早期规划参考:每个节点 1 个设备,并采用 3 副本数据保护策略:
这些数值仅为示例。可用容量会随实际数据保护策略而变化,不应将其视为适用于所有集群设计的通用规则。
在 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
不要将拉伸集群视为长距离、高延迟、多数据中心部署的通用方案。如果站点间延迟无法严格控制,请改用专用灾难恢复架构。
有关 ACP 特定的拉伸集群部署指导,请参阅 Create Stretch Type Cluster。
性能规划
性能应基于工作负载特征进行规划,而不是仅依据原始设备数量。在部署之前,请识别:
- 主要工作负载是块、文件还是对象类型
- 工作负载是延迟敏感、吞吐量敏感,还是容量密集型
- 热数据、备份流量还是分析作业将主导集群
同时还应确认是否需要特殊调优或特定功能设计。例如,对象工作负载可能需要单独规划网关容量,而某些环境可能需要缓存导向或专用集群设计。
下一步
完成规划后,请继续查阅与您所选部署模型相匹配的部署指南:
内部部署
- 对于同驻部署,请参阅 Deploying in Internal Mode。
- 对于拉伸集群部署,请参阅 Create Stretch Type Cluster。
- 对于专用节点部署,请参阅 Configure a Dedicated Cluster for Distributed Storage。
外部部署
- 要从其他集群或外部 Ceph 环境消费存储服务,请参阅 Deploying in External Mode。
相关后续配置
- 要为已部署的存储服务启用加密网络流量,请参阅 Configure in-transit encryption。
- 要在部署后配置灾难恢复,请参阅 Disaster Recovery。