在多个团队工作的耳中,我遇到了多个基础架构管理器,这些管理器制定了每周服务器重启的策略。作为一名开发人员,我一直反对该政策 - 似乎这是解决软件错误和硬件不稳定性的问题,而不是纠正它们。
有关政策的人民意见,积极和消极观点是什么?
答案 0 :(得分:8)
如果您偶尔重启服务器,可以确定它们会重新启动。虽然每周听起来像一个严重的矫枉过正,但我已经在Linux机器上看到了这个问题,并且运行时间很长。
有人没有费心设置关键服务以在启动时自动启动。或者服务的顺序是错误的。或者有人升级了库,添加/删除了软件等,并且可执行文件不再有效(它是用旧库启动的,并继续使用它们;现在它获得了动态链接器错误)。或者事实证明,服务A取决于服务B,服务B取决于服务A(oops)。
在某些时候,当至少想要时,您将重新启动。 colo会降低你的力量;服务器的电源会发生故障;有人会拉错线/点击错误服务器上的重置按钮;现在,当你最不能承受停机时,你的血腥服务器就不会恢复。
就像软件一样,系统配置需要测试。您需要多长时间进行一次测试取决于您的盒子管理方式。
答案 1 :(得分:6)
这是一项愚蠢的政策。
原因如下:
如果您需要每周重新启动一台服务器(并以某种方式增加您的基础架构的稳定性),您就会掩盖服务器或其软件的真正问题。内存泄漏?一个坏司机?解决这些问题的方法是修复它们,而不是用懒惰的政策掩盖它们。
服务器通常会重新启动以进行更新,至少在Windows世界中是这样。无论如何都会重新启动关键内核更新。
数据库服务器在RAM中缓存大量信息。当您重新启动服务器时,此缓存变空并且非常冷。假设您有一个典型的使用模式,冷,空缓存将导致用户在重新启动后尝试查询时性能降低。 可能还会增加执行某些类型维护所需的时间,例如备份,因为可能需要更多地访问磁盘。
您的服务器出现故障!由于您的服务器在非零时间段内处于关闭状态,因此备份和其他内容的维护窗口会缩短。您也可能最终不得不告诉您的用户您将有停机时间,具体取决于您的系统架构。
假设您有某种警报通知系统,则必须将其配置为忽略停机时间窗口。这可以掩盖服务器重新启动时发生的问题,并增加您在服务器上需要执行的配置量。
话虽这么说,重新启动有时作为资源的最后手段是有益的,你不一定完全控制(旧供应商编写的软件,供应商明确规定的“黑匣子”设备等... )。但这应该根据具体情况处理,而不是采用天真的一揽子政策。
答案 2 :(得分:3)
为旧线索除尘道歉。
我认为每个人都忽略了这一点,特别是顽固的重启?我宁愿卖掉我的商品!尼克斯管理员。
重点是应该安排每周一次的窗口。并不意味着它必须被使用,事实上,它的偏好是因为它不会被使用,因为它不可避免地会在某个早晨的某个时刻被抛弃。
但如果它在那里,你可以使用它。
就个人而言,我认为季度重启是一个非常好的主意 - 它可以让你对问题(硬件和软件)有所了解,并且正如其他海报所指出的最具前瞻性思维,让你意识到阻止顺利的变化启动只有在重启后才会变得明显。停电4小时后再用2小时带上你的箱子,而不是出现这种情况变得非常尴尬....
还有其他好处..
它让管理层用于重新启动,当您确实需要重新启动时(例如物理移动它),您就有信心。如果你从不重新启动一个盒子,当你说它需要在4年后重新启动并且没有停机时,你的经理会非常紧张。
你自己已经习惯了重新启动,并且知道在离线时会出现什么问题。
你知道重启需要多长时间,所以当它重新启动并比平时延长10分钟时,你就会直接进入日志。
如果你明天被一辆公共汽车撞倒,那么有关当重启发生时会发生什么的CURRENT(不是4月旧)文件(假设你是个好管理员并写下来的话)
每季度30分钟重启非常符合SLA的99.9%正常运行时间。
最后它清除了众所周知的蜘蛛网。
回答一些问题,反对定期重启..
关于掩盖坏驱动程序\内存泄漏等的问题很有趣。你怎么知道它是内存泄漏\坏驱动程序,除非你重新启动服务器?不仅如此,如果您无法在计划的停机时间内修复它,该怎么办?如果您有每周安排的窗口,那就没问题了!你下周再试一次......
通知系统 - 如果您有计划的窗口,则可以设置计划的例外。如果你的软件\脚本没有这样做,那么我建议使用现代软件\更好的脚本编写。
至于计划的异常窗口隐藏“恰好在计划的异常窗口期间发生的问题”,这只是可笑的。如果您查看它们,您的其他服务器统计信息将很快显示此问题。
当然不建议采用一揽子政策,您应该有例外标准(例如超过特定大小的磁盘空间等)
话虽如此,底线只是因为您的服务器不需要重新启动,认为您不应该重新启动它是非常天真的....
修改强>
我不确定我是否已经说清楚了,但重新启动不应该用于抹灰问题。窗口应该是每周一次,这样你就可以反复尝试解决这个问题,而不是“和它一起生活”。
重新启动作为处理服务器上的问题的方法是系统管理员很差。什么都没有学到,浪费了人们的宝贵时间,并且(正确地)降低了管理层对你的看法。
我的意思是
答案 3 :(得分:1)
回答我自己的问题:我从策略中看到的一个好处是它应用于服务器集群,并且进程从一个节点故障转移到另一个节点。这样,所有节点都会不断测试正确的软件安装。
答案 4 :(得分:0)
我们的服务器都是Linux服务器,我们不会重启并且没有任何问题。我同意这是一个充其量的黑客攻击,我也认为这可能与人们在支持Windows问题时常常给出的第一个响应有关:“你重启了计算机吗?”
现在,为什么它可能是有益的,你可能有应用程序进入一个奇怪的状态或有重启将解决的内存泄漏。
对我来说,一个很大的负面影响是你必须安排服务器的每周停机时间。对于一些不是问题的人,对其他人来说这是个大问题。
答案 5 :(得分:0)
显然,如果问题的根源无法及时修复,则必须解决。如果可行的话,安排重新启动来修复它是一种简单的方法来保存业务。
当然,它会在精神上受到伤害而且不应该被需要,最好是反对这样的解决方案,特别是如果一个人控制有问题的软件,或者有机会抨击生产者进行修复或简单代替它。但如果没有..?
我记得为Citrix服务器场中的服务器执行此操作,最后每天晚上重新启动它们,使用半复杂的脚本等待用户注销,将登录锁定到特定服务器,然后重新启动免费服务器。原因是一个旧的16位4GL客户端应用程序,我们根本无法摆脱在几天的正常运行时间之后切断整体用户响应能力。
我同意,但大多数情况似乎是基于不够聪明,无法找出原因并加以解决 - 并非每个人都像我们所希望的那样精通维护或激励。
答案 6 :(得分:0)
这真的是一个黑客,但它可能是最有效的黑客。这是一个80:20类型的问题,你可以用20%的努力解决80%的问题。如果您能够在停机时间或停机时间内付出的代价比实际修复根本原因要少,那么这是一个很好的解决方案。我个人不喜欢它,但这只是因为它不是一个干净的解决方案。
答案 7 :(得分:0)
另一种考虑的可能性是,在某些环境中,例如一天24小时营业的零售店,“商店关闭”事件,以便服务器可以更新,备份等。
即使服务器需要“24x7”运行,他们每天至少都会离线几天。
这有效地使服务器每天都重新启动,即使商店在发生时仍在运行。