Summary: | Не выключается ПК самостоятельно | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | Branch p6 | Reporter: | Alexander Shemetov <berkut_174> | ||||||
Component: | NetworkManager | Assignee: | Mikhail Efremov <sem> | ||||||
Status: | CLOSED WONTFIX | QA Contact: | QA p6 <qa-p6> | ||||||
Severity: | normal | ||||||||
Priority: | P3 | CC: | a.o.liakh, aen, shakirov | ||||||
Version: | не указана | ||||||||
Hardware: | all | ||||||||
OS: | Linux | ||||||||
Attachments: |
|
Description
Alexander Shemetov
2012-02-29 19:38:02 MSK
Попробуйте в файле /etc/NetworkManager/dispatcher.d/10-netfs закомментировать строчки: # [ $($IP route show | wc -l) -eq 0 ] && # $SERVICE netfs status >/dev/null 2>&1 && # $SERVICE netfs stop >/dev/null 2>&1 ||: Оно. Помечаю эту как дубль, там описание правильнее. *** This bug has been marked as a duplicate of bug 27013 *** Судя по сообщению на форуме, это всё-таки что-то ещё. Автор, если у вас не починилось, переоткройте, пожалуйста, этот баг и приведите информацию о вашей системе. Начните с того, что у вас выдаёт команда $ cat /proc/mounts > Начните с того, что у вас выдаёт команда
>
> $ cat /proc/mounts
И ещё:
$ cat /etc/fstab
# chkconfig netfs --list
и содержимое /var/log/messages от начала выключения до следующего старта.
У меня, например, этот кусок /var/log/messages начинается так:
Mar 3 14:59:40 seashell shutdown[7061]: shutting down for system halt (POWERDOWN)
Mar 3 14:59:40 seashell init: Switching to runlevel: 0
Mar 3 14:59:46 seashell plymouth: Activating splash succeeded
Mar 3 14:59:46 seashell kdm: :0[5704]: Fatal X server IO error: Interrupted system call
Mar 3 14:59:46 seashell dm: rundm shutdown succeeded
...
Я у себя посмотрел повнимательнее, как работает с новым NM https://bugzilla.altlinux.org/show_bug.cgi?id=27013#c7 , и вдобавок к нему сделал ещё так (по образу и подобию:): $ diff -Nau /etc/rc.d/init.d/netfs.orig /etc/rc.d/init.d/netfs --- /etc/rc.d/init.d/netfs.orig 2011-10-05 20:58:39.000000000 +0400 +++ /etc/rc.d/init.d/netfs 2012-03-03 14:56:39.649179205 +0400 @@ -29,9 +29,12 @@ NCPMTAB=`grep -vs '^#' /proc/mounts |awk '($3 == "ncp" || $3 == "ncpfs") && ($2 != "/") {print $2}'` PANMTAB=`grep -vs '^#' /proc/mounts |awk '($3 == "panfs") && ($2 != "/") {print $2}'` +IP=/sbin/ip + start() { is_yes "$NETWORKING" || return 0 + [ "$($IP route show 2>/dev/null | wc -l)" != 0 ] || return 0 [ -z "$NFSFSTAB" ] || action "Mounting NFS filesystems:" mount -a -t nfs,nfs4 @@ -47,6 +50,8 @@ stop() { + [ "$($IP route show 2>/dev/null | wc -l)" != 0 ] || return 0 + if [ -n "$NFSMTAB" ]; then UnmountFilesystems 3 5 \ '($3 == "nfs" || $3 == "nfs4") && ($2 != "/") {print $2}' \ С такой проверкой в netfs у меня пропали задержки при старте системы, когда стартовавший ранее NM ещё не успел поднять сеть, а netfs уже начал пытаться монтировать. Почти уверен, что в общем случае так делать нельзя (?), но для моей системы подходит. Что касается _выключения_ компьютера, - в голову пока приходят только патологические ситуации типа "service netfs stop" после опускания сети, чего вроде не должно быть. В общем, нужна информация от автора бага. Раньше вторника не смогу предоставить инфу, уж простите... Во вторник все что нужно скину и переоткрою. Created attachment 5359 [details]
Логи
Добавил все, что просили во вложения. Часть тут приведу. cat /proc/mounts rootfs / rootfs rw 0 0 udevfs /dev devtmpfs rw,relatime,size=5120k,nr_inodes=128076,mode=755 0 0 /dev/sda2 / ext4 rw,relatime,user_xattr,acl,barrier=1,data=ordered 0 0 proc /proc proc rw,relatime 0 0 sysfs /sys sysfs rw,relatime 0 0 runfs /run tmpfs rw,relatime,size=5120k,mode=755 0 0 devpts /dev/pts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 0 0 shmfs /dev/shm tmpfs rw,relatime 0 0 tmpfs /tmp tmpfs rw,nosuid,relatime 0 0 /dev/sda5 /home ext4 rw,nosuid,relatime,user_xattr,acl,barrier=1,data=ordered 0 0 /etc/auto.tab /mnt/auto autofs rw,relatime,fd=6,pgrp=4417,timeout=5,minproto=5,maxproto=5,indirect 0 0 /etc/auto.avahi /mnt/net autofs rw,relatime,fd=12,pgrp=4417,timeout=120,minproto=5,maxproto=5,indirect 0 0 192.168.112.112:/srv/public/ /mnt/public nfs4 ro,relatime,vers=4,rsize=32768,wsize=32768,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.112.228,minorversion=0,local_lock=none,addr=192.168.112.112 0 0 192.168.112.112:/srv/obmen /mnt/obmen nfs4 rw,relatime,vers=4,rsize=32768,wsize=32768,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.112.228,minorversion=0,local_lock=none,addr=192.168.112.112 0 0 cat /etc/fstab proc /proc proc nosuid,noexec,gid=proc 0 0 devpts /dev/pts devpts nosuid,noexec,gid=tty,mode=620 0 0 tmpfs /tmp tmpfs nosuid 0 0 UUID=96eef21d-2172-4ea4-a9bf-54ef40270ea9 / ext4 relatime 11 UUID=d9996668-d63a-45ed-b14e-0b0e9d367c83 /home ext4 nosuid,relatime12 UUID=246ea93c-2156-49e8-bc8a-e12425b9746d swap swap defaults 00 #UUID=8edeb7c6-f6f2-4757-a7ce-1c3834a21b43 /mnt/sda3 ext4 defaults 0 0 /dev/sr0 /media/cdrom udf,iso9660 ro,noauto,user,utf8 0 0 192.168.112.112:/srv/obmen /mnt/obmen nfs rw,auto,wsize=32768,rsize=32768,intr,nolock 0 0 192.168.112.112:/srv/public /mnt/public nfs ro,auto,wsize=32768,rsize=32768,intr,nolock 0 0 chkconfig netfs --list netfs 0:выкл 1:выкл 2:выкл 3:выкл 4:выкл 5:выкл 6:выкл (В ответ на комментарий №9) > cat /proc/mounts ... > /etc/auto.tab /mnt/auto autofs rw,relatime,fd=6,pgrp=4417,timeout=5,minproto=5,maxproto=5,indirect 0 0 > /etc/auto.avahi /mnt/net autofs rw,relatime,fd=12,pgrp=4417,timeout=120,minproto=5,maxproto=5,indirect 0 0 > 192.168.112.112:/srv/public/ /mnt/public nfs4 ro,relatime,vers=4,rsize=32768,wsize=32768,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.112.228,minorversion=0,local_lock=none,addr=192.168.112.112 0 0 > 192.168.112.112:/srv/obmen /mnt/obmen nfs4 rw,relatime,vers=4,rsize=32768,wsize=32768,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.112.228,minorversion=0,local_lock=none,addr=192.168.112.112 0 0 > cat /etc/fstab ... > 192.168.112.112:/srv/obmen /mnt/obmen nfs rw,auto,wsize=32768,rsize=32768,intr,nolock 0 0 > 192.168.112.112:/srv/public /mnt/public nfs ro,auto,wsize=32768,rsize=32768,intr,nolock 0 0 > chkconfig netfs --list > netfs 0:выкл 1:выкл 2:выкл 3:выкл 4:выкл 5:выкл 6:выкл Видно, что ситуация другая, нежели в #27013: netfs выключен (autofs включен). И опции _netdev в fstab нет. Два вопроса: 1) Из логов не видно существенной задержки при выключении. Или вы теперь почти сразу выключаете питание при чёрном экране? 2) Как вы монтируете те ФС, которые nfs ? Руками? Или у вас это происходит автоматически? autofs? Приложите содержимое /etc/auto.* Похоже, к NetworkManager'у это отношения не имеет. Но можно, ради эксперимента, привести ситуацию к той, что в #27013: # chkconfig autofs off # chkconfig netfs on и добавить опции _netdev к сетевым точкам монтирования в /etc/fstab. После чего посмотреть, как будет загружаться и выключаться. Выключаю питание не сразу, жду пару минут. NFS монтируются через fstab, только автоматически монтироваться они не хотят, даже с опцией auto (почему так не знаю... раньше не помню как было), монтирую с задержкой в 5 с. при включении, через rc.local. (В ответ на комментарий №11) > Выключаю питание не сразу, жду пару минут. > > NFS монтируются через fstab, только автоматически монтироваться они не хотят, > даже с опцией auto (почему так не знаю... раньше не помню как было), монтирую с > задержкой в 5 с. при включении, через rc.local. Ага, то есть, фактически, монтируете "руками". Тогда /etc/auto.* приводить не надо. Попробуйте рецепт из c10, даже без выключения autofs: - # chkconfig netfs on - добавить опции _netdev к сетевым точкам монтирования в /etc/fstab (типа 192.168.112.112:/srv/obmen /mnt/obmen nfs4 _netdev,rw,....) Я, правда, у себя ещё изменил /etc/rc.d/init.d/netfs (см. c6), но и без этого уже работало. > Попробуйте рецепт из c10, даже без выключения autofs:
> - # chkconfig netfs on
> - добавить опции _netdev к сетевым точкам монтирования в /etc/fstab
> (типа 192.168.112.112:/srv/obmen /mnt/obmen nfs4 _netdev,rw,....)
> Я, правда, у себя ещё изменил /etc/rc.d/init.d/netfs (см. c6), но и без этого
> уже работало.
Так выключается.
Файл /etc/NetworkManager/dispatcher.d/10-netfs вернул к исходному виду! Ничего в нем не закомментировано!
Получается, если шара смонтирована то не выключается... Если вручную перед выключением размонтировать вручную, то выключается. Если загрузиться без автомонтирования шары и потом её вручную смонтировать, то не выключается.
Прикреплю лог messages. Там все описано, что я перед этим делал. Может быть поможет в решении проблемы.
Спасибо.
Created attachment 5369 [details]
messages
(В ответ на комментарий №13) > > Попробуйте рецепт из c10, даже без выключения autofs: > > - # chkconfig netfs on > > - добавить опции _netdev к сетевым точкам монтирования в /etc/fstab > > (типа 192.168.112.112:/srv/obmen /mnt/obmen nfs4 _netdev,rw,....) > > Я, правда, у себя ещё изменил /etc/rc.d/init.d/netfs (см. c6), но и без этого > > уже работало. > > Так выключается. > > Файл /etc/NetworkManager/dispatcher.d/10-netfs вернул к исходному виду! Ничего > в нем не закомментировано! Лучше опять закомментировать. Или обновить NetworkManager -- в новом закомментировано. Влияет на засыпание, см. https://bugzilla.altlinux.org/show_bug.cgi?id=27013 > Получается, если шара смонтирована то не выключается... Если вручную перед > выключением размонтировать вручную, то выключается. Если загрузиться без > автомонтирования шары и потом её вручную смонтировать, то не выключается. Насколько я понимаю (?), без размонтирования сетевых ФС виснет /etc/rc.d/init.d/halt на этапе размонтирования. Т.е., вряд ли это ошибка NetworkManager'а. Скорее, логика разработчиков такова: если уж вы монтируете сетевые ФС (что по умолчанию разрешено только root'у), то извольте позаботиться об их отмонтировании, например, включите сервис netfs. И действительно, как вы подтверждаете, при включенном netfs всё хорошо -- stop этого сервиса при выключении вызывается раньше опускания сети, и все сетевые ФС нормально отмонтируются. Наверное, можно придумать конфигурацию, когда имеющимися средствами не обойтись, но в простых стандартных случаях всё работает (хотя мне больше нравится поведение netfs из c6). Для более сложных надо смотреть в сторону зависимости между сервисами (systemd ... ?) В общем, по-моему, этот баг надо преобразовать в feature request на документацию по правильному подключению сетевых ФС (если таковой ещё нет). Или в некий feature request на полный автомат по правильной настройке старта/стопа системы (???) Все бы хорошо, только вот с включенным netfs монтирование NFS при старте системы занимает около 30 секунд! Mounting NFS Filesystems... и 30 секунд висит... (В ответ на комментарий №16) > Все бы хорошо, только вот с включенным netfs монтирование NFS при старте > системы занимает около 30 секунд! > Mounting NFS Filesystems... > и 30 секунд висит... Попробуйте изменение из c6 :) Тогда при старте, пока нет сети (это может быть в случае, если сеть через NM), netfs ничего не будет делать, а затем, при появлении сети, NM ещё раз "дёрнет" netfs. PS. Мне тоже хочется от старта/стопа сетевых сервисов чего-то более логичного и обозримого, но пока есть только смутные мысли насчёт зависимостей или насчёт впихивания всего в etcnet. Или ждать, пока всё это впихнут в NetworkManager? (см. также https://bugzilla.altlinux.org/show_bug.cgi?id=27013#c5 ). Проще через rc.local монтировать, а в fstab поставить параметр noauto :-) Пока так и сделал. 2sem@: ping (В ответ на комментарий №16) > Все бы хорошо, только вот с включенным netfs монтирование NFS при старте > системы занимает около 30 секунд! > Mounting NFS Filesystems... > и 30 секунд висит... Можно попробовать в /etc/sysconfig/NetworkManager раскомментировать NM_CONNECTION_WAIT. Только внимательно прочитать сначала комментарий к этой опции. Или использовать etcnet. А вообще, наверно, стоит повесить баг на startup, чтобы сделать в netfs что-то вроде того, что в https://bugzilla.altlinux.org/show_bug.cgi?id=27009#c6. (В ответ на комментарий №20) > А вообще, наверно, стоит повесить баг на startup, чтобы сделать в netfs что-то > вроде того, что в https://bugzilla.altlinux.org/show_bug.cgi?id=27009#c6. Ну так повесьте. https://bugzilla.altlinux.org/27303 По поводу же самого NM - я не вижу, что еще можно сделать по этому поводу. В NM-0.8 появления predown-скриптов ожидать уже точно не стоит. |