У меня есть несколько производственных веб-серверов Fedora и Debian, на которых размещаются наши сайты, а также учетные записи пользовательской оболочки (используются для работы git vcs, некоторых сеансов screen + irssi и т. Д.).
Время от времени в конвейере появится новое обновление ядра. yum
/apt-get
, и мне было интересно, достаточно ли серьезны большинство исправлений, чтобы потребовать перезагрузки, или я могу применить исправления без перезагрузки.
Наш основной сервер разработки в настоящее время работает 213 дней, и я не был уверен, небезопасно ли запускать такое старое ядро.
Нет ничего особенного в длительном времени безотказной работы. Как правило, лучше иметь безопасную систему. В какой-то момент все системы нуждаются в обновлении. Вероятно, вы уже применяете обновления. Планируете ли вы отключения при установке этих обновлений? Наверное, стоит на всякий случай, если что-то пойдет не так. На самом деле перезагрузка не должна длиться так много времени.
Если ваша система настолько чувствительна к сбоям в работе, вам, вероятно, следует подумать о какой-то настройке кластеризации, чтобы вы обновили один член кластера, не останавливая все.
Если вы не уверены в конкретном обновлении, вероятно, безопаснее запланировать перезагрузку и применить его (желательно после тестирования в другой аналогичной системе).
Если вы хотите узнать, важно ли обновление, найдите время, чтобы прочитать уведомление о безопасности, и перейдите по ссылкам обратно на CVE или сообщения / списки / блоги, описывающие проблему. Это должно помочь вам решить, применимо ли обновление непосредственно к вашему случаю.
Даже если вы не думаете, что это применимо, вам все равно стоит подумать об обновлении системы. Безопасность - это многоуровневый подход. Вы должны предположить, что в какой-то момент эти другие уровни могут выйти из строя. Кроме того, вы можете забыть, что у вас уязвимая система, потому что вы пропустили обновление, когда изменили конфигурацию позже.
В любом случае, если вы хотите игнорировать или подождать некоторое время обновления в системах на основе Debian, вы можете приостановить пакет. Лично мне нравится на всякий случай отложить все пакеты ядра.
Метод CLI для удержания пакета в системах на основе Debian.
dpkg --get-selections | grep 'linux-image' | sed -e 's/install/hold/' | sudo dpkg --set-selections
Большинство обновлений не требуют перезагрузки, но обновления ядра требуют (вы не можете заменить работающее ядро без перезагрузки).
Одна вещь, которую я обнаружил, заключается в том, что если ваш сервер долгое время работал без перезагрузки, он с большей вероятностью захочет выполнить проверку диска (fsck) при перезагрузке, и это может значительно увеличить время, необходимое для возврата снова работает. Лучше всего предвидеть это и спланировать это.
Я также обнаружил, что изменения конфигурации иногда могут быть пропущены и не будут замечены до перезагрузки (например, добавление новых IP-адресов / правил iptables и т.д.). Это также увеличивает «риск простоя» при нечастой перезагрузке.
Лучше запланировать некоторое время простоя при перезагрузке - или, если это нежелательный вариант, настройте свои серверы в кластеры, чтобы при необходимости можно было выполнить перезагрузку.
Если вам нужны просто обновления безопасности, а не полностью новое ядро, вас может заинтересовать Ksplice - он позволяет вносить определенные обновления ядра в работающее ядро.
На этот вопрос нет простого ответа, некоторые обновления ядра на самом деле не связаны с безопасностью, а некоторые могут исправить проблемы безопасности, которые не влияют на вас, в то время как другие могут повлиять на вас.
Лучший подход imo - подписаться на соответствующие списки рассылки по безопасности, например объявление о безопасности Ubuntu чтобы вы могли видеть, когда выходят исправления безопасности и как они могут повлиять на вас.
Я бы также рассмотрел аптикрон или аналогичный, чтобы получить подробную информацию и журналы изменений любых других обновлений пакета.
Это функция обновления - если оно исправляет приват. эскалация, которая приводит к корневому доступу, тогда вы можете применить его.
В том случае, если вы не После перезагрузки убедитесь, что новое ядро не по умолчанию запускается при загрузке.
Меньше всего вам нужно, чтобы непроверенное ядро использовалось в производственной среде после незапланированного перезапуска.
Как упоминалось в mibus, если вы установите ядро и не перезагрузитесь, убедитесь, что это не по умолчанию. Вы не знаете, вернется ли ваш сервер в исходное состояние и в каком состоянии, поэтому убедитесь, что он протестирован.
При этом я думаю, что хорошо привыкнуть к довольно регулярной перезагрузке компьютеров, когда это возможно. Многие аппаратные и программные сбои проявляются только при перезагрузке, и лучше узнать о них, когда вы планируете перезагрузку, а не во время незапланированного отключения.
Обратите внимание, что некоторые обновления ядра debian требуют (ну, очень рекомендуют), чтобы вы перезагрузились как можно скорее после их применения.
Это тот случай, когда разницы недостаточно, чтобы гарантировать изменение каталога модулей, но модули могут отличаться.
Вы получите предупреждение от Debian при установке таких пакетов ядра.