有时,服务器会开始显示某种硬件故障,但不会禁用其功能,但需要亲自到场(如果是远程岗位,可能需要几天时间才能到达)。
在某些情况下,必须保持服务器开启以保存某些内部状态:它不能关闭,也不能重新启动,但同时,必须使其处于尽可能空闲的状态,并尽量保持开启直到技术人员到达。
目前,我们手动禁用所有服务,包括数据库、系统日志等。有时有几十个服务,我们必须密切关注哪些服务是开启的,哪些是关闭的。
我知道这,但这并没有多大帮助。
有没有办法以编程方式执行此操作,记录已启用的内容,以便在服务器状况改善时正确重新启动这些服务?
我对任何操作系统的答案都感兴趣,但可能也对基于 illumos 的金属操作系统 (SmartOS / OmniOS) 感兴趣,因为这是我们正在使用的设置。
答案1
在 Xen 或 VMware 等虚拟机管理程序上运行,您可以选择拍摄包括 RAM 在内的快照,甚至无限期地暂停 VM,从而实现您的要求。
您所描述的问题听起来确实可以通过采取不同的方法来避免 - 例如避免在相关服务器上保留本地状态。由于您没有分享任何有关您操作的环境或为什么需要此设置的信息,因此它听起来过于复杂并且容易失败。
编辑
您提供的细节并未详细说明“为什么”。
在某些情况下,必须保持服务器开启以保存某些内部状态:它不能关闭,也不能重新启动,但同时,必须使其处于尽可能空闲的状态,并尽量保持开启直到技术人员到达。
为什么?
如果您需要它来提供替代方案,这就是配置管理的目的(puppet/ansible/cfengine + 类似 Foreman 的东西)
如果您需要在更换后继续操作(例如应用程序状态),请尽量将其远离该框。