您多久重启一次利用率高的Windows Server 2008R2远程桌面服务器(VM)?


17

注意:我已经阅读了多长时间需要重新启动Windows服务器?但是此问题专门与我们的远程桌面服务器有关。

我们有一台Windows Server 2008R2服务器-一台VMware ESX VM-已获得远程桌面服务的许可,有25位用户也执行RRAS(SSTP)。在工作日的平均工作日中,有8到12个已登录的活动用户,另外还有4-6个“断开连接”的用户。它具有12 GHz CPU硬保留空间和16 GB RAM,也完全保留。需要时,CPU预留可扩展到最大24 GHz。

我们的许多用户仅依靠服务器工作。他们也对它的性能感到苦恼,但是许多人不愿意改变工作习惯或软件来提高其性能。特别:

  • 用户拒绝注销而不是断开连接
  • 用户坚持使用Lync 2013而不是Lync 2010(Lync 2013是臭名昭著的资源消耗)

我不能高估他们拒绝注销的重要性。被拒绝的用户会在断开连接的情况下继续占用RAM,这意味着在任何给定时间,我们最多有16个正在运行的某些程序实例

我还从经验中注意到,远程桌面服务器运行的时间越长,漏洞/僵尸就越加起来。重新启动后,服务器可以刷新且速度更快,即使在比较许多用户登录后的性能时也是如此。我还读到定期重新启动会有所帮助。

因此,我建议定期重新启动VM-我想每周做一次,例如在周六晚上-因为我认为这些重新启动将解决很多问题。

我想知道,如果您是Windows管理员,

  • 即使用户断开连接/重新连接后,垃圾/僵尸/泄漏也会随着会话时间累积,这一事实我是否正确?

  • 多久重新启动一个类似的充分利用的Windows Server远程桌面服务?


10
为什么不使用策略强制注销空闲会话?
Massimo

@Massimo,因为他们会认为这太过分了……每次我重新启动时,他们都会失去工作而没有足够的通知,即,在当天的“中午”之前重新启动他们需要知道的所有信息,即使如此,也只是在某些时间之后抱怨和讨论等
tacos_tacos_tacos 2015年

12
您将需要调整用户的期望。IMO对他们期望在任何时间长度内都可以安全地离开具有未保存数据的空闲会话是不合理的。意外崩溃,设备故障,断电或其他混乱的行为都可能很容易破坏他们未保存的工作。
Zoredache 2015年

2
我不介意这个问题,但是问题的措辞将基于选项。尝试改写更多事实或答案(或至少基于性能的答案)。
Jim B

1
@tacos_tacos_tacos是我的经验。究竟该阻塞正在运行的操作系统是什么?这是一个模糊的概念,没有根据。操作系统没有做那么多。用户进程负责处理。他们走了之后,石板又干净了。操作系统通常会妨碍用户操作,并执行用户进程要求的操作。它不会自行启动资源使用。
usr 2015年

Answers:


23

一般情况下,我反对的想法,在Windows服务器上应该定期重新启动,除非有关TS / RDS服务器。我们每天重新启动。它清除了旧会话,释放了使用中的资源(CPU,RAM,文件句柄等),所以我的意见和建议是,您确实配置了RDS服务器的每日计划重启。

请注意,此答案仅是我的意见。这里没有事实陈述。


在我工作的地方,我们每晚都重新启动我们的工作。有时服务器无法恢复,但是这种情况很少发生,因此值得这样做。
Frederik Nielsen

您多久重新安装一次?
Konrad Gajewski

4
+1 Citrix,Microsoft和我本人都建议定期重新启动TS服务器。这些实际上是最终用户计算盒,通常将运行未针对服务器优化的应用程序-这意味着内存泄漏,未释放资源等。每周最少,但每天都可以,这将使您的生活更轻松。
2015年

@Dan您提到的Microsoft建议的任何链接(常规重启)?
tacos_tacos_tacos 2015年

17

用户拒绝注销而不是断开连接

设置适当的组策略以自动注销它们。您可以分别控制空闲超时和注销。无疑,这应该可以最大程度地减少一天中的某些问题。

我每天凌晨3:00重启我的3服务器TS场。因为,是的,当您有很多人使用单个系统时,废话可能会随着时间的流逝而累积。根据一天中的时间,我们有3台服务器在60-90人之间共享。

我可能不需要经常重新启动,但是我们开始在Windows 2000中使用终端服务,并且当时我们的打印机驱动程序很糟糕。后台打印程序在一两天后基本不会出现故障。因此,我们开始每晚重新启动,因为我们没有任何力量来使打印机制造商修复糟糕的驱动程序。


关于打印机驱动程序等:我确实在这里或其他地方读到了MS在Windows 2000 Server和Windows Server 20032R2 SP3之间在该部门取得了长足进步-并减少了重新启动的需要。因此,我不确定驱动程序问题是否相关。实际上,我已经注意到Windows(Server)的较新版本似乎可以处理打印驱动程序,并且假脱机效果非常好。
tacos_tacos_tacos 2015年

实际上,我并不经常重新启动TS服务器,但是每天晚上我都停止打印后台处理程序,删除所有打印作业,然后重新启动它。当用户无法使用RDP登录时,这也可以解决事件。(Windows Server 2003)
Randy Orrison 2015年

6

根据您的现金,时间和用户的精明程度,另一个想法可能是站起来第二台服务器。您仍然偶尔需要重新启动,但是您似乎已达到单台服务器的极限。

您应该能够使用相同的客户端CAL(许可不是我最擅长的领域),并且根据您的虚拟化解决方案,现有许可可能已经涵盖了其他VM。

即使没有额外的VM资源,也有额外的OS开销,假设您可以平均分配负载,您可能会发现系统可以更好地处理两个单独的6 GHZ CPU和8GiB内存VM。有三种可能的方法:

  1. 最干净的方法是使用适当的基于网络的负载平衡解决方案,例如F5 Networks,Cisco Systems和类似公司提供的解决方案。如果您已经购买了这样的解决方案,那么值得在这里使用它。然后,您可以忽略其余的答案,因为f5随后将能够正确解析用于访问当前RD服务器的FQDN的所有查询,并根据使用最少的服务器返回适当的IP。
  2. 轮询DNS是可行的解决方案。它不能保证完美的负载均衡,但是如果您不能使用网络负载均衡器,那么在教育用户时(参见3)这可能是一个有用的权宜之计。用名称相同但IP不同(两个服务器)的两个主机记录替换当前正在使用的DNS名称客户端,理想情况下,还配置链接到每个单独服务器的单独的主机记录(最好基于服务器主机名)。

如果您不希望客户端的DNS缓存过期而他们获取另一台服务器的IP,则不要在它们的循环条目上设置长的TTL。或者,使他们连接的计算机的主机名显而易见(例如,使其成为后台的一部分),并要求他们重新连接该主机名(如果要恢复其会话)。

  1. 让您的客户分配负载。对于约25个用户,可能可以简单地(通过电子邮件或服务器上的登录消息)要求某些用户访问一台服务器,其余用户访问另一台服务器。另外,如果您控制他们的桌面平台,或者他们通过citrix或其他应用程序虚拟化设备访问服务器,则只需配置其主机文件 †,以使它们始终访问同一台服务器(台式机)/确保始终将同一用户发送到同一台服务器(器具)。

†如果他们将始终使用同一桌面,只需在本地桌面上修改主机文件。如果它们在计算机之间移动,请编写脚本(通过组策略分发)以解析主机文件,以使它们当前用于服务器的DNS条目指向特定用户应使用的服务器IP。替换包含该DNS名称的行(如果已存在),或者将其添加到文件末尾(如果不存在)。


2
+1创造力。我可以设置一个负载均衡器,说实话,这是要走的路。
tacos_tacos_tacos 2015年

4

我熟悉拒绝注销的“用户类型”。但是,他们似乎没有问题,因为他们知道服务器将每晚重新启动,因此所有未保存的工作都将丢失。这是在Server 2008 R2 TS上,在一台计算机上支持大约20个用户。


1

>用户拒绝注销而不是断开连接

您在这里遇到的是管理/人事问题,而不是技术上的问题。如果保持登录状态的人正在影响他人的工作(通过不必要地降低性能),那么实际上只有两种解决方案:

  1. 使其成为技术问题,并在可能的情况下安排增加资源(更多的RAM,SSD代替旋转的金属,...),以便使此问题消除。当然,通过在一台计算机上投入新资源可以达到的目标是有限的,但它可能会起作用。

  2. Persue它作为一个人的管理问题,并找出鼓励(或做不到这一点的一些方法执行)适当的纪律。当然,这可能不在您的直接责任范围内,因此根据您所在办公室的政治情况,这可能会非常棘手...

我们遇到了类似的问题,人们永远不会重新启动台式机,这意味着安全更新有时要排队数月。安全策略指出:“除非已经证明有足够的缓解措施,否则在存在漏洞的情况下应立即安装已知的安全问题补丁,除非可以证明有足够的缓解措施,否则最终只能由组策略强制执行:所有非-server Windows计算机将在星期二通宵重启,如果有待处理的更新,则无例外。如果有人反对这一说法,那么有两个简单的对策:如果我们不遵循该政策,那么下次进行任何对企业很重要的审核时,我们就会取消ISO和其他认证

>用户坚持使用Lync 2013而不是Lync 2010(Lync 2013是臭名昭著的资源消耗)

除了他们想要更新的事物之外,是否有特定的原因?如果有他们真正需要的功能,那么这个角度您几乎无能为力。

如果聊天应用程序是主要的资源问题,我想知道是否有一种方法可以在空闲会话中仅杀死该程序的实例,而不是杀死整个会话?

>每当我重新启动时,他们都会失去工作而没有足够的通知,即在当天的“中午”之前重新知道他们需要知道的所有信息

您没有说明工作的性质,所以这很大程度上取决于工作的本质,但是他们可能无法尽职调查(即,无法正确完成工作)。

如果他们没有定期保存文档,那么他们将自己的工作置于危险之中,而不是您。如果断电或其他故障导致服务器停机,会发生什么情况?他们还会怪你吗?

当然,如果它们在重新引导时处于活动状态,或者需要让长时间运行的进程无人值守,则可能需要真正解决日程安排问题。


0

冒着听起来像销售人员的风险,我们使用ShutdownPlus Rolling Restart。我们已将其设置为每晚尝试重新启动服务器。它的效果非常好-您可以将其设置为仅在每个人都注销后重新启动服务器。如果有人仍在使用RD服务器X次,它将重新开始循环。如果您愿意,该工具还可以为您注销用户。甚至在ESXi上重启虚拟机。

我将其与几个GPO一起使用,这些GPO在几个小时后注销了断开连接的用户。并在一定的空闲时间后断开活动会话。除了偶尔的流氓程序之外,这是一个非常优雅的方法,该程序可以防止会话关闭。我们已经解决了这些问题。现在,我们设置它的方式是,每个服务器尝试从每小时22.00重启到7.00,直到它成功为止。实际上,用户每周至少重新启动2/3次,这对我来说很好。

不幸的是,这不是一个免费程序,但它确实做得很好。我正在实现一个powershell脚本,该脚本有望在重启之前也更新服务器。


0

对Microsoft服务器的直接回答是重新启动YES / NO。哦,如果生活是如此轻松!它确实取决于服务器上运行的应用程序。但这是一个简单的指南,但不是硬性规定。

运行Windows服务器** x版本**(自动重新启动计划)的 物理服务器可以每两周一次重新启动95%,而无需担心。(检查所应用的补丁程序是否相关并且是必需的)。在发布到实时/生产系统之前,请确保在测试服务器上对补丁进行了全面测试。

运行Windows Server x版本的VMWare虚拟服务器-每两周重新引导一次(如果已应用补丁,请参见上面的注释

物理VMWare服务器 从不/很少,并且仅在需要时才进行调度。(如果保持最新状态,通常非常稳定)VMWare修补程序/更新将需要重新启动。

运行Windows SQL的VMWare(限制重新启动,仅手动应用Windows修补程序如果修补程序需要它,则仅在您停止所有客户端连接之后才重新启动)。一旦服务器备份,请检查连接是否已重新连接。SQL Server可能需要一段时间才能重新启动,因此请在数小时内进行规划。

温馨提示:在将ANY更改为VMWare(Windows服务器)之前,请先进行快照!如果在服务补丁程序或应用更新后系统崩溃,或者应用程序无法启动,则可以在有限的停机时间内快速获取服务器备份并运行。切记记下错误,以便您可以找到修复程序,不要将其留在系统上,因为它可能会失败,因为将来可能会失败。

希望对您有所帮助,并且为清除问题提供一个小方法。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.