如何不停止机器升级配置
当现有机器配置无法满足需求时,升级机器配置成为一种必要。通常,升级配置需要重新启动机器,导致服务中断。那么,能否不停止机器的情况下升级配置呢?
主流的分布式虚拟机技术(如 KVM、Xen)支持”热添加”功能,即在不停止机器的情况下添加vcpu或vram。虽然无法”热移除”(减少vcpu或vram),但仍可以在不关闭机器的情况下升级配置。
需要注意的是,云服务提供商通常不会开放”热添加”功能,这意味着在云端需要停止机器才能升级配置。自建集群则可以折腾开启此功能。
然而,在实际场景中,追求”不停机”并不是”平滑升级”的最佳目标,而应该是”不停服”。这意味着可以在不影响服务的情况下停止单个节点进行升级。Kubernetes等容器编排系统正是采用这样的机制进行服务的平滑升级。
具体来说,平滑升级流程如下:
- 启动新的节点。
- 将新的节点加入服务发现或注册中心。
- 将旧的节点从服务发现或注册中心中移除。
- 关闭旧的节点。
在这个过程中,旧的节点可以在升级过程中暂时停止,但服务仍然对外提供。
需要注意的是,升级过程中新旧节点会产生数据差异,需要根据不同存储形式采取不同的策略进行数据同步,包括挂载卷、弹性卷或分布式集群。
对于内存数据存储且不支持分布式的服务,无法避免数据丢失,这类服务通常是边缘服务,对高可用性要求不高。
云服务提供的”弹性扩容”,如AWS Redshift,正是基于类似机制实现的。
以上就是如何不停止机器服务的情况下升级配置?的详细内容,更多请关注php中文网其它相关文章!