首先,我必须说,作为系统管理员,我还是个新手。我正在尝试做别人的工作,在集群/负载平衡和相关方面我几乎没有经验。
情况就是这样。
我有 4 台物理服务器。所需配置如下:
2 个复制的 Web 服务器,它们是访问数据库数据的公共接口 2 个复制的 MySQL
我想要的是:
1 个虚拟 IP 地址由网络服务器共享,为 2 台机器提供负载平衡。此 IP 将是 DNS 指向的公共 IP。
1 个由 mysql 共享的虚拟 IP 地址,与上文相同。这将是应用程序连接所使用的接口。
这些服务器位于远程服务器场,但它们包含在 VLAN 中。
有可能达到这种配置吗?如果那样的话,该怎么做?如果不行,有什么好的替代方案吗?
谢谢任何提示。
达里奥
答案1
有几个问题,你想让它负载平衡吗?因为如果你有 4 台机器,2 个 apache 和 2 个 mysql,你会设置一个故障转移设置,这样如果一台服务器宕机,它将使用另一台服务器。为了实现这一点,你可以使用 HeartBeathttp://www.linuxjournal.com/article/5862
如果您的负载很高,您可能有 3 个带有 apache/mysql 的节点,所有节点均已复制,并将其中 1 个框转换为专用的负载均衡器。
最可靠的设置是 2 个负载均衡器、3 个 Apache 服务器、1 个强大的 MySQL 服务器和 1 个通过心跳进行备份
更多阅读
我真的很喜欢关于如何锻造的指南
http://www.howtoforge.com/high_availability_loadbalanced_apache_cluster
答案2
是的,这绝对是可能的。
您将要遇到的主要问题是决定如何设置 mysql 服务器。如果它们处于主/主复制模式,即任一服务器都可以进行写入,那么该解决方案就很好。但主/主复制并不常见,它们更有可能设置在主/从情况下,即写入只能转到主数据库。如果您确定此负载平衡器仅用于读取,则可以在这些服务器前面设置一个负载平衡器。
您仍然可以在两者之前设置一个负载平衡器来进行写入,但它必须足够智能,只要主数据库健康,就始终转到主数据库,并且只有在主数据库发生故障时才会转到从属数据库。此时您需要手动干预来修复问题,因为旧的主数据库不会获得任何新的写入。
建立这种类型的系统并非易事,尤其是处理主人去世的情况。祝你好运。
答案3
考虑到您的物理限制,您确实可以设置 2 个负载平衡器主机和 2 个 Apache/MySQL 服务器。MySQL 需要采用主/主配置,但应该是可以的。这不会在应用程序方面给您带来出色的性能,但确实提供了高可用性(假设负载不太高)