1. 先把HCS放在整个私有云版图里看
如果你接触过传统虚拟化,再去看华为HCS(Huawei Cloud Stack)私有云,很容易产生一个困惑:这不就是一批物理服务器加上虚拟化软件吗?其实HCS解决的不是“虚拟化”这一层的问题,而是从IaaS到PaaS再到运维运营体系的完整云平台建设。它更像是一套“可交付的云操作系统”,而不是单纯的虚拟化工具。
我最早接触HCS是在一个中型企业的数据中心改造项目里。客户原来用的是多套独立的虚拟化集群,每个业务部门自己申请资源、自己管理,几十台虚拟机零散分布在不同的物理机上,资源利用率低,扩容要靠手工迁移。HCS进入视野之后,最关键的变化是把“资源池”真正做起来了:计算、存储、网络三类资源统一编排,业务部门通过自服务界面申请,管理员只需要在后端做配额和策略管理。这套逻辑和公有云是一致的,区别在于它部署在客户自己的机房,数据和管控面都在本地。
HCS适合谁来参考?我的判断是三类人:一是正准备从传统虚拟化向私有云演进的基础设施团队;二是需要同时管理多套环境、希望统一运维入口的运维人员;三是对业务连续性有较高要求、需要一套完整容灾或双活方案的技术决策者。如果你是刚接触私有云,这篇文章可以帮你把HCS的架构骨架和部署逻辑串起来,而不是一上来就陷进操作细节里。
实际部署HCS时,底层是一套标准化交付包:物理服务器、存储设备、交换机、防火墙,加上华为自研的FusionCompute、FusionStorage、ManageOne等组件,统一由部署工具完成初始化。这个过程中最需要理解的是各组件之间的边界和依赖关系。先把这个搞明白,后面每一步操作都不会跑偏。
2. 架构拆解:HCS各层组件到底在干什么
2.1 控制面:ManageOne和CPS不是一回事
很多刚接触HCS的人容易把ManageOne当成整个平台的全部。实际上,ManageOne只是统一运维与运营门户,它承担的是“对外窗口”的角色:云管平台的租户申请、资源审批、监控告警、账单展示都从这里进去。真正负责底层资源编排和部署的,是另一个核心组件CPS——Cloud Provisioning Service,中文叫云服务部署系统。
CPS这个名字可能不如ManageOne响亮,但它的作用是基础性的。整个HCS集群的初始化、组件的安装升级、节点的健康检查,全部由CPS驱动。形象点说,CPS是“施工队”,ManageOne是“物业服务中心”。施工队先把机房里的资源搭好,物业中心再对外提供窗口服务。没有CPS,你连第一台裸金属服务器都纳管不进去。
2.2 计算虚拟化:FusionCompute的核心角色
FusionCompute是HCS的计算底座,在存储和网络组件还在单独部署时,FusionCompute往往已经先把计算资源池撑起来了。它由两部分组成:CNA(Compute Node Agent)运行在每台物理服务器上,负责虚拟机的生命周期管理;VRM(Virtual Resource Manager)是管理节点,负责集群调度、HA、DRS等高级功能。
Support的虚拟化底层基于KVM,所以在Linux运维里有经验的人会感觉比较顺手。但要注意,FusionCompute不等同于开源的KVM栈,它把资源调度、安全策略、热迁移、快照、模板等能力都做了产品化封装。在实际部署中,VRM节点通常以虚拟机形式运行,建议把VRM独立放在一台可靠宿主机上,避免与承载业务的虚拟资源争抢CPU和内存。
2.3 存储虚拟化:FusionStorage把本地盘变成分布式存储池
FusionStorage是HCS在存储侧的关键组件,也是整个私有云里我最看重的部分。它做的事情可以这样理解:把多台服务器自带的SATA盘、SAS盘或者NVMe盘聚合起来,形成一个大容量的分布式存储池,同时提供块存储、文件存储和对象存储能力。也就是说,你不一定非得购置独立的集中式存储阵列,本地盘也能组成企业级存储。
这块设计在部署时有明显的成本优势。一个三节点的集群,每台服务器插上几块机械盘和一至两块SSD缓存盘,就能对外提供千核级别的虚拟机磁盘性能。但这里也有它的约束:节点越多,数据副本和一致性开销越大,网络的带宽和时延要求也越高。规划时需要结合业务规模合理设置副本策略,通常生产环境建议两副本或三副本,不能贪图空间而降低数据可靠性。
2.4 网络虚拟化:VXLAN和SDN的实现思路
HCS的网络虚拟化分两个层面。底层是物理交换网络,负责服务器之间的互通;上层是Overlay网络,采用VXLAN技术将虚拟网络与物理拓扑解耦。这个设计和公有云里VPC的实现思路一样,每个租户的网络、子网、安全组都是逻辑隔离的,即使所有租户共用同一套物理网络,彼此之间也互不感知。
在网络部署实操中,我最想提醒的是:不要因为HCS自带网络自动化配置就不管underlay。Underlay如果设计不合理,例如IP地址规划冲突、路由收敛慢、MTU不一致,Overlay再先进也会出现间歇性通信故障。早期我在一个二层广播域过大的环境里排查过一次“云主机某些IP通、某些IP不通”的诡异问题,最后定位到MTU不一致导致VXLAN封装后的分片异常。所以底层网络规划要“笨功夫做扎实”。
3. 部署前的关键考量:决定成败的不是安装命令
3.1 版本选型和License规划
HCS的版本迭代节奏比较快,不同的版本对底层硬件平台、服务器固件、交换机型号和操作系统内核都有配套要求。部署前一定要先从华为官网或销售侧要到兼容性列表(兼容性表),把你准备采购的服务器型号、网卡型号、硬盘型号逐个核对一遍。踩过一次很典型的坑:客户机房采购了一批比较新的NVMe固态硬盘,但HCS当前版本的内核驱动还不支持,装完FusionStorage后硬盘始终无法被识别,只能等待华为发布适配补丁。所以选型阶段千万别嫌麻烦,直接对着兼容性列表买硬件,后续能省很多事。
License方面,HCS采用的是按CPU物理核数授权的模式。你需要规划好物理服务器的数量和单台服务器的核数,再乘上一个冗余系数。如果预留了未来3年业务扩容的余地,建议License按扩容后的规模一次性购买,因为后续追加授权不仅要走合同流程,还可能受版本限制,无法平滑升级。
3.2 网络规划:管理、业务、存储的三网分离
HCS部署中,网络规划是最容易出问题的一个环节。官方推荐的做法是管理网络、业务网络、存储网络三网分离。管理网络承载ManageOne、CPS、FusionCompute VRM等管理组件的通信;业务网络承载虚拟机之间、虚拟机与外部网络的南北流量;存储网络专门承载分布式存储的内部数据复制和IO流量。
三网分离的核心原因是性能隔离和故障隔离。存储网络如果和业务网络混在一起,业务高峰期的大流量会直接影响分布式存储的同步时延,而存储数据同步慢又会反过来拖累虚拟机的磁盘读写,形成恶性循环。物理上建议存储网络使用独立网卡和独立交换机VLAN,条件允许时,存储网络还可以考虑使用无损网络配置,以避免TCP丢包重传带来的性能损耗。
3.3 硬件资源评估的“反直觉”之处
做HCS的容量规划时,很多人习惯只算虚拟机所需的CPU和内存总和,然后等比例换算物理服务器数量。实际部署后你会发现,存储的性能瓶颈往往比计算资源更先到来,特别是IOPS密集型业务。举一个实际例子:一个规模不大的开发测试环境,虚拟机的CPU利用率长期在20%左右,内存利用率也就50%,但因为所有系统盘都放在同一个分布式存储池里,在没有SSD缓存的场景下,全量打镜像和批量编译构建时,存储时延明显飙升。
所以硬件规划不能只看总量的“平均数”,务必要估算峰值的压力。存储层面优先引入SSD作为缓存层,或者按业务类型拆分多个存储池——数据库类的虚拟机放在高性能池,开发测试类虚拟机放在低成本的机械盘池。这个设计直接影响后续运行业务的体验,也是架构师体现水平的地方。
4. 部署实操:从裸机到云资源开通的全流程
4.1 底层系统与网络初始化
HCS的部署工具会引导你完成大部分底层初始化工作,但在运行部署工具之前,有几件事必须要人工确认到位。
- 物理服务器设置BIOS为Legacy或UEFI启动模式,并确保RAID卡直通或配置好磁盘模式,FusionStorage场景下通常建议磁盘直通,不做RAID。
- 所有服务器的时间必须同步,NTP服务要提前配置好,时区统一为UTC+8。时间不同步会导致证书校验失败、组件心跳异常,这是初期安装失败最常见的原因之一。
- 交换机的端口模式要提前确认,管理VLAN和业务VLAN的trunk放通要配置好。
这些准备全部就绪后,通过部署向导输入各个节点的IP、主机名、root密码,再选择部署场景和组件,工具会自动往节点上安装操作系统和基础软件。整个自动化过程通常需要几个小时,期间不要手动去重启节点,否则容易导致部署中断。
4.2 FusionCompute资源池创建
底层部署完成后,第一步就是登录FusionCompute的管理界面创建集群。这个过程和VMware vSphere创建Cluster是类似的,为集群设置DRS自动调度、HA高可用、EVC模式等参数。我建议创建集群时把所有宿主机的EVC模式设为一致,避免不同代际CPU的服务器之间热迁移时出现“非法指令”的报错。
然后是添加主机。每台物理服务器上运行着CNA代理,FusionCompute通过这些代理纳管服务器。加主机时要注意正确选择存储接口和业务接口的物理网卡,主机加入集群时会自动扫描可用的存储资源和网络资源,如果底层VLAN配置不对,这一步可能会发现不了存储池或网络,需要回头检查交换机和网卡绑定配置。
4.3 FusionStorage的初始化和存储池划分
FusionStorage的初始化是在FusionCompute已经运行的基础上进行的。你先指定一批节点作为存储节点,然后对每台服务器的物理磁盘进行声明:哪些盘做数据盘,哪些盘做缓存盘,哪些盘做系统盘绝不能动。这个步骤一定要仔细核对,因为一旦把系统盘声明成数据盘,或者把缓存盘配置得过大,都会影响存储集群的可靠性。
存储池划分时,要按业务场景分别建立高性能存储池和大容量存储池,并分别挂载到对应的主机集群。给虚拟机发放存储卷时,分配策略也有讲究:厚置备延迟清零适合需要提前预留空间的核心数据库;精简置备适合开发测试环境,但因为按需分配,也存在超分导致存储池写满的风险。生产环境请谨慎使用大面积精简置备。
4.4 ManageOne的集成与云资源开通
FusionCompute和FusionStorage都工作正常后,部署管理面ManageOne就是打通云服务体验的最后一环。ManageOne会同步FusionCompute里已有的资源池、集群、存储和网络信息,然后统一在平台上抽象为“区域(Region)”“可用分区(AZ)”“规格”“镜像”等云资源概念。
云资源开通的实测路径大概是:管理员先在ManageOne上创建“企业项目”和“用户组”,给运维人员分配项目管理权限;运维人员导入镜像、创建“虚拟私有云”和“子网”;业务用户登录自服务门户,选择CPU、内存规格,选择磁盘类型和网络,一键创建虚拟机。整个流程和公有云控制台非常相似,这也是HCS被称为“可交付的公有云”而不是“虚拟化平台”的最大原因。
5. 实际部署和运维中常见的坑,整理成速查表
5.1 时间同步问题
如果集群内部分节点的时间漂移超过一定阈值,轻则告警,重则导致服务间通信鉴权失败。排查时的第一反应一定是:检查所有节点的NTP服务是否指向同一个时间源,并查看偏移量。尤其在刚部署完成的数周内,建议每天看一次时间同步状态,等稳定后再放宽。
5.2 主机名与域名解析
HCS内部组件之间大量依赖主机名通信。安装部署时如果主机名起得比较随意,后续排查问题会非常痛苦——日志里全是无法辨识的节点标识。而且各节点之间的/etc/hosts解析必须一致,一台节点解析别名有误,就可能出现“某服务无法启动,但相邻节点完全正常”的怪异现象。
5.3 存储双活与仲裁配置
如果业务对连续性要求比较高,HCS支持双活数据中心方案。跨站点部署时,网络时延和仲裁机制是关键。仲裁节点选择在哪边、站间链路带宽是否足够、脑裂场景下的自动切换策略,这几点需要在部署前和业务方充分对齐。千万不要以为双活是“全自动”的,很多切换场景都需要人工决策。
5.4 补丁和升级操作的顺序
HCS的版本升级有严格的路径依赖,不能跨版本跳级。升级前最好先查看官方补丁说明,按顺序依次升级FusionStorage、FusionCompute、ManageOne等组件。我见过有人为了省事一次性跳了三个小版本,结果部分组件的功能数据模型对不上,最后只能回滚重新升级,白白浪费一个维护窗口。
5.5 监控告警阈值拍脑袋设置
HCS内置的监控模板给出的默认阈值比较保守,例如磁盘利用率达到80%就告警。实际使用中建议根据业务的真实波动调整告警阈值,告警太灵敏容易疲劳,太迟钝又起不到预警作用。一个实用的做法是:先按默认阈值运行两周,期间记录所有告警并归类,把完全不影响业务的告警阈值调宽,把真正影响业务的指标更细致地切分层次。
6. 我自己的几点部署体会
HCS这套平台第一次接触时,会觉得组件多、概念多、部署流程长。但把它拆开看,底层就是计算虚拟化、分布式存储、网络虚拟化这三驾马车,上层再叠一套统一的运维运营门户。只要把每一层之间的依赖关系搞清楚,部署和排错都不会是无头苍蝇。
如果要在所有经验里挑一条最想强调的,那就是:不要一上手就追求“高可用全功能”。第一次部署时,尽量按官方推荐的简化配置来,先跑通最小的资源池,验证计算、存储、网络的端到端能力,再逐步叠加双活、备份镜像、多AZ等进阶特性。很多高级特性配置不当,反而给基础设施引入新的故障点。
HCS看起来是华为的私有云产品,但它的整体设计思路、分层架构、部署流程和运维方法论,很多地方都带着公有云技术的影子。你如果对一个公有云厂商的架构有较深理解,再回过头来看HCS,会更容易融会贯通。反过来也一样,把HCS部署运维搞明白了,再去理解云平台的技术原理,视角会完全不一样。