Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Strony: 1
Witajcie
Po wykonaniu aktualizacji wydania na Stretch system w ok 80% przypadków podczas zamykania wyświetla przez 90sek komunikat: A stop job is running for... - i tutaj kolejno wymieniane są wszystkie urządzenia dyskowe a także session C2
Próbowałem debugować problem wg poradnika: https://freedesktop.org/wiki/Software/systemd/Debugging/ -ale nie ma u mnie katalogu /usr/lib/systemd/system-shutdown w którym należy umieścić skrypt debug.sh - stworzyłem ten katalog i umieściłem skrypt ale oczywiście nie zadziałało - dlatego nie mam zapisu logów :(
Trochę informacji o systemie: Distributor ID: Debian Description: Debian GNU/Linux testing (stretch) Release: testing Codename: stretch
Linux wostok 4.8.0-1-amd64 #1 SMP Debian 4.8.7-1 (2016-11-13) x86_64 GNU/Linux
systemd: wersja 232-7
System zaszyfrowany Luksem i na LVM. (poza partycją /boot).
cat /etc/crypttab sda5_crypt UUID=ca3b4860-0671-4690-b771-72cbdd6e9bc6 none luks sdb1_crypt UUID=68af85c4-4214-43be-baa6-62b264814067 none luks
cat /etc/fstab dev/mapper/vol1sys-LVroot / ext4 errors=remount-ro 0 1 # /boot was on /dev/sda2 during installation UUID=dbc5b2e9-d9be-4c0f-a8b3-4ec0b12807b0 /boot ext4 defaults 0 2 # /boot/efi was on /dev/sda1 during installation UUID=CA14-B8EF /boot/efi vfat umask=0077 0 1 /dev/mapper/vol2data-LVhome /home ext4 defaults 0 2 /dev/mapper/vol2data-LVtmp /tmp ext4 defaults 0 2 /dev/mapper/vol2data-LVswap none swap sw 0 0
Problem występuje po czystej instalacji Stretch z płyty netinstall jak i po upgrade z Jessie (zaraz po świeżej instalacji)
Poradźcie proszę jak się zabrać do skutecznego wytropienia i usunięcia problemu.
Nie upieram się też przy wersji testing. Wkurzony telemetrzycznym zaglądaniem do d...y przez Microsoft postanowiłem zmienić podstawowy system operacyjny. Na służbowym PC od ok. miesiąca użytkuję Jessie i sprawuje się bardzo OK.
Na domowym w wersji Jessie spotkałem dziwny problem - w sesji graficznej (gnome) - po instalacji sterowników Nvidii (v 340) odczuwalne są "mikroprzycięcia" - delikatne lagi w reakcji na mysz i klawiaturę - najbardziej widoczne w przeglądare a także w terminalu - np mc laguje od 0.5 do 2 sek na naciśnięcia klawiszy... - ogólne wrażenie z użytkowania b. nieprzyjemne - wzrok męczy się po ok. pół godzinie pracy. W wydaniu stretch ten problem nie występuje stąd pomysł na korzystanie z tej wersji.
Pozdrawiam
Irek
Offline
Dziękuję, zrobione - poniżej wycinek pozyskanego logu dot. zamykania systemu:
ciach....
[ 845.664006] systemd-logind[711]: System is powering down.
[ 845.673462] systemd[1]: Stopping User Manager for UID 118...
[ 845.673602] systemd[1]: Stopping PackageKit Daemon...
[ 845.673698] systemd[1]: Stopping Authorization Manager...
[ 845.673769] systemd[1]: Stopping ACPI event daemon...
[ 845.673789] systemd[1]: Closed Load/Save RF Kill Switch Status /dev/rfkill Watch.
[ 845.673820] systemd[1]: Stopped target RPC Port Mapper.
[ 845.673970] systemd[1]: Removed slice system-getty.slice.
[ 845.673991] systemd[1]: Stopped target Graphical Interface.
[ 845.674066] systemd[1]: Stopping GNOME Display Manager...
[ 845.674166] systemd[1]: Stopping Accounts Service...
[ 845.702003] gnome-session-f[2427]: segfault at 0 ip 00007f391ecf0a29 sp 00007ffff2e8b660 error 4 in libgtk-3.so.0.2200.4[7f391ea0e000+6f7000]
[ 846.014180] systemd-logind[711]: Removed session 3.
[ 935.836164] systemd[1]: dev-dm\x2d0.device: Job dev-dm\x2d0.device/stop timed out.
[ 935.836179] systemd[1]: Timed out stopping /dev/dm-0.
[ 935.836733] systemd[1]: dev-dm\x2d0.device: Job dev-dm\x2d0.device/stop failed with result 'timeout'.
[ 935.836751] systemd[1]: session-c2.scope: Stopping timed out. Killing.
[ 935.836857] systemd[1]: session-c2.scope: Killing process 1199 (Xorg) with signal SIGKILL.
[ 935.837060] systemd[1]: dev-disk-by\x2did-dm\x2duuid\x2dCRYPT\x2dLUKS1\x2dca3b486006714690b77172cbdd6e9bc6\x2dsda5_crypt.device: Job dev-disk-by\x2did-dm\x2duuid\x2dCRYPT\x2dLUKS1\x2dca3b486006714690b77172cbdd6e9bc6\x2dsda5_crypt.device/stop timed out.
[ 935.837072] systemd[1]: Timed out stopping /dev/disk/by-id/dm-uuid-CRYPT-LUKS1-ca3b486006714690b77172cbdd6e9bc6-sda5_crypt.
[ 935.837618] systemd[1]: dev-disk-by\x2did-dm\x2duuid\x2dCRYPT\x2dLUKS1\x2dca3b486006714690b77172cbdd6e9bc6\x2dsda5_crypt.device: Job dev-disk-by\x2did-dm\x2duuid\x2dCRYPT\x2dLUKS1\x2dca3b486006714690b77172cbdd6e9bc6\x2dsda5_crypt.device/stop failed with result 'timeout'.
[ 935.837631] systemd[1]: dev-disk-by\x2did-lvm\x2dpv\x2duuid\x2dMQsHwx\x2de5OK\x2dYfId\x2d92tm\x2d2S0K\x2dfUyt\x2dWWBI6n.device: Job dev-disk-by\x2did-lvm\x2dpv\x2duuid\x2dMQsHwx\x2de5OK\x2dYfId\x2d92tm\x2d2S0K\x2dfUyt\x2dWWBI6n.device/stop timed out.
[ 935.837639] systemd[1]: Timed out stopping /dev/disk/by-id/lvm-pv-uuid-MQsHwx-e5OK-YfId-92tm-2S0K-fUyt-WWBI6n.
[ 935.844134] nvidia-modeset: Freed GPU:0 (GPU-42faeec1-6cc5-722a-dacc-46d27ae63f20) @ PCI:0000:01:00.0
[ 940.974095] systemd-cryptsetup[2602]: Failed to deactivate: Device or resource busy
[ 940.984290] systemd[1]: systemd-cryptsetup@sda5_crypt.service: Control process exited, code=exited status=1
[ 940.984674] systemd[1]: Stopped Cryptography Setup for sda5_crypt.
[ 940.989390] systemd[1]: systemd-cryptsetup@sda5_crypt.service: Unit entered failed state.
[ 940.989422] systemd[1]: systemd-cryptsetup@sda5_crypt.service: Failed with result 'exit-code'.
[ 940.996617] systemd-cryptsetup[2604]: Failed to deactivate: Device or resource busy
[ 941.001842] systemd[1]: systemd-cryptsetup@sdb1_crypt.service: Control process exited, code=exited status=1
[ 941.002187] systemd[1]: Stopped Cryptography Setup for sdb1_crypt.
[ 941.007069] systemd[1]: systemd-cryptsetup@sdb1_crypt.service: Unit entered failed state.
[ 941.007099] systemd[1]: systemd-cryptsetup@sdb1_crypt.service: Failed with result 'exit-code'.
[ 941.007304] systemd[1]: Reached target Unmount All Filesystems.
[ 941.012343] systemd[1]: Removed slice system-systemd\x2dcryptsetup.slice.
[ 941.076541] systemd-shutdow: 373 output lines suppressed due to ratelimiting
[ 941.088207] systemd-shutdown[1]: Sending SIGTERM to remaining processes...
[ 941.092611] systemd-journald[390]: Received SIGTERM from PID 1 (systemd-shutdow).
[ 941.139041] systemd-shutdown[1]: Sending SIGKILL to remaining processes...
[ 941.142554] systemd-shutdown[1]: Unmounting file systems.
[ 941.142752] systemd-shutdown[1]: Remounting '/' read-only with options 'errors=remount-ro,data=ordered'.
[ 941.161057] EXT4-fs (dm-1): re-mounted. Opts: errors=remount-ro,data=ordered
[ 941.169245] systemd-shutdown[1]: Remounting '/' read-only with options 'errors=remount-ro,data=ordered'.
[ 941.169271] EXT4-fs (dm-1): re-mounted. Opts: errors=remount-ro,data=ordered
[ 941.169275] systemd-shutdown[1]: All filesystems unmounted.
[ 941.169278] systemd-shutdown[1]: Deactivating swaps.
[ 941.169326] systemd-shutdown[1]: All swaps deactivated.
[ 941.169328] systemd-shutdown[1]: Detaching loop devices.
[ 941.170249] systemd-shutdown[1]: All loop devices detached.
[ 941.321139] EXT4-fs (dm-1): re-mounted. Opts: errors=remount-ro
EOF
Na ekranie podczas wyłączania wyświetlane są komunikaty:
[....*...] (n of 13) A stop job is running for /dev/dm-2 (n sec of 1min 30 sec)
[....*...] (m of 13) A stop job is running for /dev/disk/by-id/dm_name_sdb1_crypt (n sec of 1min 30 sec)
itd.. wymienia kolejne urządzenia blokowe oraz session c2 - po zakończeniu wpisy w logu jak wyżej
Ostatnio edytowany przez irs (2016-12-13 14:01:06)
Offline
No on ma problemy z odmontowaniem systemu plików, co często ma miejsce w przypadku zaszyfrowanych systemów. U mnie też takie problemy były i musiałem ręcznie napisać usługi dla zaszyfrowanych dysków i określić im wyraźnie po czym mają się montować i przed czym odmontować. Jeśli montujesz sda5_crypt wewnątrz sda1_crypt , to musisz ręcznie określić zależności, by system pierw wyłączył sda5_crypt , a dopiero potem sda1_crypt . W przeciwnym wypadku będzie losowa kolejność i w przypadku tej złej system będzie próbował odmontować system plików, który jest w użyciu, czego nie zrobi do momentu timeout'a usługi.
Ostatnio edytowany przez morfik (2016-12-13 18:50:40)
Offline
Jeśli montujesz sda5_crypt wewnątrz sda1_crypt , to musisz ręcznie określić zależności, by system pierw wyłączył sda5_crypt , a dopiero potem sda1_crypt .
No nie przeceniaj mnie - żebym bawił się w zagnieżdżone szyfrowanie...
Kontenery szyfrowane są "obok" siebie. Partycjonowanie wygląda jak na rysunku:
https://drive.google.com/file/d/0B8e6XL6CllmPWW1USm … w?usp=sharing
Jessie radził sobie z identyczną konfiguracją bezproblemowo bez konieczności dodatkowego skryptowania - testowałem go ok. 2 tygodni.
Na obecnym etapie znajomości systemu nie potrafiłbym zrobić tak zaawansowanej modyfikacji jak porządkowanie co i kiedy ma się odmontować.
Zarejestrowałem jako bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=848044
Dzięki
Pozdrawiam
Offline
W sumie z tego co tam widzę na logu, to ci się procesy nie zamykają poprawnie i pewnie dlatego ma problemy z odmontowaniem systemu plików. Więc musisz ustalić czemu ci się te procesy wieszają albo ubić je przy kończeniu sesji, co ma swoje wady i zalety. Zaleta taka, że system ci się zamknie bez problemu, wada, że bez sesji wszystkie procesy użytkownika zostaną zatrzymane. xD
Przetestuj sobie ten sposób dodając/zmieniając poniższe wpisy w /etc/systemd/logind.conf :
KillUserProcesses=yes KillOnlyUsers=morfik KillExcludeUsers=root
Morfika se zmień na użytkownika swojego.
Offline
Racja - z tego co jest w logu to problem z odmontowaniem może być skutkiem a nie przyczyną timeoutów.
W logu są 2 podejrzane wpisy dotyczące składników gnome lub X a mogące stanowić przyczynę:
[ 455.373836] gnome-session-f[4038]: segfault at 0 ip 00007fd5993d0a29 sp 00007ffcf4e854b0 error 4 in libgtk-3.so.0.2200.4[7fd5990ee000+6f7000]
[ 545.551752] systemd[1]: session-c2.scope: Killing process 1282 (Xorg) with signal SIGKILL.
Obejście zastosowałem, zrobiłem parę restartów - bez komunikatów o błędach ale jeden raz zamarudził coś dłużej - będę to jeszcze sprawdzał.
Możesz doradzić - tropić to dalej - czy zostawić z obecnym obejściem? Nie znam niestety na tyle dobrze metodyki i narzędzi do debugowania żeby to ogarnąć samodzielnie :( - potrzebowałbym pokierowania przez kogoś bardziej zaawansowanego.
Wolałbym mieć pewność że system jest stabilny i wolny od poukrywanych problemów - z drugiej strony być może sprawa nie jest na tyle istotna by ją tropić - a szanuję też czas własny i ludzi z których wsparcia korzystam.
Cholera - po tylu przetestowanych dystrybucjach Debian mnie skusił ale mnie nie chce :/
pozdr.
Irek
Offline
Segfault powoduje, że program zdycha automatycznie i się zamyka, także w zamykanie systemu nie powinno to przeszkadzać.
Chociaż Gnome-session łapiący segfaulta ze strony biblioteki gtk3, to widok bezcenny, biorąc pod uwagę autorów Gtk3 i Gnome.
Zawsze możesz dać jako ostatniego skrypta, polecenie, które odpali w powłoce systemowej
pkill -9 -u USER
albo nawet SYSRQ+E,
te na pewno ubiją wszystko bardzo dokładnie.
Offline
Ten mechanizm w systemd ładnie ubija procesy. Mi się jeszcze nie zdarzyło, by jakiś przeżył po wylogowaniu się zwykłego użytkownika. Jadę na tym sposobie od samego początku, bo w sumie lubię, gdy te procesy są czyszczone przy resecie sesji Openboxa. To mi fixnęło bardzo wiele problemów. xD
Offline
morfik napisał(-a):
Ten mechanizm w systemd ładnie ubija procesy. ...xD
Dzięki za informacje, zawsze mi się zdawało, że kill, killall czy pkill idealnie ubiją procesy, ale skoro SystemD robi to "lepiej", to ja ciekaw jestem,
jak taki cud w SystemD osiągnęli. xD
Masz może w SystemD system nagłego, awaryjnego zamykania kompa w razie np burzy z piorunami?
Bo w OpenRC nic takiego nie ma, i musiałem takiego skrypcia naskrobać:
cat /usr/local/sbin/burza
#!/bin/bash echo s >>/proc/sysrq-trigger echo u >>/proc/sysrq-trigger sleep 1 echo o >>/proc/sysrq-trigger
Nawet działa... :P
Offline
A jak ci się zawieszą jakoś te procesy? xD Mi się już wielokrotnie zdarzyło, że kill i killall nie potrafiły zabić procesu. A systemd nigdy takiego procesu nie oszczędził. Wszystko co jest w sesji użytkownika zginie po zakończeniu sesji:
$ loginctl session-status 2 2 - morfik (1000) Since: Tue 2016-12-13 12:16:42 CET; 19h ago Leader: 2336 (lightdm) Seat: seat0; vc7 Display: :0 Service: lightdm; type x11; class user Desktop: lightdm-xsession State: active Unit: session-2.scope ├─ 2336 lightdm --session-child 12 19 ├─ 2350 /usr/bin/gnome-keyring-daemon --daemonize --login ├─ 2352 /usr/bin/openbox --startup /usr/lib/x86_64-linux-gnu/openbox-autostart OPENBOX ...
Masz może w SystemD system nagłego, awaryjnego zamykania kompa w razie np burzy z piorunami?
Tego nie wiem ale nie zdziwiłbym się gdyby był. xD
Offline
Morfik trochę pomogło ale nie w 100% - dalej tak w 2/10 przypadków było 90sek opóźnienie - z tą różnicą że systemd nie wyświetlał żadnego komunikatu - za to w logach to samo - timeouty przy zamykaniu dysków.
Wywaliłem Stretch-a, wrzuciłem Jessie + sterowniki Nvidii z backportów - w tej kombinacji nie ma żadnych lagów.
Ze stretch wstrzymam się na oficjalne wydanie stabilne, ewentualnie na maszynie wirtualnej będę sobie tropił ten temat.
Dzięki za pomoc.
Offline
A jak ci się zawieszą jakoś te procesy? xD Mi się już wielokrotnie zdarzyło, że kill i killall nie potrafiły zabić procesu. A systemd nigdy takiego procesu nie oszczędził. Wszystko co jest w sesji użytkownika zginie po zakończeniu sesji:
pkill -9 -u {pacjent}
żaden proces pacjenta nie ma prawa tego przeżyć, chyba że zombie.
Offline
Czemu sobie tych usług nie napiszesz? xD Przykład:
/etc/systemd/system/systemd-cryptsetup@kabi.service
[Unit] Description=Cryptography Setup for %I Documentation=man:cryptdisks_start man:cryptdisks_stop man:systemd-cryptsetup@.service(8) IgnoreOnIsolate=true DefaultDependencies=no After=dev-disk-by\x2duuid-f3c10054\x2d0583\x2d4e10\x2d937b\x2ddcdc9a05a25c.device After=cryptsetup-pre.target After=systemd-fsck-root.service Before=systemd-fsck@dev-mapper-kabi.service media-Kabi.mount Before=cryptsetup.target Before=umount.target shutdown.target Conflicts=umount.target shutdown.target BindsTo=dev-mapper-%i.device BindsTo=dev-disk-by\x2duuid-f3c10054\x2d0583\x2d4e10\x2d937b\x2ddcdc9a05a25c.device [Service] Type=oneshot RemainAfterExit=yes TimeoutSec=30 #ExecStart=/usr/sbin/cryptdisks_start %i #ExecStop=/usr/sbin/cryptdisks_stop %i ExecStart=/lib/systemd/systemd-cryptsetup attach 'kabi' '/dev/disk/by-uuid/f3c10054-0583-4e10-937b-dcdc9a05a25c' 'none' 'luks,key-slot=0' ExecStop=/lib/systemd/systemd-cryptsetup detach 'kabi' [Install] WantedBy=cryptsetup.target
/etc/systemd/system/media-Kabi.mount
[Unit] Documentation=man:fstab(5) Requires=systemd-fsck@dev-mapper-kabi.service Requires=systemd-cryptsetup@kabi.service After=systemd-fsck@dev-mapper-kabi.service After=systemd-cryptsetup@kabi.service Before=cloud_storage-mega.encrypted.service Before=qbittorrent-nox.service Before=local-fs.target [Mount] What=/dev/disk/by-uuid/b47e6dcd-924e-40fa-a8b1-7593419f86d7 Where=/media/Kabi Type=ext4 Options=defaults,errors=remount-ro,commit=10
Większość z tego co tam wyżej jest to wypisały generatory na podstawie plików /etc/crypttab i /etc/fstab . U ciebie też są takie pliki generowane pod /run/systemd/generator*/ . Wystarczy skopiować sobie te wygenerowane pliki do /etc/systemd/system/ i przerobić, wyżej masz kluczowe zależności. Jak chcesz z tych usług korzystać, to jeszcze musisz stosowne wpisy w /etc/fstab i /etc/crypttab zahashować i nie może nie działać. xD
Offline
Strony: 1