在我们的 Web 服务器上,我们每 4 小时使用以下方法对文件进行一次增量备份:快照。为了执行文件的实际复制,我将其配置为使用自定义脚本,cp-nice
该脚本具有以下内容:
nice -n19 ionice -c3 cp "$@"
如您所见,这cp
通过nice
和ionice
调用来防止系统过载。据我所知,这达到了预期的效果(无需停止系统即可进行备份)。
然而,我们的 NewRelic 监控系统每次备份时都会出现故障,因为它检测到系统 IO 已达到 100%。 有没有办法执行这些备份而不会让 NewRelic 认为服务器存在问题? 也许有某种方法可以将 NewRelic 中的某个进程列入“白名单”,以便它不计入 IO?
这似乎是一个非常常见的用例——当然,一定有人曾经遇到过并解决过这种情况!
答案1
nice
并且ionice
仅设置 CPU/IO优先事项需要澄清的是,如果有两个竞争的 IO 请求,其中一个具有更高的优先级,则该请求将首先得到满足。
如果没有其他竞争的 IO/CPU,这些进程将很乐意消耗所有可用资源。
答案是配置您的监控检查以了解此类活动何时发生,并在该时间范围内抑制警报或调整警报阈值。