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 ★★★★★
()
Ответ на: комментарий от true_admin

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

ktulhu666 ☆☆☆
() автор топика
Последнее исправление: ktulhu666 (всего исправлений: 1)
Ответ на: комментарий от 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 ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.