在我们的Web服务器上,我们使用rsnapshot每4小时对文件执行增量备份。 为了执行文件的实际复制,我已经将其configuration为使用具有以下内容的自定义脚本cp-nice :
nice -n19 ionice -c3 cp "$@"
正如你所看到的,这通过nice和ionice调用cp来防止它重载系统。 据我所知,这具有预期的效果(备份是在不使系统停止的情况下进行的)。
但是,我们的NewRelic监控系统在每次备份时都会感到不适,因为它会检测到系统IO是100%。 有没有办法执行这些备份,而不会导致NewRelic认为有问题的服务器上? 也许有一种方法可以在NewRelic中“白名单”一个进程,这样就不会对IO进行计数?
这似乎是一个很常见的用例 – 当然,有人必须遇到并解决了这样的情况!
nice和ionice只设置CPU / IO 优先级 。 为了澄清,如果有两个竞争的IO请求,其中一个具有较高的优先级,则首先满足该请求。
如果没有其他竞争的IO / CPU,这些进程将乐意消耗所有可用的资源。
对此的答案是configuration您的监视检查,以了解何时发生此类活动,并在该时间段内抑制警报或调整警报阈值。