< HomePage | Снимки
<- Неделя, 4 Юни 2006 | Начална страница | Вторник, 6 Юни 2006 ->
Понеделник, 5 Юни 2006

При отдалечена смяна на ядро и рестартиране на машината винаги има възможността нещо да се обърка. Или машината няма да тръгне или ядрото ще се окаже неподходящо. При подобен проблем вероятно ще се наложи да отидете физически до машината и да оправите бозите, които сте натворили. На мен ми се е случвало доста пъти. :)

Долните няколко съвета ще ви спестят много downtime, ходене на място, нерви и псувни от страна на ползващите машината, на която пипате ядрото. Хитринките ги видях в lkml, предполага се, че ползвате lilo за начално зареждане, за да ги ползвате. Ако някой знае подобна конфигурация за grub или gujin - да казва.

1. Компилирайте новото ядро и го добавете в края на /etc/lilo.conf като сложите label=new-kernel за име.

2. В секцията на новото ядро добавете реда append="panic=10". По този начин при сериозен проблем с ядрото или не откриване на root файловата система, десет секунди след това машината ще се рестартира.

3. Възможно най-рано в стартиращите скриптовете изпълнете командата sysctl -w kernel.panic_on_oops=1. Ако вашата дистрибуция ползва sysctl достатъчно рано, просто добавете в /etc/sysctl.conf реда kernel.panic_on_oops=1. Чрез тази настройка указвате всяка появила се грешка да се счита за фатална и съответно ще предизвиква рестарт след 10 секунди.

4. Стартирайте lilo -R new-kernel, за да може при следващият рестарт lilo да зареди new-kernel. new-kernel ще се зареди само веднъж, а при повторен рестарт да ползва стандартното ядро.

5. Използвайте cron или at, за да насрочите автоматичен рестарт на машината 5 минути след стартирането й. Това е полезно ако например мрежовата карта не запали и отдалеченият ви достъп се окаже "отрязан". Командата е следната: echo "/bin/sync; umount -a -l; sleep 5; /sbin/reboot -f " | at now + 5min

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

Ако тестовото ядро не се стартира или поради някаква причина нямате отдалечен достъп до машината, просто изчакайте пет минути и машината ще се стартира с предишното работещо ядро.

[ Коментари: 8 ]
Коментари

Директно от manual-а на GRUB:
13.1.2 fallback
— Command: fallback num...

Go into unattended boot mode: if the default boot entry has any errors, instead of waiting for the user to do something, immediately start over using the num entry (same numbering as the default command (see default)). This obviously won't help if the machine was rebooted by a kernel that GRUB loaded. You can specify multiple fallback entry numbers.

Много полезно... Заради тази опция на GRUB смених bootloader-ите на на няколко сървъра.

Написа Мариян на 06-Jun-2006 13:23


Извинявай, забвавих да добавя, че трябва да спазваш тези правила:
http://www.gnu.org/software/grub/manual/html_node/Booting-once_002donly.html#Booting-once_002donly

За да постигнеш това което си направил с LILO

Написа Мариян (www) на 06-Jun-2006 13:31


По-добра идея. Купете си KVM switch-ове, дето може да се стига по тях по IP, и не се мъчете :))))

(знам, че са скъпи, ама какво да се прави,като са животоспасяващи)

Написа Васил Колев (www) на 06-Jun-2006 13:37


С две ръце гласувам за КВМ -то :). Аз ползвам такова вече 3 години и определено е по-добре от въртелите. Силно препоръчвам и управляеми разклонители ;).

Написа Ивелин Иванов на 06-Jun-2006 13:51


KVM-тата са готини :) Ама напоследак пазарувам от HP - та там си има iLo - а то има и малко екстри, примерно виртуален бутон на захранването, виртуално CD/DVD,свързано с това на работната ти станция или с image на диска ти ... глезотийка си е.

Написа Н.Пепелишев (www) на 06-Jun-2006 20:15


Може ли малко връзки за KVM switch-овете. Мисля, че ще ми се пригодят и на мен.

Написа Пейо (www) на 07-Jun-2006 09:59


@Пейо: aten.com, aten-bg.com

Написа В. Василев на 07-Jun-2006 10:34


Супер статия много ми помогна :)

Написа Mihail Peltekov (www) на 12-Sep-2006 10:34