只有两台服务器的情况下如何搭建高可用集群

120 天前
 tangzhiyong

只有两台服务器的情况下如何搭建高可用集群?两台服务器放在不同的市。 场景:个人使用,搭建的服务主要是 github 上的一些开源项目和自己开发的小项目。主要是 docker 镜像。 chatgpt 说搭建高可用集群至少需要 3 台服务器以上。但我只有两个物理地点,如果在其中一个物理地点放置两台服务器,一个地点放置一台服务器。万一其中一个物理地点停电断网,有机会两个管理节点都关闭,集群也无法正常。 所以想请教,只有两台服务器的情况下,如何实现高可用集群?

3379 次点击
所在节点    Linux
37 条回复
opengps
120 天前
你这叫异地多活,跟集群有所区别,跟集群不是一个方向的概念
Huelse
120 天前
你这有点没条件硬上了,一定要搞的话就每台机器起多个服务呗,也是测试环境的常规操作
Mianmiss
120 天前
keepalived+lvs ,vip 所在机器挂掉之后 自动切换到另外一个机器
libook
120 天前
你需要一个高可用的负载均衡中间件 🐶
yinmin
120 天前
集群必须部署在一个地方的。云服务器买大厂的,因为大厂的云服务器是跑在集群上的,万一物理机坏了,对云服务器的感知仅是一次异常重启。个人使用基本不用考虑集群
m2276699
120 天前
你提到的环境信息不足。如果环境满足,只说集群,归根结底是需要强一致的是数据库,无论是哪种数据库。而数据的一致性需要至少三个节点防止脑裂等问题。你的应用入口是否是这两台服务器?是否需要数据库?
wjh876531738
120 天前
Docker Swarm 不错的,可以参考下大佬的方案: https://dockerswarm.rocks/
wjh876531738
120 天前
如果两台机器不在同一个内网的话,可以搭配 wireguard 。
tangzhiyong
120 天前
@opengps
@yinmin
感谢你帮我搞懂集群和异地多活的区别
tangzhiyong
120 天前
@wjh876531738 Docker Swarm 实现高可用至少需要 3 台服务器哈。
tangzhiyong
120 天前
主要关心的是:
- 高可用,所以要讲服务器设置在两地。
- 节点之间数据保持一致。
这样如果其中一个地点停电断网,依然可以保证服务和数据都可以正常访问。
请问各位有好的 idea 吗
tangzhiyong
120 天前
主要关心的是:
- 高可用,所以要讲服务器设置在两地。
- 节点之间数据保持一致。包括数据库和文件要一致。
这样如果其中一个地点停电断网,依然可以保证服务和数据都可以正常访问。
请问各位有好的 idea 吗
tangzhiyong
120 天前
@yinmin 其实不关心集群,主要希望高可用且每个节点数据保持同步一致。
tangzhiyong
120 天前
@m2276699 需要数据库谢谢,希望实现单一入口,根据节点的可用性自动将入口切换到其中一台服务器。
Akiya
120 天前
要保证一致性至少要三台,不然会出现脑裂
brant2ai
120 天前
你这都不在一个局域网下,看你部署的是啥,不过就这跨环境的网络通信都让人头大
Rehtt
120 天前
@brant2ai 可以用 wireguard 之类的组建虚拟内网
tangzhiyong
120 天前
@brant2ai
暂时用了 tailscale 实现异地组网,所以这两台机算是在同一局域网的,谢谢
tianhehechu
120 天前
能给我一台吗,我一台也没有
jamesjammy061
120 天前
不虚拟的话,高可用可能做不了。只能双主热备

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1066019

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX