Загружаем тестовое ядро linux единожды (once) с помощью GRUB.

Частенько перед многими системными администраторами и владельцами выделенных серверов (dedicated servers) linux возникает задача одбновления ядра операционной системы. Проблема заключается лишь в том, что 100%-ой уверенности в нормальном рестарте системы с новым ядром дать не может никто :-) Хорошо когда консоль сервера под руками и мы можем просто перезагрузит линукс и в меню GRUB выбрать рабочее ядро. Еще очень хорошо, когда например у админа под руками есть такая чудная вещь как KVM over ip . Тогда никаких проблем с досупом к консоли тоже нет. Но что делать если датацентр далеко, физического доступа туда нет, сервер бюджетный и из доступных фишек есть только удаленный ребут (что тоже есть не у всех). Вот в этом нам и поможет наш загрузчик GRUB.

На данный момент практически у всех RPM based дистрибутивов linux в качестве загрузчика операционных чичтем установлен GRUB. В любом случае разговор будет про него. Описания инсталляции и настройки GRUB достаточно много на русском языке. Вот например тут.

Итак после установки нового ядра файл /etc/grub.conf выглядит примерно следующим образом:

default=1
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
#вот это номер “0″
title CentOS (2.6.8-022stab061.1)
root (hd0,0)
kernel /vmlinuz-2.6.8-022stab061.1 ro root=/dev/VolGroup00/LogVol00
initrd /initrd-2.6.8-022stab061.1.img
#вот это номер “1″
title CentOS_ServerCD (2.6.9-42.ELsmp)
root (hd0,0)
kernel /vmlinuz-2.6.9-42.ELsmp ro root=/dev/VolGroup00/LogVol00
initrd /initrd-2.6.9-42.ELsmp.img
#вот это номер “2″
title CentOS_ServerCD-up (2.6.9-42.EL)
root (hd0,0)
kernel /vmlinuz-2.6.9-42.EL ro root=/dev/VolGroup00/LogVol00
initrd /initrd-2.6.9-42.EL.img

Мы видим, что перечислено три варианта загрузки. Причем нумерация начинается с цифры “0″.
Таким образом default=1 означает загрузку по умолчанию варианта:
title CentOS_ServerCD (2.6.9-42.ELsmp)
root (hd0,0)
kernel /vmlinuz-2.6.9-42.ELsmp ro root=/dev/VolGroup00/LogVol00
initrd /initrd-2.6.9-42.ELsmp.img

Предположим что нам необходимо единожды загрузить сервер с вариантом загрузки “0″. Заходим в консоль и набираем:
echo “savedefault –default=0 –once” | grub –batch
после чего перегружаем сервер командой:
reboot
После чего сервер уходит на перезагрузку и мы затая дыхание ждем пока он как космический аппарат вернется из зоны тени :-) Если новое ядро нормально заработало, то через пару минут мы спокойно заходим в консоль, набираем
uname -a и видим версию нашего нового ядра. После чего, если нас все устраивает, изменяем файл /etc/grub.conf. Меняем в нем default=1 на default=0, после чего во время следующей перезагрузки загрузиттся новое ядро. Если же сервер остался недоступен , то его необходимо удаленно перезагрузить. Благо такая функция у нормальных продавцов бесплатна. После ребута сервера загрузится наше старое оригинальное ядро (которое в нашем случае имеет номер “1″).
Таким образом можно максимально безболезненно удаленно заменить ядро и протестировать его нормальную загрузку.

Рейтинг@Mail.ru

Недорогой какой ламинат доставка бесплатная; борьба с кротами надежно; Бритни Спирс супер актриса. Мы любим ее. На моем сайте можно посмотреть фотографии с Бритни Спирс.

Сайт гостиницы Одессы отеля
Предлагаем спецоборудование половое воспитание детей - trakfon.ru
цены на профнастил зависят от объема заказа

Leave a reply

*
To prove that you're not a bot, enter this code
Anti-Spam Image