Аварии и паника системы (и системных администраторов)

Одна из замечательных особенностей FreeBSD – стабильность этой системы; «синий экран смерти» появляется лишь при активизации заставки. На самом деле, прошел почти год, прежде чем я осознал, что аварии на машине FreeBSD могут происходить не только из-за плохих аппаратных средств.

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

Что вызывает панику?

Когда система впадает в панику? Паника – это выбор, который делает ядро при виде неразрешимых проблем. Если система оказывается в ситуации, с которой не может справиться, либо внутренние проверки на непротиворечивость говорят о сбое, система сигнализирует о неполадках. Рабочие версии FreeBSD чрезвычайно устойчивы, но все же это может случиться. Самый легкий способ вызвать панику – сделать что- нибудь ненормальное, например, вынуть жесткий диск, не допускающий горячую замену во время работы. Паника – это не необычное явление для версии -current; паника возникает нечасто, но замечу, что она вовсе не редкость.

FreeBSD – сложная система, и ни аристократическое происхождение, ни процесс разработки с открытым кодом не могут защитить ее от всех

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

Рекомендую перед запуском каждой системы в работу готовить ее так, чтобы она формировала дамп паники. FreeBSD формирует дамп паники по умолчанию, но если вы переконфигурируете свой сервер или жесткий диск разбит на разделы особым образом, вы должны убедиться, что дамп паники будет создаваться. Эта предосторожность может оказаться ненужной на большинстве ваших серверов, но подготовка займет совсем немного времени. Когда один из ваших серверов впадет в панику, вы рады будете иметь под рукой полную информации о панике.

Что представляет собой паника?

Когда система паникует, она останавливает выполнение всех программ и прослушивание сети. При использовании основного выпуска FreeBSD, или версии -stable, система автоматически перезагрузится после паники. Не все необъяснимые перезагрузки являются паникой – если у вас, например, электропитание подается со сбоями или некачественная память, аппаратный сбой может привести к перезагрузке без вывода сообщений в протокол или на консоль. Если система запаниковала, в протокол ошибок будут выведены сообщения, содержимое которых зависит от типа паники. Если система настроена так, чтобы вместо перезагрузки просто выводить сообщение о панике на экран, то на консоли появляется примерно следующее:

panic: _mtx_lock_sleep: recursed on non-recursive mutex ahc_lock § /usr/src/ sys/dev/aic7xxx/aic7xxx_osm. h:203

cpuid = 0 KDB: enter: panic [thread pid 12 tid 100002 ] Stopped at kdb_enter+0x32: leave db>

Единственное, что в этом сообщении кажется мне более или менее понятным, находится в первой строке. Я знаю, что mutex (мьютекс) – это тип блокировки в ядре (глава 12), а моя карта SCSI использует драйвер ahc. Это сообщение действительно имеет определенный смысл, так как я вызвал панику на этой машине с системой версии -current, запустив fdisk(8) для диска SCSI.1

«Думаю, мне не придется сегодня работать над главой 18 – видимо, Free- BSD желает, чтобы я писал главу 21». Я оказался здесь, задавшись вопросом, как получить хорошую панику для этой главы.

Строка символов db> внизу – это приглашение отладчика к вводу. Нажмите Enter пару раз и вы увидите, что можете вводить команды. Это не команды UNIX, но с их помощью вы можете получить информацию о системе.

Источник: ЛукасМ. FreeBSD. Подробное руководство, 2-е издание. – Пер. с англ. – СПб.: Символ- Плюс, 2009. – 864 е., ил.

Похожие посты:

Вы можете оставить комментарий, или ссылку на Ваш сайт.

Оставить комментарий