Автор Тема: Долгое выключение системы  (Прочитано 1332 раз)

Оффлайн Сомов

  • Завсегдатай
  • *
  • Сообщений: 88
Simply Linux 8/32

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

Цитировать
mount: /root/run/ filesystem mounted, but mount (8) failed: No such file or directory

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

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Долгое выключение системы
« Ответ #1 : 26.09.2017 02:34:41 »
И вот на этой строке комп иногда  вырубается сразу, а иногда до минуты висит, прежде чем выключится, забодало уже.
Как ускорить процесс выключения?

Дело скорее всего не в той строке. Предоставьте пожалуйста лог сеанса с долгим отключением и прикрепите его к сообщению. Как это сделать описано на вики: https://altlinux.org/journald

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Долгое выключение системы
« Ответ #2 : 26.09.2017 09:14:05 »
Simply Linux 8/32

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

У вас во время второго иногда, случайно самба-ресурс не висит на выключении/перезагрузке?
Если это так, то рецепт под системы на sysv давно уже есть, но для систем на systemd никто не пошевелился.
Но как сказал Антон, нужен журнал, чтобы не гадать.

Оффлайн andrew_b

  • Завсегдатай
  • *
  • Сообщений: 534
Re: Долгое выключение системы
« Ответ #3 : 26.09.2017 10:59:22 »
У вас во время второго иногда, случайно самба-ресурс не висит на выключении/перезагрузке?
Если это так, то рецепт под системы на sysv давно уже есть
А можно ссылку, а то я что-то не встречал?

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Долгое выключение системы
« Ответ #4 : 26.09.2017 11:19:03 »
У вас во время второго иногда, случайно самба-ресурс не висит на выключении/перезагрузке?
Если это так, то рецепт под системы на sysv давно уже есть
А можно ссылку, а то я что-то не встречал?

Конечно можно:
Корректное размонтирование самба-ресурсов на разгрузке или останове системы sysv
В принципе этот хак надо было бы опакетить, да всё лень. Но руками воткнуть его несложно и недолго.


Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Долгое выключение системы
« Ответ #6 : 26.09.2017 18:39:53 »
Корректное размонтирование самба-ресурсов на разгрузке или останове системы sysv
Спасибо!

В принципе если к тому скрипту smb_umnt  написать хидер, по примеру этого init скрипта
$ cat /etc/init.d/nm-group
#!/bin/bash
#
# Adding the first user to the _nmconnect group
#

# chkconfig: 2345 10 92
# description:  Adding the first user to the _nmconnect group
#
### BEGIN INIT INFO
# Provides:       nm-group
# Required-Start:
# Required-Stop:
# Default-Start:  2 3 4 5
# Default-Stop:
# Description:    Adding the first user to the _nmconnect group
### END INIT INFO


# Source function library.
. /etc/rc.d/init.d/functions

start() {
# adding first user to a group _nmconnect

getent group _nmconnect>/dev/null 2>&1 || groupadd -r _nmconnect>/dev/null 2>&1
for n in `awk -F: '{if ($3==500) print $1}' /etc/passwd`
    do
id -Gn $n|grep -c _nmconnect>/dev/null 2>&1 || gpasswd -a $n _nmconnect>/dev/null 2>&1
done

chkconfig nm-group off
}

case "$1" in
    start)
    start
    ;;
    *)
        echo $"Usage: $0 {start}"
        exit 1
esac
exit 0

то скрипт smb_umnt  можно будет использовать и в системах на systemd.
Кроме уровней старта, в хидере нужно указать в Should-Stop объект, который будет останавливаться только после этого сервиса. Should-Start большого значения не имеет, поскольку на Start создаётся только lock_file, а ему всё равно когда создаваться.
И почитать про хидер например тут:
Как создать свою службу в Linux
http://www.it-simple.ru/?p=7561
LSBInitScripts
https://wiki.debian.org/LSBInitScripts

А уж после этого можно собрать пакет. Сборка такого пакета дело нехитрое. Но по правилам хорошего тона, после установки пакета сервис не должен запускаться. Тем более что smb_umnt не нужен системам на etcnet, но нужен там, где есть NM и самба.

Кстати эти ссылки надо будет в советы добавить, на всякий пожарный.
« Последнее редактирование: 26.09.2017 19:08:53 от Speccyfighter »

Оффлайн andrew_b

  • Завсегдатай
  • *
  • Сообщений: 534
Re: Долгое выключение системы
« Ответ #7 : 27.09.2017 08:26:12 »
Тем более что smb_umnt не нужен системам на etcnet, но нужен там, где есть NM и самба.
Для темы это офтопик, но до конца с этим разобраться хотелось бы.
У меня нет ни systemd, ни NetworkManager. У меня SysV и etcnet. Вы говорите, что вместо smb_umnt можно использовать штатные средства etcnet?
К сожалению, сетевая подсистема Linux -- это то место, где у меня большие пробелы в знаниях и куда я стараюсь не лазить без острой необходимости.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Долгое выключение системы
« Ответ #8 : 27.09.2017 10:43:10 »
Тем более что smb_umnt не нужен системам на etcnet, но нужен там, где есть NM и самба.
Для темы это офтопик, но до конца с этим разобраться хотелось бы.
У меня нет ни systemd, ни NetworkManager. У меня SysV и etcnet. Вы говорите, что вместо smb_umnt можно использовать штатные средства etcnet?
К сожалению, сетевая подсистема Linux -- это то место, где у меня большие пробелы в знаниях и куда я стараюсь не лазить без острой необходимости.

Да не совсем офтопик, поскольку это касается минутного фриза на шатдаун системы.
Тут sb говорит, что при смонтированных самба с etcnet фриза на шатдаун нет
https://forum.altlinux.org/index.php?topic=33210.msg253099#msg253099
Ну и следом я проверил
https://forum.altlinux.org/index.php?topic=33210.msg253100#msg253100
А тут объяснил почему при смонтированных самба с etcnet фриза на шатдаун нет
https://forum.altlinux.org/index.php?topic=33210.msg253101#msg253101

Короче, популярным языком:
В системе с etcnet сначала отмонтируются файловые, см. порядок останова во втором выбросе по 3-ей ссылке из /var/log, - Unmounting Samba filesystem и лишь потом Stopping интерфейс.
Но с NM полная засада из-за неправильного порядка стоп-сервис: он сначала делает Disconnecting на стоп системы, а потом самба ресурс безуспешно пытается отмонтироваться при уже сложенном интерфейсе. И здесь уже неважно, какая инициаллизация в системе, инит или сыстемд.
В случае использования smb_umnt в системе с NM, этот сервис меняет порядок стоп-сервис на шатдаун:  сначала принудительно отмонтируются самба-ресурсы и лишь потом сервисы *Manager остановятся. Как оно и обязано быть вне зависимости от инит и сетевой подсистемы. Но сервис по ссылке выше, это только для систем на sysv. Чтобы этот же инит-скрипт smb_umnt работал на системах с systemd, нужно в этот инит-скрипт добавить LSB заголовок, жёстко задав условие стоп:  выполнять размонтирование самба на стоп раньше останова сетевой подсистемы.

Про NM можно посмотреть лог тут начиная со слов
ну так а шо вы хотели?
https://forum.altlinux.org/index.php?topic=33210.msg253094#msg253094
В логе сначала идёт Stopped Network Manager, а уж после него идёт Starting Unmount All Filesystems, - Поттер, ты дебил. Тебе никто не подсказывал, что сетевые файловые размонтируются перед стоп сетевого менеджера? Иначе процесс придётся килить по таймауту без корректного размонтирования.

По сути дела, smb_umnt для систем на NM, это костыль и по-хорошему исправлять надо код NM. Но если урод Поттеринг не продумал алгоритм раньше, то и сейчас он делать этого не будет. Ну не умеет он сначала думать, потом делать и проектирование, это не про него.
« Последнее редактирование: 27.09.2017 11:41:16 от Speccyfighter »

Оффлайн andrew_b

  • Завсегдатай
  • *
  • Сообщений: 534
Re: Долгое выключение системы
« Ответ #9 : 27.09.2017 12:46:14 »
Да, действительно, Самба отмонтируется раньше выключения сети. Как-то неожиданно даже.

Оффлайн Speccyfighter

  • Мастер
  • ***
  • Сообщений: 10 259
Re: Долгое выключение системы
« Ответ #10 : 29.09.2017 11:35:29 »
Да, действительно, Самба отмонтируется раньше выключения сети. Как-то неожиданно даже.

С беспроводной сетью через etcnet могут возникнуть мелкие проблемы, и даже не проблемы, а скорее неудобства, при понимании сути, но в принципе и они решаемы:
Простой скрипт-триггер
для отключения/включения wlan-интерфейса в etcnet
при настроенном беспроводном соединении в alterator-net-wifi

https://forum.altlinux.org/index.php?topic=32361.msg259724#msg259724
wireless_etcnet_restart скрипт
https://forum.altlinux.org/index.php?topic=32361.msg294800#msg294800