LINUX.ORG.RU
ФорумAdmin

Как отвадить ubuntu на ubuntu-серверах думать, что в случае в незапного ребута лучше спрашивать о продолжении загрузки?

 , ,


5

3

У убунту-сервер есть крайне дебильный баг-фитча: в случае внезапного пропадания питания, она, как и десктопная, будет спрашивать, в каком режиме продолжить загрузку. Либо граб просто не будет отсчитывать время и до нажатия enter ничего не произойдет.

Я решал данный вопрос через правку нескольких строк в конфигурационном файле скрипта, который генерирует grub.conf. Но есть ли более простое и автоматизированное решение (одной копипастой), чтобы не трахаться каждый раз после установки ubuntu server'а?

Щито? Не видел такого ни разу. Всё ребутается как надо. Или это в распоследних 13.хх сделали?

blind_oracle
()

Какая версия? Не наблюдал такого

petav
()

Либо граб просто не будет отсчитывать время и до нажатия enter ничего не произойдет.

grub не отсчитывает время ЕМНИП исключительно если пользователь что-то нажал

У убунту-сервер есть крайне дебильный баг-фитча: в случае внезапного пропадания питания, она, как и десктопная, будет спрашивать, в каком режиме продолжить загрузку.

Какая версия? Фотографию/скриншот можно увидеть?

router 👍👍
()

Кучу раз видел ситуацию, аля пропадание питания, но она не разу ничего не спрашивала.
Ты уверен, что это не fsck тебя мучает?

tazhate
()

Если они так сильно доулучшали граб, то только его докручивать.

invokercd
()
Ответ на: комментарий от router

grub не отсчитывает время ЕМНИП исключительно если пользователь что-то нажал

Отсчитывает. При дуалбуте с виндой граб даёт возможность выбрать что загрузить. На сервере может быть несколько версий ядер, например. Естественно, этот отсчёт можно отключить, но по умолчанию ЕМНИП в убунте он составляет 30 секунд.

// тоже хотелось бы услышать от ТС версию убунты

shrub
()
Последнее исправление: shrub (всего исправлений: 1)
Ответ на: комментарий от router

наблюдал несколько раз, как он не отсчитывает при проблемахна этапе загрузки. 12.04 настольная. при аварийных ребутах проблем нет

Davyd
()

Хм, вот как раз вчера это наблюдал аж на трёх убунту-виртуалках которые случайно сдохли. Я списал это на глюки управляющего софта, а вот оно что оказывается....

true_admin
()

нифига себе...вот так превед от космонавта

andrew667
()
Ответ на: комментарий от true_admin

эта фича только в убунте? На host-серваке гуйню не держу. Консольку прописываю параметром в строчке конфига для grub, только от такого подарка это не спасает. Лекарство ssh-туннель (редирект по портам)+vnc, что собственно использую во время установки. Так что все три свои виртуалки таким макаром можешь починить

andrew667
()
Последнее исправление: andrew667 (всего исправлений: 1)
Ответ на: комментарий от andrew667

Видел такое у себя в дебиане.

Deleted
()
Ответ на: комментарий от bhfq

Все правильно делает, сервера не должны внезапно перезагружаться.

бред. Нет понятия «не должны», это не от ОС зависит. От ОС зависит то, сможет она самостоятельно _подняться_ или нет.

drBatty
()
Ответ на: комментарий от drBatty

бред и каша у тебя в голове. а если сервер упал, то должен админ смотреть в чём дело и можно ли грузиться, но никак не сам загружаться. по-твоему и уведомления админу слать не надо поди, а что, сервер сам загрузился и никаких проблем. иди уже уроки делай.

anonymous
()
Ответ на: комментарий от bhfq

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

anonymous
()
Ответ на: комментарий от anonymous

бред и каша у тебя в голове. а если сервер упал, то должен админ смотреть в чём дело и можно ли грузиться, но никак не сам загружаться. по-твоему и уведомления админу слать не надо поди, а что, сервер сам загрузился и никаких проблем. иди уже уроки делай.

У тебя сколько серверов, родное сердце? От отказа по питанию никто не застрахован, даже в ЦОД'е один раз видел. А вручную подключаться к каждому серверу и к каждой ВМ - проще сразу повеситься. Хорошо что убунту не используем, всего пару ВМ для одного заказчика.

router 👍👍
()
Ответ на: комментарий от true_admin

Если я правильно понял, речь идёт о том что в grub'е есть failback. Но чтобы он сработал, нужно чтобы grub'у не выполнить загрузку того, пункта, который выбран дефолтным в конфиге. Т.е. сбой должен произойти непосредственно в момент загрузки.

А ТС упоминал ещё другой вариант, предположительно не связанный с grub:

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

router 👍👍
()
Ответ на: комментарий от router

У тебя сколько серверов, родное сердце?

у тебя их, видимо, ни одного или ничего нужного.

От отказа по питанию никто не застрахован, даже в ЦОД'е один раз видел.

а сервер это из libastral должен узнать, я так понимаю? что по питанию, а не хрен знает почему ещё. и раз уж умничать про ЦОД начал, подумай на досуге что может случиться, когда сервисы уже переехали в другое место и тут происходит восстание из мёртвых...

anonymous
()
Ответ на: комментарий от anonymous

у тебя их, видимо, ни одного или ничего нужного.

Взаимно. О ребуте должна сообщать система мониторинга, а не недоступность сервера, уважаемый ты наш админ локалхоста.

а сервер это из libastral должен узнать, я так понимаю? что по питанию, а не хрен знает почему ещё.

А если у ОСи нет возможности это узнать, то и выделываться ей не за чем. Кстати, про libastral - на kernel panic можно повесить разные обработчики, в т.ч. kdump.

и раз уж умничать про ЦОД начал, подумай на досуге что может случиться, когда сервисы уже переехали в другое место и тут происходит восстание из мёртвых...

Заблокировать запуск сервиса - задача того админа или того кластерного ПО, которое отвечает за перенос. А посторонняя ОС в это лезть без спроса не должна ;) Или ты из всего кластерного осилил только fencing? Типа «я сервер вырубил по питанию, теперь бояться нечего»? ;)

router 👍👍
()
Ответ на: комментарий от router

О ребуте должна сообщать система мониторинга, а не недоступность сервера

а это тут к чему приплёл? где я утверждал обратное?

А если у ОСи нет возможности это узнать, то и выделываться ей не за чем.

вот именно, и грузиться ей тоже без разрешения не за чем.

Заблокировать запуск сервиса - задача того админа

успеть бы ещё добежать, пока он не загрузился...

Кстати, про libastral - на kernel panic можно повесить разные обработчики, в т.ч. kdump.

надёжнее оставить лежать и выяснить причину до запуска ос с сервисами. а если у вас в цод каждый день эликтричество пропадает, то может тут и не убунта вовсе виновата?

anonymous
()
Ответ на: комментарий от true_admin

Зачем аву поменял? Я тебя сразу и не узнал :)
В общем:
/etc/default/grub :
#GRUB_DISABLE_RECOVERY=«true» -> GRUB_DISABLE_RECOVERY=«true»
#GRUB_HIDDEN_TIMEOUT=0 -> GRUB_HIDDEN_TIMEOUT=2
GRUB_TIMEOUT=2 -> GRUB_TIMEOUT=3
GRUB_HIDDEN_TIMEOUT_QUIET=true -> GRUB_HIDDEN_TIMEOUT_QUIET=false
add GRUB_RECORDFAIL_TIMEOUT=2

Надо бы мне протестить и сделать bash-скрипт, который удаляет ненужные строки (тупо grep -v ) после чего тупо делает echo '*******' нужных строк.

ktulhu666
() автор топика
Ответ на: комментарий от anonymous

О ребуте должна сообщать система мониторинга, а не недоступность сервера

а это тут к чему приплёл? где я утверждал обратное?

здесь:

по-твоему и уведомления админу слать не надо поди, а что, сервер сам загрузился и никаких проблем.

А если у ОСи нет возможности это узнать, то и выделываться ей не за чем.

вот именно, и грузиться ей тоже без разрешения не за чем.

Приведи пример, чем загрузка сервера мешает лично тебе

Заблокировать запуск сервиса - задача того админа

успеть бы ещё добежать, пока он не загрузился...

То же самое. Пример?

надёжнее оставить лежать и выяснить причину до запуска ос с сервисами.

В какой области работаешь? Меня, sla, за это драли бы, sla

а если у вас в цод каждый день эликтричество пропадает, то может тут и не убунта вовсе виновата?

Отказ питания ( тем более по нескольким независимым вводам, которые должны быть независимы ) в ЦОДе я видел лишь один раз. Но у меня богатое воображение и я понимаю, что будь на серверах презренная убунта, всё было бы в разы хуже. А вот причины недопускать загрузку сервера после сбоя ты так и не назвал.

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

router 👍👍
()
Ответ на: комментарий от router

зачем спорить с человеком, который серверы явно только на картинках видел, и те виндовсом были?

leave 👍
()
Последнее исправление: leave (всего исправлений: 1)
Ответ на: комментарий от ktulhu666

Надо бы мне протестить и сделать bash-скрипт, который удаляет ненужные строки (тупо grep -v )

Это сильно изменит конфиг. После этого будет сложно мёрджить с новым конфигом если он прилетит из дистрибутива (или при обновлении системы). Я поэтому конфиги по-минимому трогаю. Исключение - exim, там на 99% кастомный, но так надо.

true_admin
()
Ответ на: комментарий от true_admin

Чем же он так сильно его изменит? Я тоже, кстати, столкнулся с мыслью о перезаписи файла при обновлении граба. Но кроме этого файла и /etc/grub.d/* больше ничего нет. Возможно, можно сделать /etc/grub.d/01_env и туда прописать переменные, но что-то (здравый смысл) мне подсказывает, что они будут только на этот файл и распространяться.

Как вариант, можно прогонять при загрузке скрипт, который я сделаю для замены строк. Тогда даже после апдейта и последующего ребута всё будет ок.

Что касаемо «сильно изменит», то нифига не сильно. Там конфиг то в 10 строк:

cat /etc/default/grub
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=2
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT=«apparmor=0»
GRUB_CMDLINE_LINUX=«»

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM=«0x01234567,0xfefefefe,0x89abcdef,0xefefefef»

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass «root=UUID=xxx» parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY=«true»

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE=«480 440 1»

ktulhu666
() автор топика
Ответ на: комментарий от router

Приведи пример, чем загрузка сервера мешает лично тебе

Ну, теоретически, в черезжопном кластере может быть явный порядок включения нод. Ещё вариант: ФС нужно проверять вручную или что-то типа того. В общем, когда у админа руки из жопы. Зачем в убунту-сервере сделали данную фитчу я совершенно не могу понять.

ktulhu666
() автор топика
Ответ на: комментарий от ktulhu666

Это гораздо больше чем 10 строк. Теперь убери оттуда комментарии и пустые строки, а затем натрави diff с исходным файлом.

А теперь просто добавь GRUB_RECORDFAIL_TIMEOUT=2 и снов сделай diff с оригиналом. Я думаю ты ощутишь разницу в выводе.

true_admin
()
Ответ на: комментарий от ktulhu666

Причём тут diff, если я буду не diff'ом накладывать изменения, а через grep -v , после чего echo «***»?

ммм, это как? Я сейчас говорю про то что когда делаешь sudo apt-get upgrade оно при замене конфигов предлагает посмотреть diff, заменить итп. Т.е. сразу решить вопрос.

По-моему, ты предлагаешь больше ручного труда.

true_admin
()
Ответ на: комментарий от true_admin

Я уже писал выше, что мой скрипт можно просто добавить в /etc/rc.local, тогда он будет отрабатывать при каждой загрузке. Ещё есть вариант вызывать его после каждого apt-get'а: new file in /etc/apt/apt.conf.d/:
DPkg::Post-Invoke-Success { '/usr/sbin/checkrestart';};

ktulhu666
() автор топика
Ответ на: комментарий от anonymous

бред и каша у тебя в голове. а если сервер упал, то должен админ смотреть в чём дело

а если сервер удалённый, то админ должен через либастрал смотреть? А у меня все такие.

по-твоему и уведомления админу слать не надо поди

что-бы что-то куда-то послать, надо загрузиться.

иди уже уроки делай.

я свои давно сделал, в отличие от.

drBatty
()
Ответ на: комментарий от true_admin

как поправишь конфиг будет готова.

это, блин, не десктоп. Проще тогда что угодно другое ставить, где уже всё поправлено как надо. Благо выбор есть.

drBatty
()
Ответ на: комментарий от anonymous

успеть бы ещё добежать, пока он не загрузился...

нормальные люди это делают ещё ДО переезда. Что-бы вообще никуда не бегать.

drBatty
()
Ответ на: комментарий от drBatty

Проще тогда что угодно другое ставить, где уже всё поправлено как надо. Благо выбор есть.

ого заявление :). Нет, ты ошибаешься, серебряной пули нет. И конфиг граба весьма мелкая пакость т.к. теперь мы о ней знаем и она элементарно решается.

true_admin
()
Ответ на: комментарий от drBatty

что-бы что-то куда-то послать, надо загрузиться.

Про IP KVM, кстати, слышал? Про iLO и Intel AMT/RMM2 тоже? :) Последние могут при сбое отсылать e-mail. :)

ktulhu666
() автор топика
Ответ на: комментарий от drBatty

это, блин, не десктоп. Проще тогда что угодно другое ставить, где уже всё поправлено как надо. Благо выбор есть.

true_admin прав. Уж явно лучше, чем засохшее говно мамонта центы или нестальная федора/арч. Я посматриваю ещё на дебиан, но у убунту поддержка пакетов получше будет, как и аудит.

ktulhu666
() автор топика
Ответ на: комментарий от ktulhu666

Ничего не думаю, слишком давно пользовался в последний раз. Но мне в нём жутко не понравилось то что они сделали с exim.

Я каждую версию дистра я рассматриваю отдельно. Т.е. для меня две версии одного дистра это два разных дистра и один может быть конфеткой, а второй могут испоганить.

true_admin
()
Ответ на: комментарий от ktulhu666

Про IP KVM, кстати, слышал? Про iLO и Intel AMT/RMM2 тоже? :) Последние могут при сбое отсылать e-mail. :)

из grub'а тоже будут отсылать? Вопрос про либастрал на повестке дня, тема становится всё интереснее и интереснее.

Это значит BIOS грузит grub, grub зависает, и тут ВНЕЗАПНО Intel AMT/RMM2 отправляет весточку администратору. Ага, SMSкой.

drBatty
()
Последнее исправление: drBatty (всего исправлений: 1)
Ответ на: комментарий от ktulhu666

Надо бы мне протестить и сделать bash-скрипт

egrep -v '^\s*#|^\s*$' /etc/default/grub
ihanick
()
Ответ на: комментарий от drBatty

ВНЕЗАПНО Intel AMT/RMM2

Внезапно у вотчдога наступает таймаут, он ребутает сервер, сообщает RMM2 и тот отправляет данные куда следует (в КГБ Батьке, например).
Рекомендую купить, таки, себе какой-нибудь нормальный сервер и понять, как оно работает. :)

ktulhu666
() автор топика
Ответ на: комментарий от drBatty

куда мне? а ты оп читал?

Я хотел узнать, если ли способ это сделать не через жопу (например, поставить/удалить какой-нибудь пакет, поменять одну настройку). То, что это через жопу можно реализовать я и так знал.

Или ты гентушника хотел упрекнуть в некомпетентности? :) Я тебя несколько не понимаю. :)

ktulhu666
() автор топика
Последнее исправление: ktulhu666 (всего исправлений: 1)
Ответ на: комментарий от drBatty

Да и, в любом случае, у нас уже есть удаленная система мониторинга (zabbix, nagios), которая сообщит, что сервер вывалился из сети.

ktulhu666
() автор топика
Ответ на: комментарий от ktulhu666

заканчивай с комплексом бога, генту любой идиот поставит. Я ставил, ума большого не нужно, там рукокнига подробная, по-русски, и написано просто.

А по теме — всё это «через жопу». Grub сам должен загружаться на сервере, и грузить ядро. Это его задача.

drBatty
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.