URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 65392
[ Назад ]

Исходное сообщение
"FreeBSD 6 вешается по команде reboot на контролере Mylex."

Отправлено smooth , 05-Апр-06 05:45 
1. Дано FreeBSD 6.0, а также попробована 6.1-PRERELEASE.
2. Mylex AcceleRAID 170 (mly) и собранный на нем RAID 0+1 из пяти дисков (AcceleRAID'ы умеют уровень 0+1 на нечетном количестве дисков).
3. По команде halt, reboot или shutdown фря все выгружает, но замерзает после отображения строки "Uptiming: ", и висит... :-(
4. Нашел PR на эту тему http://www.freebsd.org/cgi/query-pr.cgi?pr=75850

Проблема в том что когда на диске подключеному к mly есть swap раздел, фря именно так себя и ведет, (кстати в версиях FreeBSD 4.x, этой проблемы не было, до этого на этой тачке стояла FreeBSD 4.9 она нормально отрабатывала reboot'ы и halt'ы).

Вопрос куда прописать команду /sbin/swapoff /dev/da0s1b, чтобы она выполнилась в САМУЮ ПОСЛЕДНЮЮ ОЧЕРЕДЬ (то есть после того как выгрузятся сервисы из /usr/local/etc/rc.d/ и сервисы назначенные в /etc/rc.conf) в случае если были даны команды halt, reboot, shutdown или послано CTRL+ALT+DEL ???

Попробовал добавить команду /sbin/swapoff /dev/da0s1b в /etc/rc.shutdown после строки "# Insert other shutdown procedures here", нифига не срабатывает... :-(

Подскажите пожалуйста!


Содержание

Сообщения в этом обсуждении
"FreeBSD 6 вешается по команде reboot на контролере Mylex."
Отправлено lavr , 05-Апр-06 10:42 
>1. Дано FreeBSD 6.0, а также попробована 6.1-PRERELEASE.
>2. Mylex AcceleRAID 170 (mly) и собранный на нем RAID 0+1 из
>пяти дисков (AcceleRAID'ы умеют уровень 0+1 на нечетном количестве дисков).
>3. По команде halt, reboot или shutdown фря все выгружает, но замерзает
>после отображения строки "Uptiming: ", и висит... :-(
>4. Нашел PR на эту тему http://www.freebsd.org/cgi/query-pr.cgi?pr=75850
>
>Проблема в том что когда на диске подключеному к mly есть swap
>раздел, фря именно так себя и ведет, (кстати в версиях FreeBSD
>4.x, этой проблемы не было, до этого на этой тачке стояла
>FreeBSD 4.9 она нормально отрабатывала reboot'ы и halt'ы).
>
>Вопрос куда прописать команду /sbin/swapoff /dev/da0s1b, чтобы она выполнилась в САМУЮ ПОСЛЕДНЮЮ
>ОЧЕРЕДЬ (то есть после того как выгрузятся сервисы из /usr/local/etc/rc.d/ и
>сервисы назначенные в /etc/rc.conf) в случае если были даны команды halt,
>reboot, shutdown или послано CTRL+ALT+DEL ???
>
>Попробовал добавить команду /sbin/swapoff /dev/da0s1b в /etc/rc.shutdown после строки "# Insert other
>shutdown procedures here", нифига не срабатывает... :-(
>
>Подскажите пожалуйста!


проблема скорей всего в ACPI, либо acpi disable, либо правь его или ищи исправленный
для этой motherboard и грузи через  /boot/loader.conf:

# man acpi


"FreeBSD 6 вешается по команде reboot на контролере Mylex."
Отправлено smooth , 05-Апр-06 10:49 
>>1. Дано FreeBSD 6.0, а также попробована 6.1-PRERELEASE.
>>2. Mylex AcceleRAID 170 (mly) и собранный на нем RAID 0+1 из
>>пяти дисков (AcceleRAID'ы умеют уровень 0+1 на нечетном количестве дисков).
>>3. По команде halt, reboot или shutdown фря все выгружает, но замерзает
>>после отображения строки "Uptiming: ", и висит... :-(
>>4. Нашел PR на эту тему http://www.freebsd.org/cgi/query-pr.cgi?pr=75850
>>
>>Проблема в том что когда на диске подключеному к mly есть swap
>>раздел, фря именно так себя и ведет, (кстати в версиях FreeBSD
>>4.x, этой проблемы не было, до этого на этой тачке стояла
>>FreeBSD 4.9 она нормально отрабатывала reboot'ы и halt'ы).
>>
>>Вопрос куда прописать команду /sbin/swapoff /dev/da0s1b, чтобы она выполнилась в САМУЮ ПОСЛЕДНЮЮ
>>ОЧЕРЕДЬ (то есть после того как выгрузятся сервисы из /usr/local/etc/rc.d/ и
>>сервисы назначенные в /etc/rc.conf) в случае если были даны команды halt,
>>reboot, shutdown или послано CTRL+ALT+DEL ???
>>
>>Попробовал добавить команду /sbin/swapoff /dev/da0s1b в /etc/rc.shutdown после строки "# Insert other
>>shutdown procedures here", нифига не срабатывает... :-(
>>
>>Подскажите пожалуйста!
>
>
>проблема скорей всего в ACPI, либо acpi disable, либо правь его или
>ищи исправленный
>для этой motherboard и грузи через  /boot/loader.conf:
>
># man acpi

Грузился без ACPI, проблема остается... Стоит только руками сказать swapoff /dev/da0s1b && reboot. Машина нормально ребутится.

В какой скрипт сунуть /sbin/swapoff /dev/da0s1b, чтобы это отработало например перед остановкой syslogd. syslogd я как понимаю умирает последним...


"FreeBSD 6 вешается по команде reboot на контролере Mylex."
Отправлено lavr , 05-Апр-06 12:14 
>>>1. Дано FreeBSD 6.0, а также попробована 6.1-PRERELEASE.
>>>2. Mylex AcceleRAID 170 (mly) и собранный на нем RAID 0+1 из
>>>пяти дисков (AcceleRAID'ы умеют уровень 0+1 на нечетном количестве дисков).
>>>3. По команде halt, reboot или shutdown фря все выгружает, но замерзает
>>>после отображения строки "Uptiming: ", и висит... :-(
>>>4. Нашел PR на эту тему http://www.freebsd.org/cgi/query-pr.cgi?pr=75850
>>>
>>>Проблема в том что когда на диске подключеному к mly есть swap
>>>раздел, фря именно так себя и ведет, (кстати в версиях FreeBSD
>>>4.x, этой проблемы не было, до этого на этой тачке стояла
>>>FreeBSD 4.9 она нормально отрабатывала reboot'ы и halt'ы).
>>>
>>>Вопрос куда прописать команду /sbin/swapoff /dev/da0s1b, чтобы она выполнилась в САМУЮ ПОСЛЕДНЮЮ
>>>ОЧЕРЕДЬ (то есть после того как выгрузятся сервисы из /usr/local/etc/rc.d/ и
>>>сервисы назначенные в /etc/rc.conf) в случае если были даны команды halt,
>>>reboot, shutdown или послано CTRL+ALT+DEL ???
>>>
>>>Попробовал добавить команду /sbin/swapoff /dev/da0s1b в /etc/rc.shutdown после строки "# Insert other
>>>shutdown procedures here", нифига не срабатывает... :-(
>>>
>>>Подскажите пожалуйста!
>>
>>
>>проблема скорей всего в ACPI, либо acpi disable, либо правь его или
>>ищи исправленный
>>для этой motherboard и грузи через  /boot/loader.conf:
>>
>># man acpi
>
>Грузился без ACPI, проблема остается... Стоит только руками сказать swapoff /dev/da0s1b &&
>reboot. Машина нормально ребутится.

sorry, не обратил внимания на то что raid.

>В какой скрипт сунуть /sbin/swapoff /dev/da0s1b, чтобы это отработало например перед остановкой
>syslogd. syslogd я как понимаю умирает последним...

# less /etc/rc.shutdown

ну и я еще бы наверное поправил less /usr/src/sbin/reboot/reboot.c
и посмотрел бы что вызывается при CTRL-ALT-DEL, до тех пор пока не исправят это
положение вещей в системе


"FreeBSD 6 вешается по команде reboot на контролере Mylex."
Отправлено Andrey , 05-Апр-06 12:51 
>1. Дано FreeBSD 6.0, а также попробована 6.1-PRERELEASE.
>2. Mylex AcceleRAID 170 (mly) и собранный на нем RAID 0+1 из
>пяти дисков (AcceleRAID'ы умеют уровень 0+1 на нечетном количестве дисков).
>3. По команде halt, reboot или shutdown фря все выгружает, но замерзает
>после отображения строки "Uptiming: ", и висит... :-(
>4. Нашел PR на эту тему http://www.freebsd.org/cgi/query-pr.cgi?pr=75850
>
>Проблема в том что когда на диске подключеному к mly есть swap
>раздел, фря именно так себя и ведет, (кстати в версиях FreeBSD
>4.x, этой проблемы не было, до этого на этой тачке стояла
>FreeBSD 4.9 она нормально отрабатывала reboot'ы и halt'ы).
>
>Вопрос куда прописать команду /sbin/swapoff /dev/da0s1b, чтобы она выполнилась в САМУЮ ПОСЛЕДНЮЮ
>ОЧЕРЕДЬ (то есть после того как выгрузятся сервисы из /usr/local/etc/rc.d/ и
>сервисы назначенные в /etc/rc.conf) в случае если были даны команды halt,
>reboot, shutdown или послано CTRL+ALT+DEL ???
>
>Попробовал добавить команду /sbin/swapoff /dev/da0s1b в /etc/rc.shutdown после строки "# Insert other
>shutdown procedures here", нифига не срабатывает... :-(
>
>Подскажите пожалуйста!


Попробуй в /etc/rc.d/swap1 в параметр stop_cmd=":" прописать "swapoff -a"


"FreeBSD 6 вешается по команде reboot на контролере Mylex."
Отправлено smooth , 05-Апр-06 13:12 
>
>Попробуй в /etc/rc.d/swap1 в параметр stop_cmd=":" прописать "swapoff -a"

Абсолютно фиолетово reboot'у на то что написано в stop_cmd... :(

Господа я не программер, подскажите какой код надо добавить в reboot.с чтобы выполнилось /sbin/swapoff /dev/da0s1b.

Вроде про man 3 exec почитал, добавил:

execle("/sbin/swapoff", "swapoff", "/dev/da0s1b", NULL, (char *)NULL, (char *)NULL);

Скомпилил, теперь по команде reboot своп отваливается, но самого ребута нету... :-) В /var/log/messages пишется - reboot: rebooted by root, но система продолжает работать. :)


--- reboot.c.orig       Tue Mar 22 07:44:04 2005
+++ reboot.c    Wed Apr  5 17:42:24 2006
@@ -151,6 +151,8 @@
        if (!nflag)
                sync();

+       execle("/sbin/swapoff", "swapoff", "/dev/da0s1b", NULL, (char *)NULL, (char *)NULL);
+
        /* Just stop init -- if we fail, we'll restart it. */
        if (kill(1, SIGTSTP) == -1)
                err(1, "SIGTSTP init");

Где касяк?


"FreeBSD 6 вешается по команде reboot на контролере Mylex."
Отправлено smooth , 06-Апр-06 05:23 
Все разобрался...

--- reboot.c.orig       Tue Mar 22 07:44:04 2005
+++ reboot.c    Thu Apr  6 09:46:01 2006
@@ -193,6 +193,8 @@
                (void)sleep(2 * i);
        }

+       (void) system("/sbin/swapoff /dev/da0s1b");
+
        reboot(howto);
        /* FALLTHROUGH */

mly: flushing cache... done. :) Больше не зависает на ребуте, можно спать спокойно...

P. S.
Странно проблема существует еще с 2003 года - http://www.freebsd.org/cgi/query-pr.cgi?pr=55603
http://www.freebsd.org/cgi/query-pr.cgi?pr=75850

Видимо я третий человек в мире использующий Mylex AcceleRAID & FreeBSD версий выше чем 5.1, раз никого эта проблема больше не волновала столько времени... :)))


"FreeBSD 6 вешается по команде reboot на контролере Mylex."
Отправлено daemon17 , 05-Окт-06 12:37 
У меня тоже такая проблемма с Mly AcceleRaid 170, нашел твою статью, порпобую.
Большее СПАСИБО :)