Страница 1 из 1

Как узнать причину ребута

Добавлено: 2007-07-16 8:57:47
spmn
Доброго времени.
Есть система:

Код: Выделить всё

FreeBSD gate 6.2-RELEASE FreeBSD 6.2-RELEASE #0: Sun Jul  1 10:13:00 UTC 2007     Sergey@gate:/usr/src/sys/i386/compile/MY_KERNEL  i386
Стояла она работала, работала ...
А седня захожу через 22 порт и вижу (по списку запущенных процесов и кое-каким признакам еще), что она перезагружена.

Как узать причину ребута?
Что было? Паника ядра, может свет вырубило?

Подскажите где глянуть ?

Re: Как узнать причину ребута

Добавлено: 2007-07-16 9:00:38
Alex Keda

Код: Выделить всё

more /var/log/mesages
а больше никак...

Re: Как узнать причину ребута

Добавлено: 2007-07-16 9:14:06
spmn
хм инетерсно, а в messages попадают сообщения о паниках ядра?

Вот что у меня (пологаяю в этом месте случился ребут)

Код: Выделить всё

... 
...
Jul 16 15:04:14 gate su: Sergey to root on /dev/ttyp0
Jul 16 15:54:01 gate syslogd: kernel boot file is /boot/kernel/kernel
Jul 16 15:54:01 gate kernel: Copyright (c) 1992-2007 The FreeBSD Project.
Jul 16 15:54:01 gate kernel: Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
Jul 16 15:54:01 gate kernel: The Regents of the University of California. All rights reserved.
Jul 16 15:54:01 gate kernel: FreeBSD is a registered trademark of The FreeBSD Foundation.
Jul 16 15:54:01 gate kernel: FreeBSD 6.2-RELEASE #0: Sun Jul  1 10:13:00 UTC 2007
...
...
Jul 16 15:58:34 gate fsck: /dev/mirror/gm0s1e: 922 files, 25786 used, 480697 free (665 frags, 60004 blocks, 0.1% fragmentation)
Jul 16 16:33:47 gate su: Sergey to root on /dev/ttyp0
...
...
Я седня зашел по ssh, сделал su, посмотрел, ушел.

В следущий раз su встречается в логе после ребута, ну а до su идет отчет о действиях fsck

Короче в логи неиче не попало. Вырубило свет?

Re: Как узнать причину ребута

Добавлено: 2007-07-16 9:24:48
Alex Keda
если свет или паника - то никак...

Re: Как узнать причину ребута

Добавлено: 2007-07-16 9:32:03
spmn
Про свет - подскажет упс ... как до него доберуся, посмотрю.

А вот что паника не отражается :( вот это плохо очень.

Re: Как узнать причину ребута

Добавлено: 2007-07-16 9:53:34
Alex Keda
вообще-то, неплохобы подключать UPS шлангом к компу...

Re: Как узнать причину ребута

Добавлено: 2007-07-16 10:01:24
spmn
До он подключен :) Только не к тому.

Ippon --> на сайте нет дрод для freebsd ... почитал про какой - то nut (/urs/ports/sysutils/nut) надо будет попробовать его ...

Re: Как узнать причину ребута

Добавлено: 2007-07-16 18:04:43
anton284
Скорее всего это был свет, если ты из Питера то на выходных подстанция одна легла, перебои были с электро энергией. У меня та же байда была. Вырубился мой шлюз не корректно, естественно :( В логах то же что и у тебя! Народ подскажите как грамотно решить эту проблему, например если у меня 1 АПС на 2 машины! Предполагаю, что только покупкой ещё одного бесперебойника, подскажите какой взять , чтоб BSD поддерживал, или какие вы пользуете!? Заранее спасибо.

Re: Как узнать причину ребута

Добавлено: 2007-07-16 18:46:28
Alex Keda
APC - точно поддерживаются..
а решить мона стронними скриптами - на шелле

Re: Как узнать причину ребута

Добавлено: 2007-07-16 20:58:56
dvg_lab
в портах есть такой рулез как apcupsd, не знаю как оно дружит с иппоном, но зато оно умеет работать в режиме мастер/слейв и соотв. управляет работой целой тучи машин. Завтра буду пытаться завести его вместе со шкафом от APC на 16 киловатт :))
Вообще в sysutils там еще много разных вариаций upsd стоит попробовать

Re: Как узнать причину ребута

Добавлено: 2007-07-16 21:16:50
anton284
Не очень понимаю что такое режим, master/slave в применении к UPS, но вот как научить вырубаться комп если у UPS "шланг" всего один, а машины 2 :), Может в шеле написать скрипт с такой логикой, если потерялось питание на сетевухе, то гаси машину!?

Re: Как узнать причину ребута

Добавлено: 2007-07-16 22:22:26
Alex Keda

Код: Выделить всё

#!/bin/sh
if [ "`ifconfig fxp0 | grep status | awk '{print $ 2}'`" = "no carrier" ]
then
       echo "power loss" | mail -s "power loss" root
       shutdown -p now
fi
первое что пришло в голову. неплохо бы проверять предыдущее состояние - типа если до этого было такое же - тогда гасить, иначе - нет.
а то будешь линки перетыкать а оно погаснет :)

Re: Как узнать причину ребута

Добавлено: 2007-07-17 0:40:58
spmn
Я не из питера, а почти из китая.

Скрипт интересный ...
его в крон на 5 минут ...
надо будет протестировать


По опросу очевидцев и упса - электричество исправно было весь день.

Значит паника ядра :(

Re: Как узнать причину ребута

Добавлено: 2007-07-17 9:30:08
Гость
lissyara писал(а):

Код: Выделить всё

#!/bin/sh
if [ "`ifconfig fxp0 | grep status | awk '{print $ 2}'`" = "no carrier" ]
then
       echo "power loss" | mail -s "power loss" root
       shutdown -p now
fi
первое что пришло в голову. неплохо бы проверять предыдущее состояние - типа если до этого было такое же - тогда гасить, иначе - нет.
а то будешь линки перетыкать а оно погаснет :)
У меня не сработало... как оно должно работать???
Скрипт скопировал, сделал исполняемым, запускаю, нет эмоций...
ввёл руками

Код: Выделить всё

ifconfig rl0
grep status 
и всё молчание пока не наберёшь ctrl+C

Что не так может быть?

Re: Как узнать причину ребута

Добавлено: 2007-07-17 9:33:10
Alex Keda
я писал навскидку, непроверяя, да ещё и по памяти :)
однако, в скрипте иначе чем ты вводил:

Код: Выделить всё

%ifconfig fxp0 | grep status | awk '{print $ 2}'
ifconfig: interface fxp0 does not exist
%ifconfig rl0 | grep status | awk '{print $ 2}'
active
%   

Re: Как узнать причину ребута

Добавлено: 2007-07-17 10:07:27
anton284
Тогда в скрипте должно быть вместо

Код: Выделить всё

no carrier 
просто :D
awk '{print $2} берёт только no из статуса и оно не равно no carrier

Re: Как узнать причину ребута

Добавлено: 2007-07-17 10:30:43
Alex Keda
ну так говорю же - непроверяя писал.
тогда срвнивай с "no" да и всё.
во грабли на ровном месте нашёл :)

Re: Как узнать причину ребута

Добавлено: 2007-07-17 10:41:57
anton284
:oops:
Да я ж просто... чтоб смогли скрипт заюзать, а то не проверят, сунут, а он не сработает...
Вообще скрипт полезный, однако! :)