MongoDB закрывается каждый день – почему и как это исправить?

Вопрос или проблема

У меня есть сервер Ubuntu 16.04 на OVH. Я запускаю mongod так: mongod -f /etc/mongod.conf &

Он выключается каждый день, и я не могу найти причину.
Я пытался проверить логи, но это огромный файл, и я не могу найти ничего полезного.

Может быть, вы можете мне помочь?

Вот mongo --version

Версия оболочки MongoDB v3.4.10
версия git: 078f28920cb24de0dd479b5ea6c66c644f6326e9
версия OpenSSL: OpenSSL 1.0.2g  1 Мар 2016
аллокатор: tcmalloc
модули: нет
среда сборки:
    distmod: ubuntu1604
    distarch: x86_64
    target_arch: x86_64

Вот детали сервера

ЦП
Intel(R) Xeon(R) CPU E3-1245 V2 @ 3.40GHz
Ядра : 8
Кэш : 8192KB

Оперативная память
2x 8192MB

Диски
2 x 240 ГБ

Материнская плата
P8B-M Series

А вот mongod.conf

# mongod.conf

# для документации всех опций см.:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# Где и как хранить данные.
storage:
  dbPath: /home/mongodb_data
  journal:
    enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:

# куда записывать данные логирования.
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log

# сетевые интерфейсы
net:
  port: 27017
  bindIp: 127.0.0.1,10.17.0.10


#processManagement:

#security:
# authorization: enabled
#operationProfiling:

#replication:

replication:
   replSetName: incredo


#sharding:

## Опции, доступные только для корпоративной версии:

#auditLog:

#snmp:

Может быть, ваши сценарии резервного копирования неразумны и потребляют ресурсы, из-за чего остальные службы сервера отключаются каждую ночь во время выполнения резервных копий.

Ответ или решение

Почему MongoDB отключается каждый день и как это исправить?

Понимание проблемы

Вы столкнулись с проблемой, когда ваш сервер MongoDB на базе Ubuntu 16.04 отключается ежедневно. Ваша конфигурация, логирование и спецификации сервера предоставляют важные подсказки для диагностики. Рассмотрим возможные причины отключения и пути их устранения.

Возможные причины отключения

  1. Недостаток ресурсов: Как вы упомянули, в традиционно используемой конфигурации виртуальных машин ресурсы могут быть ограничены. Если в вашу инфраструктуру включены резервные копии, которые выполняются одновременно с MongoDB, это может вызывать перегрузку системы.

  2. Процессы резервного копирования: Если у вас есть резервные скрипты, возможно, они требуют значительных ресурсов, что приводит к сокращению доступности памяти и процессора. Это может стать причиной неконтролируемого завершения работы mongod.

  3. Ошибки и проблемы в конфигурации: Конфигурационные факторы, такие как неправильные значения в mongod.conf, или конфликтующие настройки сети могут также вызвать сбой работы сервера.

  4. Логи: Хотя вы указали, что логи велики и сложны для анализа, они могут содержать важные подсказки: ищите сообщения о сбоях, превышении ресурсов и других аномалиях.

Как диагностировать проблему

  1. Проверка логов: Используйте команды для анализа логов и выделяйте сообщения об ошибках. Например, откройте лог с помощью less и используйте grep для фильтрации ошибок.

    less /var/log/mongodb/mongod.log
    grep -iE 'error|fail|warn' /var/log/mongodb/mongod.log
  2. Мониторинг серверных ресурсов: Настройте территорию мониторинга (например, с помощью htop или инструментов, таких как Grafana и Prometheus) для отслеживания использования CPU и RAM во время резервного копирования.

  3. Анализ доступа: Проверьте, подключается ли к вашему серверу слишком много клиентов, что может вызвать нагрузку на систему.

Процесс Исправления

  1. Оптимизация резервного копирования:

    • Измените расписание выполнения резервного копирования на время, когда нагрузка на сервер минимальна.
    • Научитесь использовать инкрементные резервные копии, чтобы минимизировать объем данных, которые копируются каждый раз.
  2. Настройка конфигурации MongoDB:

    • Проверьте, правильны ли у вас параметры настройки хранилища (dbPath, journal).
    • Рассмотрите возможность использования WiredTiger как движка хранения, если вы не используете его, так как он более эффективен в использовании памяти.
  3. Добавление ресурсов: Если проблема вызвана нехваткой ресурсов, подумайте о добавлении ОЗУ или более мощном процессоре. Это обеспечит стабильность работы вашего сервера.

  4. Регулярное обслуживание: Периодическая проверка системных логов, обновление ПО и проверка на наличие уязвимостей поможет поддерживать сервер в рабочем состоянии.

Заключение

Ошибка, о которой вы сообщаете, может возникать по нескольким причинам, начиная от нехватки ресурсов и заканчивая неэффективными процессами резервного копирования. Систематический подход к диагностике и исправлению проблем позволит вам стабилизировать работу сервера MongoDB. Не забывайте о важности регулярного мониторинга и наладки конфигурации в зависимости от изменений в вашем окружении или нагрузке.

Оцените материал
Добавить комментарий

Капча загружается...