我应该说,“如何设置负载平衡的cluser”。我不是一个优秀的系统管理员..。我在云中安装了一些堆栈,但没什么稀奇的东西。
现在,我遇到了一个Drupal站点的问题,它已经超出了它的硬件能力。防火墙后面有两个服务器,一个是在高峰时间到达90%+的应用服务器,另一个是在同一时间很少超过10% (通常为3-4)的db/solr服务器。这些是托管物理硬件。DB读起来很重。
在财务上,即使没有配置更改,也可以将这些内容转移到云中。
因此,我想象的是一个负载均衡器,运行在2(我想要神奇增长的东西)应用服务器与nfs与一个DB服务器对话之间的mod_proxy平衡请求。
目前应用服务器是戴尔PowerEdge 2950 MKIII,32 Db内存,2.5GHzx4.DB与一半内存相同。两者都有15000 rpm raid 1的设置。
所以真的,这似乎是可行的。负载均衡器的前端似乎不需要任何东西,也许是一个1GB的图像?
我在某个地方发现,如果用户在会话中间切换服务器,那么cookie可能会有问题,有人能对此发言吗?
任何一般性的建议,学习更多的地方,等等。记住,我只是想把这件事搞清楚,而不是成为专家。
谢谢
发布于 2011-01-19 06:11:20
听起来你需要在你的组合中添加另一个网络服务器。您有大量的DB开销,这很好。这类事情是相当可行的。你已经有重点了。
获取会话故障转移超出了我的Drupal,但它可能是可行的。是的,如果你的一个网络服务器因为某种原因重新启动,这些用户将不得不重新建立。对于与上述类似的应用程序,当我们需要执行计划好的重新启动时,我们将负载均衡器(硬件负载平衡器、F5 BigIP)配置为不允许新会话,并在重新启动web服务器之前监视所有现有会话失效。
发布于 2011-01-19 07:09:54
默认情况下,Afaik cookie存储在DB中,因此它们自动在用户之间共享。只要在NFS上分享你的webroot就可以了,几乎所有的东西都应该可以正常工作(如果你在会话中间切换,一些上传模块可能会出错)。
也许我忽略了您的帖子的要点,但是当您的Drupal服务器比DB加载得更多时,还有其他的问题。
我做这种事是为了谋生,如果你想不出办法,请告诉我。
发布于 2011-01-19 11:15:01
最终,故障转移/负载平衡必须能够在客户端上完成--尽管有一些充分的理由可以进一步沿着链(及其隐含在网络层之间)提供此功能,这就意味着循环使用DNS。当然,对于几个使用单独负载均衡器的for服务器来说,这是过分的。
我对Drupal并不太熟悉,但是如果内容都存储在数据库中,那么您所需要做的就是在DB框上安装一个webserver,并为站点设置循环的DNS记录,这有利于webserver专用框。
快速查看Drupal安装说明没有提到有可写目录,所以看起来我的假设是正确的。
除了将负载扩展到可用的负载之外,您还可以消除堆栈中的单个故障点-- webserver,添加一个负载均衡器意味着要向堆栈中添加另一个SPOF。
https://serverfault.com/questions/224064
复制相似问题