我目前正在devise一个OpenVPN服务,为互联网用户提供增强的隐私。
到目前为止,我打算使用运行CentOS和Xen的专用服务器为每个OpenVPN服务器提供多个域以实现高可用性和负载平衡。
如果一个domU发生故障,我想在同一个主机上自动启动第二个domU。 这种types的故障转移可能吗?
是否有任何解决scheme负载平衡到domU服务器的VPN连接?
是的,可以监控Xen DomU的状态,并在DomU发生故障时运行一些任意的命令。 您可以在第三个主机(DomU或物理)上运行Monit守护进程的一个实例,它检查主要的OpenVPN DomU,并告诉Dom0在主要失败的情况下启动辅助DomU。 Monit文档有很多可以告诉你如何实现的例子:
是的,OpenVPN内置了一些高可用性和/或负载分担function,而且设置起来非常简单。
首先,你将同时运行多个OpenVPN服务器,每个服务器都监听自己的IP地址。 服务器不共享状态,彼此不知道任何事情。
然后,您可以在命令行或OpenVPN客户端的configuration文件中指定多个“–remote”选项。 当客户端有多个可用的远程服务器选项时,它将随机select一个并build立连接。 如果该服务器失败,将重新尝试连接,如果连接失败,则随机select其他服务器。 请参阅OpenVPN文档,了解更多信息:
你可能想看到我的答案类似的问题,在这里:
正如我的另一个答案中指出的那样,您可能需要关注这些客户端选项,特别是:
当然,这不是真正的负载均衡,因为OpenVPN客户端不会select负载最低的服务器,也不会select最less的客户端 – 它只是随机挑选一个服务器。 如果您需要真正的负载平衡以确保服务器负载保持均衡,则需要find某种专用的负载平衡解决scheme,无论是硬件还是软件。
也许你可以把两个domU虚拟机configuration成一个普通的Linux HA集群的两个节点。 但是我认为这个configuration只有在第二个节点处于待机状态时才能工作。 如果你想让备份domU节点启动,如果第一个节点不起作用,我认为你必须在dom0级别编写一个脚本,检查第一个节点的健康状况,并在出现故障时迫使它完全closures,备份的启动(我不认为这样的shell脚本应该是太难了,或者你可以使用一些好的软件来做linux的工作,但是这可能更具侵入性)。
另外为了这个,你可以考虑两台虚拟机,比如普通的Linux机器,安装和使用负载均衡标准的Linux解决scheme。
对于您的OpenVPN HA群集设置,您可以使用OpenVPN,WAN负载平衡和OSPF的组合。 这里有一个新的HOWTO: http : //www.vyatta4people.org/highly-available-openvpn-connection-between-two-offices/享受!