На нашем веб-сервере мы выполняем инкрементное резервное копирование наших файлов каждые 4 часа, используя rsnapshot. Чтобы выполнить фактическое копирование файлов, я настроил его на использование специального сценария, cp-nice
который имеет следующее содержание:
nice -n19 ionice -c3 cp "$@"
Как видите, это вызывает cp
через nice
и ionice
чтобы не перегружать систему. Насколько я могу судить, это дает желаемый эффект (резервное копирование выполняется без остановки системы).
Однако наша система мониторинга NewRelic выходит из себя каждый раз, когда создается резервная копия, поскольку она обнаруживает, что системный ввод-вывод находится на 100%. Есть ли способ выполнить эти резервные копии, не заставляя NewRelic думать, что на сервере есть проблема? Возможно, есть способ внести процесс в «белый список» в NewRelic, чтобы он не учитывался при вводе-выводе?
Это кажется довольно распространенным вариантом использования - безусловно, кто-то должен был сталкиваться и решать такую ситуацию раньше!
nice
и ionice
только установить CPU / IO приоритет. Чтобы уточнить, если есть два конкурирующих запроса ввода-вывода, один из которых имеет более высокий приоритет, он будет выполнен первым.
Если нет других конкурирующих операций ввода-вывода / процессора, эти процессы с удовольствием потребят все доступные ресурсы.
Ответ на это - настроить контрольные проверки, чтобы знать, когда происходит этот тип активности, и либо подавить предупреждения в течение этого периода времени, либо настроить пороговые значения предупреждений.