Назад | Перейти на главную страницу

Устранение неполадок с загадочным зависанием сервера на Amazon EC2

У меня есть экземпляр Amazon EC2, на котором запущен LAMP на Ubuntu Natty / 11.04. В трех отдельных случаях в течение последних нескольких месяцев, в двух из которых за последние две недели, сервер просто ... останавливался. Он перестает отвечать на запросы и перестает отвечать на попытки подключения (SSH или иное), но панель управления EC2 по-прежнему сообщает, что он запущен. Каждый раз мне приходилось перезагружать экземпляр через консоль, что приводило к потере данных.

Итак, теперь я пытаюсь диагностировать проблему, но ничего не вижу, и мне нужен совет о том, что еще проверить. Системный журнал не содержит ничего подозрительного - в каждом случае последнее, что происходило, - это то, что munin запускал обычное пятиминутное задание cron, хотя, поскольку я не знаю точно, когда машина перестала работать, я не могу сказать, насколько близок журнал cron до точки замерзания. После этого создается впечатление, что машина просто не работала до момента перезапуска, после чего syslog содержит то, что мне кажется нормальным выводом dmesg.

Похоже, что корреляции между объемом трафика и временем этих зависаний нет. Каждый случай был далек от времени пиковой нагрузки.

На что еще я могу взглянуть, чтобы попытаться выяснить, что вызывает эти проблемы? В чем может быть проблема?

ДОПОЛНИТЕЛЬНОЕ ОБЕСПЕЧЕНИЕ: Сервер не подвергался большой нагрузке во время отключения. Использование ЦП и памяти было в норме и безопасно. Свободного места на диске было предостаточно (десятки гигабайт). В логах Apache или MySQL тоже нет ничего странного, они просто перестают работать в это время. Это экземпляр со средним / высоким ЦП.

Первое, что вам нужно сделать, это настроить мониторинг, чтобы вы знали, когда сервер перестает отвечать. Вы можете сделать это, используя pingdom и / или cloudwatch, чтобы проверить время безотказной работы служб и статистику системы, такую ​​как процессор и оперативная память. У обоих есть бесплатные планы для небольших аккаунтов. Это позволит вам понять, когда он выйдет из строя, и упростит поиск в журналах того, что происходило в тот момент. Обычно что-то подобное может быть вызвано тем, что у системы недостаточно ресурсов, вы не упоминаете размер вашего экземпляра, но что-то вроде микро может просто привязать 100% процессор с помощью простого задания cron, и в этот момент сервер просто блокируется .

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

Возможно, на хост-машине неисправна сетевая карта.