
一提到私有云平台很多人第一反应是“这不就是买几台服务器装个虚拟化软件再套个管理面板嘛”。但真正在企业里从零开始做私有云平台建设概要设计方案的人大概率不会这么想——因为他们清楚概要设计阶段少考虑一个环节到了实施和运维阶段就要付出成倍的代价。私有云平台不是“虚拟化管理UI”那么简单它背后涉及计算、存储、网络、安全、运维、容灾一整条链路的设计决策。这篇文章我打算把私有云平台概要设计到底要做什么、每个环节怎么取舍、容量怎么估算、高可用怎么铺、实施怎么排期、坑在哪里一条线讲透。适合正在做技术规划、预研立项、或者刚被领导安排“你先出个私有云方案”的同学参考也适合想把思路重新理一遍的运维/架构方向从业者。我会沿用实际做方案时的口吻把概要设计里那些文档上不会写的东西也一并扒出来。1. 先把“为什么做”想透再做概要设计很多私有云项目翻车不是翻在技术选型上而是翻在需求没摸清。概要设计之所以叫“概要”是因为它要站在全局视角回答几个前置问题建这个云给谁用、解决什么问题、投入产出是什么、未来3到5年长什么样。这几个问题没答案后面的架构设计写得再漂亮也是空中楼阁。1.1 需求调研比技术选型更重要的三件事第一件事是现状盘点。我会先做一轮物理资产和业务系统的摸底。有个项目客户跟我报“机房里有200台服务器”结果盘点完真正在跑业务的只有60台剩下全是下线未销毁的僵尸机。私有云建设的一个重要价值就是提高资源利用率如果连现有真实负载都拿不准后面所有容量规划都是拍脑袋。现状盘点建议输出三张表一是硬件资产表CPU、内存、磁盘、网卡、所在机柜、维保状态二是业务应用清单应用名、负责人、部署方式、资源占用、重要级别、数据量增长趋势三是网络现状表VLAN划分、互联链路、防火墙规则、出口带宽。这三张表是后续设计的基准不能跳过也不能大概齐。第二件事是增长率预测。这块容易被忽略但直接决定容量规划。业务增长不是线性增长的有些系统到了月底、双十一会脉冲式上涨。我给客户做预测时一般会拿到至少三年的业务量趋势有条件的会拉出近一年每台物理机上CPU、内存、磁盘的实际水位曲线再结合业务方给出的增长预期得出一个大致的增长系数。第三件事是SLA期望值。有次客户拍胸脯说“我们要做到四个九”结果深聊才知道他们现有的核心系统每年允许停机维护的时间至少四十个小时也就是连两个九都不到。SLA不是写个数字就完了它要反向推导到架构设计里可用性要求越高控制节点冗余、存储副本策略、网络链路冗余、容灾中心建设的成本就越高。概要设计阶段把SLA定得贴合实际比后期强行堆高可用省钱得多。1.2 容量估算怎么算才靠谱容量估算有个可以套用的粗算模型总资源需求 当前已用资源 × 利用率优化系数 × 增长系数 × 容灾冗余系数。举例说明。假设现状盘点后当前生产的vCPU总数是500核内存总量是2TB。私有云部署后目标是CPU利用率从现在的15%提升到50%这里其实有个反直觉的地方——你按总资源需求算的时候用的是当前已用资源不是物理资源总量。如果当前200台服务器只有500核在跑说明大量资源是浪费的私有化整合后相同负载可能只需要100核物理资源。但基建规划我们又不能只看当下峰值还要给未来留空间。继续上面的例子当前已用vCPU 500核考虑3年业务增长150%再考虑HA故障切换需要预留25%的余量则容量需求约为500 × 1.5 × 1.25 ≈ 937核。按单台物理服务器裸配64核、可分配70%给业务计算来算需要计算节点约21台。内存同理如果不考虑超分物理内存总量大概就是2TB × 1.5 × 1.25 ≈ 3.75TB除以单台可用内存就能确定每台物理机的内存选型。存储容量要分类型这一步几乎所有人都会低估。我把存储分成系统盘池、数据盘池、备份池三类。系统盘池按云主机数量乘以预估单台盘量计算数据盘池按业务真实数据量加索引、临时文件余量计算备份池通常是数据盘池的1.5到2倍。这里有个关键点分布式存储必须乘副本系数三副本就是裸数据量乘以3。比如业务数据量是20TB三副本后需要60TB裸容量再算上故障重建时要预留一份空间的余量实际规划建议做到20TB × 3 × 1.2 ≈ 72TB。网络带宽的估算也常被忽略。我建议按东西流量和南北流量分开看。虚拟化之后同一物理机内和跨物理机的业务通信东西流量会明显增长存储IO也会通过存储网走。一般规划里计算节点至少需要两个万兆网口做业务/存储复用管理网单独千兆或万兆。概要设计阶段不把带宽模型定下来后期就会出现“CPU内存都够就是网络跑不动”的尴尬局面。2. 整体架构分层设计决定你的扩展空间私有云平台的整体架构我习惯按四层来看基础设施层服务器、存储、网络设备、虚拟化资源层计算虚拟化、存储虚拟化、网络虚拟化、云管理平台层服务开通、资源管理、计量计费、运维监控、上层服务目录层IaaS/PaaS/CaaS对外提供的服务形态。概要设计阶段四层没必要逐层细化但要明确各层之间的接口关系以及每一层选型时要考虑的长远因素。2.1 服务形态IaaS、PaaS、CaaS怎么取舍很多方案一上来就规划“全栈私有云”IaaS、PaaS、微服务、DevOps全部包含。我的建议是如果企业以传统应用和数据库为主IaaS一定是核心PaaS和CaaS可以放到二期。原因很简单传统业务跑在虚拟机上依然最稳定运维团队也最熟悉一上来就推容器化改造会遭遇应用改造的巨大阻力项目周期和风险都会成倍放大。如果企业本身是互联网架构微服务已经铺开那CaaS和PaaS优先级就要提高。这时概要设计里就要重点规划Kubernetes容器平台与底层IaaS的衔接容器集群直接跑在云主机上还是通过裸金属调度存储用CSI接分布式存储还是本地盘网络用VPC内的CNI还是Underlay这些选型会直接影响容器化业务的性能和隔离边界。我个人比较推荐“底座IaaS化、上层服务化”的路径底层先把计算、存储、网络资源的池化和自服务做好上层开放容器服务和数据库服务等这样既兼顾了传统应用的稳定性也保留了新业务的弹性。2.2 计算、存储、网络三块基石计算虚拟化层面主流底核就是KVM商业方案VMware或国内自研虚拟化也有一定市场。概要设计要明确三点一是虚拟化损耗的期望值通常CPU损耗在5%以内二是超分比策略计算型业务建议1:1到1:1.5普通办公型业务可以到1:4以上但数据库等高性能业务不建议超分三是GPU直通和裸金属需求如果有AI训练或对延迟极其敏感的应用计算节点规划得单独留出支持SR-IOV或直通的能力。存储层面分布式存储和集中式存储是可以共存的。我会在方案里明确存储分层重要数据库和中间件使用高性能存储池如全闪存阵列或本地NVMe组成的分布式池普通业务使用混闪分布式存储池冷数据放入大容量归档池。这样既控制成本又满足性能差异化的需求。要注意分布式存储对网络时延极其敏感存储网必须独立规划万兆起步有条件直接25GbE。网络层面概要设计里有三张网必分管理网带外管理、云平台内部通信、存储网数据复制、IO通信、业务网租户业务流量。三张网物理隔离或基于VLAN/QinQ隔离这是降低故障半径的关键。业务网的组网我建议采用leaf-spine两层架构配合VXLAN实现大二层和VPC隔离。追求SDN能力的则需要把分布式虚拟路由器、虚拟防火墙、负载均衡器纳入设计范围不过这些功能在概要设计里先标注依赖关系就好不必展开到具体配置。2.3 开源自建还是商业方案这是概要设计里绕不开的路线之争。我把它掰碎了对比过直接说结论对比维度开源自建如OpenStack商业私有云产品云厂商私有化输出交付复杂度极高需要强劲研发团队中等厂商有标准实施流程较低产品化程度高后续运维完全靠自己组件庞杂厂商支持部分问题可售后厂商强支持但绑定明显License和成本软件免费人力贵有软件订阅费整体成本中等单价高长期续费压力大扩展和定制定制灵活但改造成本巨大适度定制拓展性好相对封闭生态与服务社区驱动依赖自身知识储备有成熟生态和文档云厂商产品体系和文档完善如果公司研发能力一般、业务要求快速上线我不建议纯OpenStack自建。它不是不能跑而是组件太多控制台、认证、网络、计算、存储服务升级时的兼容性问题足以拖垮一个小团队。更务实的选择是采用成熟的商业发行版或者直接选云厂商的私有化交付方案。如果公司本身有较强的Linux内核调优和K8s等技术储备也想真正掌握底层能力开源自建才有合理性。国产化适配要提前确认。如果信创环境有要求网络设备、服务器芯片、操作系统、虚拟化平台都要满足对应的适配目录。这块尽量在概要设计阶段就拉出清单别等设备都到了再查兼容性那个返工成本太高。3. 概要设计中的细节拆解概要设计不等于粗线条设计。它不需要像详细设计那样把每个配置文件都写出来但关键决策点必须定下来尤其是高可用、安全隔离、备份容灾这三块直接决定私有云平台质量上限。3.1 高可用每一层都要补冗余高可用设计要从控制平面和数据平面两个维度分别考量。控制平面指云管理平台自身的管理组件。包括数据库、认证服务、消息队列、调度服务等。控制节点建议至少部署三台分布在不同机柜。数据库做主从或集群模式认证服务无状态多副本消息队列做集群。为什么强调三台而不是两台因为很多分布式组件要选主三节点才能保证少数服从多数时仍有可用节点。控制节点对计算资源要求不高但稳定性要求极高不要为省钱把控制节点和计算节点混部一旦其中一个计算节点出故障控制面稳定性会受到牵连。数据平面指实际承载业务的计算节点和存储节点。计算节点至少N1冗余即实际需要10台节点承载峰值业务时至少规划11台存储采用分布式存储时副本策略建议至少两副本重要业务三副本。EC纠删码能降低空间成本但重建时间会更长适合对容量敏感、性能要求略低的冷数据场景。网络高可用同样不能省。业务网、存储网、管理网的链路都做链路聚合跨TOR交换机做主备或负载分担。对于核心网络设备我习惯建议冗余部署即两台核心交换机互为备份避免单台设备故障导致整个云平台瘫痪。机柜配电也要考虑双路冗余这是我见过最容易被忽略的物理层隐患。3.2 安全与多租户隔离设计私有云平台的安全设计业界公认要分三层。第一层是物理安全重点是机房门禁、监控和配电管理。这一层概要设计里简单描述即可不用展开。第二层是租户隔离。即使公司只有一个部门在用也建议按多租户模型来做因为这样后续扩展新的业务部门时资源和权限模型不需要推倒重来。租户隔离的关键是VPC隔离每个租户有自己的虚拟网络、子网、路由表和安全组。安全组类似云主机上的防火墙规则精确控制流量放行策略。IAM这一块要做好角色权限矩阵哪些人能做资源审批、哪些人只能看监控尽量遵循最小权限原则。第三层是平台安全防护。管理面与业务面要严格分开管理后台不能直接暴露在业务网络中建议通过跳板机或者堡垒机访问。云平台的审计日志要留存尤其是删除资源和修改网络策略的操作没有审计日志出问题后连溯源都做不到。安全组默认建议“白名单”机制没有显式放行的流量统一丢弃这是最稳妥的基线策略。存储安全上云主机磁盘建议支持加密密钥统一托管在平台的Key Management服务中至少做到密钥与数据分离存储。3.3 备份容灾先想好“坏了怎么办”私有云的备份容灾设计我的建议顺序是先备份、后容灾。备份是兜底容灾是保障。备份设计分两个维度云主机整机备份和业务数据备份。云主机备份可以基于存储快照来实现但快照越多占用空间越大策略上保留最近3天每日快照加每周快照即可。业务数据备份比如数据库逻辑备份建议走应用层备份与基础设施解耦恢复起来更可控。容灾设计要结合预算和SLA来定。最低配是同机柜冗余即计算节点分布在不同机柜避免单柜掉电影响所有云主机。中等配置是跨机房热备核心业务数据实时同步到备机房备机房有随时可启动的冷资源。高级配置是双活甚至多活这种需要应用层配合改造在私有云项目里通常放到二期以后的规划。我通常会在概要设计里先把容灾分级策略写清楚再给出每级对应的RPO和RTO参考值。比如核心业务要求RPO小于15分钟、RTO小于30分钟一般业务RPO小于24小时、RTO小于4小时。有了这两个值后续详细设计和备份策略就有了明确依据。4. 从设计到落地的实施路径概要设计方案不能只停留在纸面还要在方案里给出可执行的实施路径。这一节我重点讲里程碑怎么拆、资源怎么排期、业务怎么迁移。4.1 里程碑拆解把大项目切成能验证的小段我一般把私有云建设拆成六个阶段调研评估、概要设计就是我们现在做的这件事、详细设计、POC验证、部署调优、移交运维。POC验证在概要设计之后做非常合适目的是验证选型方案里的核心假设是否符合真实业务。比如分布式存储的三副本在预期并发下IO延迟是否达标、虚拟机热迁移是否顺畅、SDN网络转发性能是否满足要求。POC至少要选一个有代表性的真实业务来做基准测试不要拿几个空虚拟机来测那测不出问题。部署调优阶段要提前规划好时间窗口因为涉及物理机装机、网络割接、云平台组件安装需要和业务方协调停机窗口。我见过不少项目因为低估部署调优时间导致整体延期。这里有个经验计算节点可以批量并行装系统但控制节点的配置需要精细化操作不要赶时间。完整排期建议以中大型项目为例阶段投入人员周期参考关键产出调研评估架构运维业务方2~3周现状清单、需求清单、SLA定义概要设计架构师主导2~3周总体架构图、容量规划、选型报告详细设计架构网络存储2~4周网段规划、配置基线、接口设计POC验证架构运维2~3周测试报告、问题清单、最终选型确认部署调优全体项目组3~6周平台上线、性能调优报告移交运维架构运维1~2周操作手册、监控告警、交接培训这只是常规参考不同体量和基础条件下需要灵活调整。但框架建议稳定不变尤其是POC验证这个环节无论如何不要跳过。4.2 迁移上云新旧环境怎么无缝衔接迁移是私有云建设中风险最集中的环节。我的策略是“批量小步走处处可回退”。迁移前要出迁移清单每台源服务器都要标明用途、IP、依赖关系、重要级别、联系人。迁移顺序从“低风险低重要性”的开始比如测试环境和开发环境先行再迁移普通生产应用最后迁移核心数据库。迁移方式上尽量用在线迁移工具做系统盘复制目标云主机启动后再做网络切入和IP切换。对于数据库这类有状态应用建议采用逻辑同步或主从复制的方式平滑切换避免直接拷贝数据文件导致一致性问题。每次迁移都必须有回退方案。我的习惯是迁移前保留源环境至少24小时确认目标端运行稳定后才释放原资源。注意私有云平台和原有物理环境通常会有一段时间并存网络规划时就要预留互通路由或叠加网络保证割接期间两个环境都能对外服务。5. 常见问题与避坑实录做过的私有云项目多了踩过不少坑也看过别人踩坑。这一节我把常见问题和排查思路整理成段希望能帮后面做方案的同学少走弯路。5.1 规划阶段最容易被忽略的坑第一个坑是过度设计。一上来就整全套微服务治理、容器平台、大数据组件把方案堆得非常宏大但实际业务根本用不上。过度设计的结果是建设周期拉长、团队运维压力陡增、预算失控。方案要匹配企业当前阶段适度超前即可。我一般会建议客户把远景目标写进“规划演进”章节但落地范围严格锁定在一期可交付的真实需求上。第二个坑是低估运维团队的技术储备。OpenStack这类开源方案不是装完就完了后续版本升级、组件调优、故障排查都需要相当深的底层功底。规划前最好对运维团队的技能地图做一次评估技能不匹配时优先选择商业方案或在实施合同中明确知识转移和陪跑支持。我见过不止一个团队因为高估自身能力选了开源自建最后平台故障两三天都没人能定位问题。第三个坑是网段规划不严谨。很多物理环境的网段是自然增长的没有任何规划。私有云平台对IP地址规划要求很高。特别是管理网、存储网、业务网、VPC互联网段一定要独立分配避免重叠。VPC内部使用网段要预留足够空间常见的10.0.0.0/8分配方式适用于大规模场景中小规模可以用172.16.0.0/12或192.168.0.0/16做细分。关键是要有书面规划表格并在实施时严格按表分配否则等云主机建了几百台再改IP网段内网DNS、路由表、安全策略全都要重做那个工作量大到怀疑人生。5.2 实施阶段真实踩过的坑第一个实践教训时间同步。整个云平台里所有节点、所有云主机的时间必须保持一致尤其是控制节点和计算节点。NTP一旦没配置好或者同步源坏了证书验证会报错、日志时间戳混乱、分布式存储池的状态都会受影响。我在POC阶段就吃过这个亏某个存储节点时间偏差超过20秒结果数据修复的调度一直失败排查了很久才发现是时间问题。第二个是网卡bond模式。物理机的业务网和存储网如果要做链路聚合bond模式和交换机侧链路聚合模式必须对齐。常见的lacp模式和静态聚合如果选错网络会出现频繁闪断或者单路阻塞。这个问题最隐蔽的地方是负载不高时完全正常一旦流量大了网络就开始丢包。做部署时建议先做网络PING丢包测试和iperf打流测试确认带宽和稳定性达标后再进入云平台组件安装。第三个关于存储性能。分布式存储虽然是私有云默认选项但它的性能对硬盘和网络配置极其敏感。纯机械盘组成的分布式存储池随机IO性能很差一旦并发跑起来延迟飙升。有条件就上SSD缓存层至少把热数据命中在SSD上。存储坏盘替换时不要同时坏多块盘导致数据重建失败建议日常巡检就关注硬盘健康状态有问题提前更换。如果出现大面积同时坏盘大概率是批次问题或机房温度问题要优先排查物理环境。第四个问题是备份验证。很多项目配置了备份策略但从不做恢复演练真到出问题时才发现备份数据是坏的。任何备份系统至少每季度做一次随机恢复演练才能真正保证数据可恢复。这个建议在概要设计阶段就要写进运维规范里否则上线后大家忙起来根本不会记得做演练。第五个是关于控制节点资源的隐形坑。有些云平台安装时对控制节点资源要求不敏感但如果安装了过多的监控组件、日志组件控制节点的CPU和磁盘IO压力会直线上升。控制节点资源要给足不能只看参考文档的最低配置。监控数据保留周期也要提前设计默认保留30天和保留90天的存储空间差异很大建议根据公司实际需要确定避免监控数据库把磁盘写满。做私有云平台概要设计我的总体体会是它不追求技术上的炫技追求的是把不确定因素在设计阶段尽量锁死。技术选型可以用POC来验证真正的风险往往来自需求边界不清、网络规划混乱、运维能力错配这些相对“底层的”问题。把这几个环节认真对待私有云项目就有了一个比较扎实的起点。如果后续还有机会我再把详细设计阶段的网络规划表格、容量计算公式落地Excel模板、以及具体平台的部署要点分别展开来写那个又得费不少篇幅了。