很多人做升降配时踩坑,大多是没分清:哪些改动会停机,哪些可以在线生效,以及降级和升级的规则并不对等。扩容不是简单点一下升级按钮,要结合业务架构选择纵向还是横向的方式,提前预判中断时长。
一、云服务器两种扩容路线,适用场景不一样
1、纵向升降配,也就是单台实例改规格。直接调整这台机器的 vCPU、内存,适合单体应用、数据库这类不方便拆分、没法快速加节点的业务。操作入口一般在控制台实例菜单,选定目标规格提交变更。它的短板是,一旦规格变更触发重启,业务就要跟着停;而且很多轻量套餐只允许升,不支持降,升上去之后很难回落成本。
2、横向扩容,新增实例分担压力。在负载均衡后端追加同配置服务器,流量分散到多台节点上。这个方式几乎不产生停机,新节点部署、接入之后再切流量,老机器可以保留不动。高并发 Web、接口服务优先走这条路,弹性上限更高,也避开单台升降配的中断风险。压力回落之后,直接下线多余节点,实现缩容。
二、不同资源变更,停机影响差异很大
1、CPU、内存规格变更,大多伴随停机重启。多数通用实例变更这两项,需要关机、迁移底层资源,再开机生效,中断时间从几分钟到十几分钟不等。少数特殊机型支持热变配,不用重启,但覆盖面有限,不能当成默认选项华为云。操作之后公网 IP、安全组配置一般不会改动,但系统内部正在运行的进程、连接会全部断开。
2、云盘扩容,多数支持在线扩容。不管系统盘还是数据盘,扩容容量本身不用停机。只是扩容后,操作系统里还需要手动扩展分区和文件系统,这一步如果操作不当,也会引发异常。磁盘只支持扩大,不能缩小,提前规划容量很重要。
3、带宽调整、流量包变更,基本即时生效。公网带宽上调、下调,或是更换计费方式,不需要重启实例,对正在跑的业务连接影响很小,适合临时应对流量高峰。
三、降级的特殊约束,比升级限制更多
升级的选择相对宽松,只要目标规格有库存、同规格族兼容,大多可以提交。降级不一样,很多包年包月套餐、轻量实例直接关闭降配通道;支持降配的机型,同样要停机操作,部分平台还会有退款规则、计费差额的处理。
不要想着先高配撑高峰,高峰一过直接降级省钱。如果业务波动频繁,更适合横向弹性伸缩,而不是反复纵向升降配。
四、变更前要做好的前置动作
变更前先打一份快照,覆盖系统盘和关键数据盘,这是兜底手段。快照生成期间尽量避开写入量大的时段,防止快照数据不一致。
停机变配统一安排在业务低峰窗口,提前通知内部或者用户。有数据库、长连接服务的,先停写入、做数据同步,避免重启引发事务异常、数据错乱。
变更提交后不要反复触发关机、重启,容易导致变配任务失败,甚至实例进入异常状态。
五、怎么降低升降配对业务的冲击
核心业务尽量不要依赖单台实例的纵向升级。能做集群、负载均衡的,优先横向扩容。必须做单台规格变更时,可以先搭建一台高配备用实例,把数据和业务迁移过去,再切换流量,把停机窗口压缩到切换那一瞬间。
对可用性要求很高的系统,热变配机型、跨可用区部署可以作为备选,但也要明白,热变更不是零风险,极端情况下依然有连接抖动。
扩容升级本质是资源调度,停机不是必然结果,它取决于你改的是什么资源、用的是什么机型。分清在线操作和停机操作,区分纵向和横向两条路线,才能在性能和业务稳定之间找到平衡。