Преимущества и недостатки регулярных перезагрузок сервера [закрыто]

StackOverflow https://stackoverflow.com/questions/410413

  •  03-07-2019
  •  | 
  •  

Вопрос

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

Каковы мнения людей, положительные и отрицательные моменты относительно этой политики?

Это было полезно?

Решение

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

Кто-то не удосужился настроить критически важный сервис на автоматический запуск при загрузке.Или порядок появления услуг неправильный.Или кто-то обновил библиотеки, добавил/удалил программное обеспечение и т. д.и экзешник больше не работает (запускался со старыми библиотеками и продолжал их использовать;теперь он получает ошибку динамического компоновщика).Или оказывается, что сервис А зависит от сервиса Б, а сервис Б зависит от сервиса А (упс).

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

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

Другие советы

Это глупая политика.

Вот почему:

  • Если вам необходимо перезагружать сервер еженедельно (и это каким-то образом повышает стабильность вашей инфраструктуры), вы скрываете реальную проблему с сервером или его программным обеспечением.Утечка памяти?Плохой водитель?Решение этих проблем состоит в том, чтобы исправить их, а не прикрывать их ленивой политикой.

  • Серверы часто перезагружаются для получения обновлений, по крайней мере, в мире Windows.Перезагрузка для критических обновлений ядра происходит в любом случае.

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

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

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

При этом перезагрузка иногда полезна в качестве крайней меры для ресурсов, над которыми вы не обязательно имеете полный контроль (старое программное обеспечение, написанное поставщиком, устройства «черного ящика», если это явно предписано поставщиком, и т. д.).Но решать этот вопрос следует в каждом конкретном случае, а не с помощью наивной общей политики.

Извините, что смахнул пыль со старой темы.

Я думаю, что все упускают суть, особенно упорную «перезагрузку»?Я бы предпочел продать свой коммодор! Nix Admins.

Дело в том, что недельное окно должно быть ЗАПЛАНИРОВАНО.Это не значит, что его нужно использовать, на самом деле предпочтение состоит в том, чтобы его не использовали, поскольку это неизбежно происходит в какой-то забытый утренний час.

Но если оно есть, вы можете его использовать.

Лично я считаю, что ежеквартальная перезагрузка — это очень хорошая идея: она может дать вам представление о проблемах (аппаратном и программном обеспечении) и, как отметил самый дальновидный другой автор, информирует вас об изменениях, которые препятствуют плавному запуску, что только становится очевидным после перезагрузки.Вместо того, чтобы ситуация возникла после 4-часового отключения электроэнергии, когда требуется еще 2 часа, чтобы поднять коробку, становится действительно довольно неловко....

Есть и другие плюсы..

  • Он привыкает к перезагрузкам управления, и вы можете быть уверены в том, что перезагрузка вам действительно понадобится (например,физически перемещая его).Если вы никогда не перезагружаете компьютер, ваш менеджер будет чертовски нервничать, когда вы скажете, что его необходимо перезагрузить через 4 года и без простоев.

  • Вы сами привыкаете к перезагрузкам и знаете, что может пойти не так в автономном режиме.

  • Вы ЗНАЕТЕ, сколько времени занимает перезагрузка, поэтому, когда она снова включается и занимает на 10 минут больше, чем обычно, вы сразу попадаете в журналы.

  • Если завтра вас собьет автобус, есть ТЕКУЩАЯ (не четырехлетней давности) документация о том, что происходит при перезагрузке (при условии, что вы хороший администратор и записываете все это).

  • 30-минутная перезагрузка в квартал хорошо укладывается в условия соглашения об уровне обслуживания (99,9 %).

  • Наконец, он расчищает пресловутую паутину.

Чтобы ответить на некоторые вопросы ПРОТИВ штатной перезагрузки..

  • Тот, что касается сокрытия плохих драйверов, утечек памяти и т. д., забавен.Как узнать, что это утечка памяти или плохой драйвер, если вы не перезагрузите сервер?Не только это, но что, если вам не удастся исправить это во время запланированного простоя?Если у вас есть еженедельное запланированное окно, это не проблема!Просто попробуй еще раз на следующей неделе....

  • Система уведомлений — если у вас есть запланированное окно, вы можете установить запланированное исключение.Если ваше программное обеспечение\скрипт не делает этого, то я предлагаю современное программное обеспечение\лучшее написание сценариев.

  • Что касается проблем сокрытия окна запланированных исключений, которые «происходят во время окна запланированных исключений», это просто смехотворно.Другая статистика вашего сервера очень быстро выявит эту проблему, если вы вообще ее просмотрите.

Конечно, общая политика не рекомендуется, и у вас должны быть критерии для исключений (например,дисковое пространство более определенного размера и т. д.)

Сказав это, суть в том, что ваш сервер не нуждается в перезагрузке, невероятно наивно думать, что вам не следует его перезагружать....

Редактировать:

Я не уверен, что я объяснил это достаточно ясно, но перезагрузку НЕ следует использовать для решения проблемы.Окно должно быть еженедельным, чтобы вы неоднократно пытались РЕШИТЬ проблему, а не «жить с ней».

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

Моя точка зрения

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

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

Все наши серверы работают под Linux, мы никогда не перезагружаемся, и у нас не возникло никаких проблем.Я согласен, что это в лучшем случае хак, и я также думаю, что это, вероятно, как-то связано с первым ответом, который люди всегда давали при поддержке проблем Windows:«Вы перезагрузили компьютер?»

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

Большим минусом для меня является то, что вам нужно планировать еженедельные простои серверов.Для кого-то это не проблема, а для кого-то это огромная проблема.

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

Конечно, это причиняет моральную боль и не должно быть необходимо, и было бы лучше работать против такого решения, особенно если кто-то контролирует проблемное программное обеспечение или имеет возможность надрать производителям пощечину, чтобы они исправили или просто заменили его.А если нет..?

Я помню, как делал это для серверов в ферме Citrix, в конце концов они перезагружались каждую ночь с помощью полусложного сценария, ожидающего выхода пользователей из системы, блокировки входа на определенные серверы и последующей перезагрузки свободных.Причиной было старое 16-битное клиентское приложение 4GL, от которого мы просто не могли избавиться, и которое имело тенденцию снижать общую отзывчивость пользователя после нескольких дней безотказной работы.

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

На самом деле это хак, но он может быть самым эффективным хаком.Это задача типа 80:20, в которой вы можете решить 80% проблемы, приложив 20% усилий.Если вы можете пережить время простоя или время простоя обходится вам дешевле, чем фактическое устранение основной причины, то это хорошее решение.Лично мне это не нравится, но только потому, что это не чистое решение.

Еще одна возможность, которую следует учитывать, заключается в том, что в некоторых средах, например в розничных магазинах, которые открыты 24 часа в сутки, необходимо событие «закрытие магазина», чтобы можно было обновить серверы, выполнить резервное копирование и т. д.

Несмотря на то, что серверы должны работать «24 часа в сутки, 7 дней в неделю», на самом деле они отключены от сети хотя бы на несколько минут каждый день.

Это фактически приводит к ежедневной перезагрузке сервера, даже если в это время магазин все еще работает.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top