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