Мне было бы интересно услышать опыт сообщества serverfault с Ksplice в производстве.
Краткая аннотация из Википедии:
Ksplice - это бесплатное расширение ядра Linux с открытым исходным кодом, которое позволяет системным администраторам применять исправления безопасности к работающему ядру без перезагрузки операционной системы.
и
Ksplice может без перезапуска ядра применить любой патч исходного кода, который требует только изменения кода ядра. В отличие от других систем горячего обновления, Ksplice принимает в качестве входных данных только унифицированный diff и исходный код исходного ядра и обновляет работающее ядро правильно, без дополнительной помощи человека. Кроме того, использование Ksplice не требует никакой подготовки перед первоначальной загрузкой системы (например, работающее ядро не требует специальной компиляции). Чтобы сгенерировать обновление, Ksplice должен определить, какой код в ядре был изменен патчем исходного кода.
Итак, несколько вопросов:
Какая была стабильность? какие-нибудь странные проблемы, с которыми вы столкнулись при «живом исправлении без перезагрузки» ядра? Паника в ядре или страшилки?
Я запускал его на нескольких тестовых системах, и до сих пор он работал так, как рекламируется, но мне интересно узнать, какой опыт у других системных администраторов был с Ksplice, прежде чем идти «ва-банк» и развертывать это на наших производственных серверах.
Итак, кто-нибудь использует Kspice в производстве?
Обновить: хм, через пару часов не вижу никакой реальной активности по этому вопросу (кроме каких-то положительных отзывов и одобрений). Может быть, чтобы разжечь активность, я задам еще несколько вопросов и посмотрю, сможем ли мы продолжить обсуждение ...
"Если вы знаете о Ксплице, по какой причине вы не используй это?"
"Вы чувствуете, что это все еще слишком передовое, недоказанное или непроверенное?"
«Разве Ksplice не вписывается в вашу текущую систему управления исправлениями?»
«Вы ненавидите системы с длительным (и безопасным) временем безотказной работы?» ;-)
(Во-первых, отказ от ответственности: я работаю в Ksplice.)
Естественно, мы используем его в собственной производственной инфраструктуре, но, что более важно, это делают наши 500+ корпоративных клиентов (число на декабрь 2010 г.).
Один системный администратор задает тот же вопрос в списке рассылки пользователей Red Hat Enterprise Linux., и встречается ряд ответов, некоторые из которых приведены ниже:
Мы запускаем Ksplice в производстве в течение нескольких месяцев на десятке или около того хостах. Пока все работает как рекламируется.
и
У меня под моим контролем> 500 машин, около 445 из них подключены к uptrack (rhel 4 и 5). Мы использовали ksplice, чтобы заблокировать несколько эксплойтов root, прежде чем у нас появилась возможность перезагрузить машины. Поскольку мы все еще тестируем, мы все равно развернули новое ядро, но я уже несколько недель без проблем работал с ksplice'd.
Одной из проблем, выраженных людьми, является не стабильность, а ее интеграция с существующими инструментами аудита и мониторинга:
Единственная проблема, связанная с использованием ksplice, заключается в том, что пока нет доступных инструментов аудита, поддерживающих ksplice.
Как и следовало ожидать, сейчас это область, в которую мы вкладываем большие средства.
Я слышал о Ксплице и тогда подумал, что это хорошая идея. Без простоев, без перезагрузки. Но потом я посмотрел на это немного дальше и мне стало страшно пробовать.
Мои причины избегать этого:
Ядро Linux и без того очень сложное. Ksplice добавляет сложности. Больше сложности = больше неудач.
Было бы безрассудно экспериментировать с Ksplice на удаленном сервере, где отказ приведет к длительному простою и дорогостоящему ремонту.
Единственным преимуществом в моем случае будет более высокая статистика безотказной работы.
Я использую Ksplice на своем домашнем сервере (где время безотказной работы не критично, но полезно). Никаких проблем с этим не было - периодические обновления через Apt для клиента, никаких проблем с самими обновлениями ядра и никакой (заметной) нестабильности.
Однако применяется обычный отказ от ответственности "YMMV"! ;-)
Ksplice - это расширение ядра с открытым исходным кодом, но имейте в виду, что, хотя программное обеспечение является бесплатным и доступно для всех, оно создано специально для компании, занимающейся управлением исправлениями Linux (также называемой «Ksplice»). Ksplice (мод ядра) действительно полезен только в том случае, если у вас есть патчи для вашего ядра, которые можно использовать для ksplice, которые вы, вероятно, никогда не увидите, если у вас нет контракта на поддержку с Ksplice (компанией).
Итак, хотя ksplice (инструмент) является достаточно зрелым, это действительно актуально только в том случае, если вы планируете использовать Ksplice (компанию) для управления исправлениями.
Хороший вопрос. Мой первоначальный ответ был бы примерно таким: "Зачем делать мне это нужно?"
Скорее всего не нужно это. Даже при установке «пять девяток» «плановое обслуживание» часто является пунктом в SLA, который допускает такие простои. Если у вас есть настройка высокой доступности, переключитесь на аварийное переключение, установите ядро на один компьютер, перезагрузите компьютер и повторите процедуру на другом. Если вы не можете позволить себе даже пять минут простоя на коробке, вам все равно нужна настройка аварийного переключения.
Хотя это новая технология, я пока не вижу особого практического применения. Обновления безопасности ядра, конечно, необходимы и должны быть исправлены как можно скорее, но сколько времени / усилий / беспокойств это сэкономит вам по сравнению с простой установкой нового ядра и перезагрузкой? Что если что-то пойдет не так? Сколько времени вы затем потеряли на повторное создание образа системы, если предположить, что вам повезло, и у вас есть возможность восстановления PXE-типа?
Кроме того, как упоминалось выше, удаленное экспериментирование с такой технологией может стать катастрофой, если она выйдет из строя на нескольких серверах. Используете ли вы в своем тестировании то же оборудование, что и в DC? То, что хорошо играет на одной машине, может не работать на другой.
Только мои 0,02 доллара.
Это было давно, но то, что Ksplice может для вас сделать, очень много ....
Повышенная безопасность, поскольку она позволяет вносить исправления на лету без простоев, это может быть чрезвычайно важно в высокочувствительных средах.
Повышенная стабильность, поскольку она позволяет устанавливать исправления на лету без простоев, все может улучшиться, пока нет времени на перезагрузку.
Повышенная производительность, поскольку она позволяет вносить исправления на лету без простоев, применяя именно то, что вам нужно для того, что вам нужно.
Улучшенная проактивность, поскольку она позволяет вносить исправления на лету без простоев, поэтому можно настроить тестовую ферму для горячих новых исправлений с легким возвратом к предыдущему состоянию.