我目前正在运行一个 CentOS VPS 和一些简单的 web/DB/VPN 服务器,但我计划在不久的将来转移到基于 vmWare Enterprise 云的机器以提高可用性,并且我需要知道如何进一步构建它以确保高可用性和故障转移。
我正在运行 postgresql 和两个简单的 jetty 网络服务器,其中一个隐藏在 OpenVPN 后面 - 我正在使用 monit/munin 对其进行监控。
现在我相信我应该尝试设置两个节点(?这是否意味着购买两台不同的虚拟机)并在它们之间进行故障转移 - PostgreSQLs 流复制似乎足够容易,并且在每台机器上都有一个 OpenVPN / webserver 实例似乎相对简单 - 丢失会话状态可能没问题(除非有办法共享它) - 我的问题是这两个节点如何接口,它们之前是什么并将网络流量路由到每个节点 - 或者你是否需要第三台机器,或者它是否内置在 vmWare 中?
我还注意到一些云主机宣传 HA SSL VPN,并且我相信 OpenVPN AS 有一个虚拟设备 - 这应该取代我的 OpenVPN 实例吗,还是没有必要?
我想一旦我真正获得服务器,这可能会变得更加明显,但现在我很困惑。
答案1
获得高可用性基础架构的最佳方法是使用 Vcenter。每个 ESX 都将添加到一个集群,该集群将监控 ESX 主机的任何问题。
对于您的虚拟机,您将能够设置操作,以确保您拥有的每种类型的虚拟机(Web 服务器、数据库等)位于不同的 ESX 主机上。这将防止出现故障转移问题,并且所有特定类型的主机都位于停机服务器上。您可以将 OpenVPN 服务器放在您想要的任何位置。
从物理上讲,每个主机的每个 vswitch 至少应有两个 NICS。第一个 Vswitch 应是管理类型的活动(服务控制台、管理控制台等)。然后下一个 vswitch 将具有两个接口,它们需要按照需要进行配置以支持您的应用程序。
这只是在高可用性设置中获取 VMWare 的最基本的设置。