我有两台 Dell PowerEdge 2950 服务器。为了(希望)消除任何停机时间,我必须实施一种解决方案来检测和调整组件故障、环境故障等......通常的“停机时间是敌人”场景。
从这一点开始,我将服务器称为server(s),因为实施的解决方案可以将两台服务器组合成一台逻辑服务器(老实说,最好使用一台逻辑服务器)。
我将有大约 15 个瘦客户端都指向上面提到的服务器。服务器将充当终端服务器。客户端将连接到服务器并运行客户端 GUI 的实例。实际的服务器本身将运行同一应用程序的服务器版本,为客户端 GUI 提供他们需要的信息/数据......(我希望这是有道理的!)
我被推荐使用 Marathon Technologies everRun 2G软件。虽然这似乎是一个公平的解决方案,但它也是 12,000 美元......对我来说似乎有点贵,(但这可能是我在这个领域缺乏经验)......
对于这种情况,是否有更具成本效益的解决方案?目前,我一直在研究涉及Citrix XenServer的解决方案,但尚未取得很大进展……
如何实现上述程度的容错?
编辑:服务器正在运行 Windows Server 2003 Enterprise。
编辑:为了澄清我的误解,我正在拍摄故障转移到仍在运行的节点以防发生灾难。托管的应用程序提供对大量电子锁门和对讲机的控制。因此,如果应用程序不可用,则不会打开任何门,也无法通过对讲机进行通信。哎呀!
编辑:嗯,经过一些范围变更、资金和其他非技术项目调整,我正在推进的解决方案实际上没有使用列出的任何方法:) 长话短说,我们正在维护两个独立的终端服务器;一个主备份和一个热备份。在紧急情况下,两者之间的切换将是手动的(尽管它实际上会与我们最初预期的一样快,甚至更快)。服务器硬件(两个 NIC、两个电池电源和两个 UPS)将解决所需的故障转移功能。感谢您的所有反馈,非常感谢!
Marathon 是一个非常重量级的系统,它有效地将您拥有的系统容量减半。首先,我会确保您拥有共享存储等基础知识。
今天,VMware 可以提供 HA,当其中一个系统发生故障时,它可以有效地让服务器重新启动,未来 VMware 将能够跟踪机器,以便当其中一个服务器死机时,实例将透明地“实时”迁移到另一个服务。
我要指出,除非你真的需要 HA,否则通常最好有一个运行良好的简单系统,而不是一个应该更可靠但实际上并非如此的复杂系统。
就像 James 提到的那样,如果它真的那么重要,那么可能值得考虑从 VMWare 使用 ESX 加载物理服务器。使用此基础架构,您可以将 Vmotion 与 VMWare 的 HA 工具结合使用,以允许服务器在物理服务器之间无缝移动,而不会给最终用户带来停机时间。这确实需要一个 SAN 以及一个单独的盒子来运行管理软件,但管理软件可以在像桌面这样轻便的东西上运行。
这里有一些我会看到的选项..
只需在两台服务器上安装所有内容,包括终端服务,然后使用 Windows 服务器内置的服务来使用“集群 IP”,这样每个人都连接到一个 IP 地址,两台服务器将决定谁连接到哪台机器,从而提供伪负载平衡情况。
另一种方法是投资 VMWare 的工具套件,将 VM 用于终端服务,然后使用 VMotion 和高可用性选项来保持 VM 的运行。
企业高可用性的大多数情况似乎需要两台服务器加上一个高速 SAN 或 iSCSI 存储系统来保存 VM 或两台服务器之间的共享数据,然后您的服务器的应用程序服务在连接到存储的两个系统上运行服务器。
使用 DRBD 和 Pacemaker 在 Linux 上安装 Xen 可能是可能的,但我认为也许只是在 Windows 上使用“集群 IP”来分配两个终端服务器之间的连接可能就足够了,也许使用 NAS 或其他存储服务器共享应用程序数据目录或数据主目录。那行得通吗?
我想你稍微编辑了你的问题?要么是那个,要么是我浏览得太快了:-)
15 个用户使用终端服务访问两台服务器;我认为,对于预算问题和管理,您最好还是考虑在终端服务中启用负载平衡。
一些注意事项:一个用户可以为每个人杀死一个终端。我们有一个用户在登录终端查看 weather.com 的动画时离开。几个小时后,内存使用或 CPU 使用激增到其他所有人都陷入几乎无法使用的状态。
此外,如果断开连接并且用户重新连接到第二台服务器,他们可能会混淆他们的应用程序在网络出现故障时使用的位置,或者主目录服务器上的文件共享问题,因为文件在服务器一上打开并且他们现在重新登录到服务器二。
换句话说,无论您的服务器如何,严重依赖终端服务都意味着拥有良好的基础设施。这意味着在托管交换机和可靠的布线等方面需要更多的钱。并且您应该有一个 IT 部门准备好监视这些服务器的异常情况,以防用户占用资源,因为一个人可能会遇到一个级联到其他用户会话的问题。
我质疑您是否真的需要高可用性,或者您是否只需要在发生硬件故障时故障转移到仍在运行的节点。HA 将非常昂贵,而且对于这么少的用户,我认为您的预算不会那么高。
您是否考虑过使用 Microsoft 的内置终端服务会话目录功能和负载平衡器?您已经拥有 Windows Server 2003 的“企业版”,因此就实现会话目录功能的许可费用而言,您已经“克服了困难”。
更多细节:http: //download.microsoft.com/download/7/b/3/7b3aa957-4865-427d-9650-789179a5d666/SessionDirectory.doc
您可能还会查看一些第三方工具,例如2X Loadbalancer。(虽然没有个人经验......)
我会为 Citrix XenServer 做担保,但使用 VMWare 从来都不是一个错误。如果有的话,它可能只会伤害公司的钱包。
就像 Charles 评论的那样,您确实需要一个 SAN(或 NAS)或某种共享存储来真正利用 VMWare 的高可用性/VMotion 功能。但要回答你的问题:
Citrix XenServer 5.5 和 XenCenter 都是免费的(如 ESXi),但 IMO 具有更多功能,可让您更接近“消除任何停机时间”的目标。但无论是使用 Xen 还是 VMWare,您都需要与产品要求兼容的共享存储。
好吧,您的总体目标听起来像是高可用性,现在您要求容错。IT领域内的两个不同概念。我想说,鉴于提供的所有信息,可能有更好的选择,而不是直接跳入虚拟化的高成本。15 个会话对于您的服务器来说并不是一个艰巨的负载。也许此时虚拟化有点多,也许没有它你就可以逃脱。在您的两个终端服务器之间进行负载平衡以减轻负载,直到需要更多客户端,然后再考虑对所有内容进行虚拟化。
另一个想法:您可以使用 VMWare ESXi 或 XenServer 5.5 进行虚拟化,然后进行虚拟化,但现在没有 HA/VMotion-esque 功能。然后,当您确实需要使用这些功能时,购买升级并在两台服务器之间减少一些共享存储。这样,您就不必事先进行 P2V 转换。
我想说的是,既然您提到第二台运行 ESX 管理软件的 PC 会不受欢迎,那么您唯一真正的选择就是负载平衡。几乎所有其他解决方案都将涉及购买共享存储,这可能会以接近您为这两个 2950 支付的价格开始。