0

我的公司正在运营多个销售保险产品的国际网站。我们当前的设置是一个 Webfarm,其中有多个负载平衡的 Web 服务器托管我们的ASP.NET应用程序。后端是一个单一但功能强大的 SQL Server。(都在一个数据中心)

我们的网络管理员想要迁移到在VMWare上运行的虚拟服务器。

场景可能是

  1. Webfarm:多个标准网络服务器、负载平衡(当前设置)、SQL Server 上的会话状态
  2. Virtual Webfarm:多个虚拟服务器,在一台物理 VMWare 主机上进行负载平衡,SQL Server 2.a 上的会话状态与上述相同,但具有多个物理主机
  3. 单一虚拟网络服务器:一个强大的虚拟网络服务器,不需要负载平衡,会话状态可以保持在进程中

围绕虚拟化大肆宣传,我可以看到好处,但没有这方面的经验。我不知道我们将面临什么问题,我们应该特别注意什么。

  • 有没有人有过这种虚拟设置的经验?
  • 一般建议是什么?

我倾向于2a。我害怕在一台物理机器上拥有所有网络服务器。

非常感谢您提前分享您的想法。

4

5 回答 5

1

为一个应用程序使用多个 Web 服务器的原因有以下三个:

  1. 缩放 - 需要比一台机器提供更多的咕噜声
  2. 可靠性 - 网站应在出现故障时继续运行(a. 硬件 b. 软件)
  3. 优先级 - 其中一个网络服务器承担繁重的工作(可能是计划任务),让另一个快速响应客户端请求。

嫁给你的场景:

方案 1 提供 1、2、3 方案 2 提供 2b(如果是完全硬件冗余(怀疑),则可能是 2a) 方案 2a ​​提供 1、2 方案 3 不提供上述任何一项

虚拟主机的优势:

  • 在服务于多种用途的大型集群上降低总拥有成本 (TCO) 具有成本效益
  • 如果需要,可以快速创建新服务器
  • 如果成本在许多应用程序之间分摊,则冗余硬件更容易证明其合理性

缺点:

  • 其他虚拟机可能会吸走您的 CPU/磁盘 IO 容量

恕我直言,在同一虚拟服务器上对多个虚拟机进行负载平衡几乎没有意义。

于 2009-02-03T22:31:48.090 回答
1

罗伯特几乎涵盖了所有内容,我主要只是添加一个注释,说明我们的至少一个客户目前正在使用选项 2a 运行。

所以我们有多个负载平衡的 Web 服务器在几个 VM 主机上运行,​​与非虚拟化 SQL 集群通信——这对它们来说非常有效。

虚拟化的另一个优点是它可以让您更充分地利用您的硬件 - 但是,您需要注意,如果您的虚拟主机以大约 90% 的容量运行多个虚拟机,您就没有很多任何流量高峰的备用容量 - 如果您不期待任何流量高峰,那就太好了,但如果您是,您需要准备一些东西来应对。

于 2009-02-03T22:52:09.437 回答
1

我同意上述所有答案,并且我实际上在网络托管服务商工作。:-) 如果您现在使用多个负载平衡的网络服务器,那么我只能假设它的原因是

  • 硬件冗余:如果单个应用程序服务器出现故障,则这些会话将丢失,但应用程序继续在其他服务器上运行,用户可以立即重新连接。

或者

  • 应用程序负载分布(已经很晚了,所以我想不出更好的名字):您的流量决定了您有多个应用程序服务器,因为您的所有用户都会使单个应用程序服务器崩溃。

如果 #1 是原因,那么转到 VMWare 就达不到目的了,因为您只有一台服务器支持所有功能,并且在硬盘驱动器崩溃等情况下,您在修复时会停机。如果 #2 是原因,那么基于 VMWare 的解决方案可能会起作用,但请记住,您使用的硬件几乎必然比您当前使用的硬件具有更高的性能。因此,您可能会物有所值,但您仍然会失去多台物理机为您提供的冗余。

现在,您总是可以通过让多台物理机都运行 VMWare 来将两者结合起来,但这会增加您可能不一定想要的事情的复杂性。

于 2009-02-05T08:50:09.103 回答
0

在同一个物理主机上运行多个虚拟服务器听起来并没有什么切实的好处,你只是增加了开销。除非我在您描述设置的方式上遗漏了一些东西,否则迁移到 VMware 根本不会有任何好处 - 除非您正在考虑利用VMotion等功能

VMware 对于整合未充分利用的硬件最为有用。如果您的硬件在高峰期以接近容量运行,那么您不希望在一台机器上运行多个 VM。

虚拟化有很多好处,但您的网络管理员需要在您考虑切换之前证明您的公司有好处。我会说,如果您有多个应用程序在低流量的专用服务器上运行(即每个应用程序都有自己的物理服务器),那么可以肯定,Virtualize。如果您在多台服务器上拥有一个应用程序,则不要这样做。

于 2009-02-03T22:55:39.413 回答
0

您应该能够使用每个主机具有多个 vm 的虚拟机主机,并在所有主机之间进行负载平衡。

微软正在使用 msdn 和 technet http://virtualization.info/en/news/2008/05/microsoft-migrates-msdn-and-technet-on.html来做这件事。

于 2012-02-11T14:38:55.180 回答