Хорошо ли иметь несколько версий ядра Linux?

Хорошо ли иметь несколько версий ядра Linux?

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

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

Также, возможно ли иметь 2 версии одного и того же ядра? Чтобы я мог выбрать другое ядро, если ядро ​​повреждено?

Edited:
My Server Details:
2.6.32-431.el6.x86_64
CentOS release 6.5 (Final)

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

решение1

И RedHat, и дистрибутив на основе Debian сохраняют несколько версий ядра, когда вы устанавливаете новое с помощью yumили apt-getпо умолчанию. Это считается хорошей практикой и делается именно для случая, который вы описываете: если что-то пойдет не так с последним ядром, вы всегда можете перезагрузиться и в GRUB выбрать загрузку с использованием одного из предыдущих ядер.

В дистрибутивах RedHat вы контролируете количество ядер, которые нужно сохранить, /etc/yum.confс помощью installonly_limitнастройки. На моей новой установке CentOS 7 по умолчанию установлено 5.

Кроме того, если на RedHat вы устанавливаете новое ядро ​​из пакета RPM, вам следует использовать rpm -ivh, а не rpm -Uvh: первый вариант сохранит старое ядро ​​на месте, а второй заменит его.

Debian сохраняет старые ядра, но не удаляет их автоматически. Если вам нужно освободить загрузочный раздел, вам придется удалить старые ядра вручную (не забудьте оставить хотя бы одно из предыдущих ядер). Чтобы получить список всех пакетов kernel-installing и kernel-headers, используйте dpkg -l | egrep "linux-(im|he)".

Отвечая на ваш вопрос —Также, возможно ли иметь 2 версии одного и того же ядра?-- Да, это возможно. Я не могу проверить это на CentOS 6.5 прямо сейчас, но на CentOS 7 мне удалось получить желаемый результат, просто дублируя файлы ядра каталога /bootи перестраивая меню grub:

cd /boot

# Duplicate kernel files; 
# "3.10.0-123.el7" is a substring in the name of the current kernel
ls -1 | grep "3.10.0-123.el7" | { while read i; \
    do cp $i $(echo $i | sed 's/el7/el7.backup/'); done; }

# Backup the grub configuration, just in case
cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.backup

# Rebuild grub configuration
grub2-mkconfig -o /boot/grub2/grub.cfg

# At this point you can reboot and see that a new kernel is available 
# for you to choose in GRUB menu

решение2

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

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

Что касается нескольких копий одного и того же ядра - даже это имело бы смысл, но как @goldilocks указывает в комментарии ниже, если ваше ядро ​​повреждено, вам следует подумать о замене оборудования. С другой стороны, размещение дубликата на другом физическом HDD может избавить вас от некоторых проблем. Но имейте в виду, что файл образа ядра - это тольковсегдаиспользуется во время загрузки.

Связанный контент