재부팅 중에 시스템이 정지되는 이유는 무엇입니까?


13

10 회 중 1 회, 재부팅 중에 systemd가 중단됩니다. 이유를 이해하지 못합니다. 문제를 해결하기 위해 무엇을 / 어디에서 봐야합니까? systemd v196을 사용하고 있으며 버전이 = 198로 업그레이드 할 수 없습니다. 후자는 최신 커널 (cgroup 지원)이 필요하기 때문에 고객 요구 사항으로 업데이트 할 수 없습니다. 이 동작의 원인을 발견하고 systemd를 시스템을 무조건 재부팅하도록 만드는 합리적인 방법이 있는지 궁금합니다.

이 링크는 도움이되지 않습니다 : http://freedesktop.org/wiki/Software/systemd/Debugging/#index2h1

당신이 읽을 수있는대로 :

종료가 끝나지 않습니다

몇 분 정도 기다린 후에도 정상적인 재부팅 또는 전원 끄기가 완료되지 않으면 위와 같은 방법으로 종료 로그를 만들 수 없으며 다른 방법으로 로그를 가져와야합니다. 부팅 문제를 디버깅하는 데 유용한 두 가지 옵션을 종료 문제에도 사용할 수 있습니다.

use a serial console
use a debug shell - not only is it available from early boot, it also stays active until late shutdown.

나는 직렬 콘솔을 사용하고 있으며, 어떤 이유로 든 eth 인터페이스가 자신의 인터페이스를 시작하거나 부팅 된 후에 (재부팅 단계에서 연결이 끊긴 후) 로그인 할 수 있습니다.

이유가 보이지 않습니다.

# cat /etc/systemd/system/
basic.target.wants/                          getty.target.wants/                          multi-user.target.wants/                     sysinit.target.wants/                        
dbus-org.freedesktop.NetworkManager.service  local-fs-pre.target.wants/                   sockets.target.wants/                        syslog.service                               
display-manager.service                      local-fs.target.wants/                       swap.target

swap.target 참고하십시오. 거기에 있지만 스왑 파티션을 전혀 사용하지 않습니다. 스왑을 마스크하려고했지만 중단 문제가 다시 발생합니다. 콘솔의 마지막 줄은 다음과 같습니다.

[OK] Stopped target shutdown.

편집 : 내가 말했듯이 ssh를 통해 ssh를 통해 다시 로그인 할 수 있습니다.

이제 두 개의 로그를 보여 드리겠습니다. 첫 번째 로그는 재부팅 / 셧다운이 중단 될 때 발생하고 두 번째 로그는 재부팅이 성공할 때 발생합니다.

중단 경우 출력은 항상 다음과 같습니다 (전체 로그).

[  OK  ] Stopped Network Time Service (one-shot ntpdate mode).
         Stopping Modem and VPN connections autoconnect...
         Stopping Login Service...
         Stopping LSB: Avahi mDNS/DNS-SD Daemon...
[  OK  ] Stopped Monitoring free system resources.
[  OK  ] Stopped Monitoring dropbear socket.
[  OK  ] Stopped Login Service.
[  OK  ] Stopped Modem and VPN c[  OK  ] Stopped Getty on tty1.
[  OK  ] Stopped Serial Getty on ttyO0.
[  OK  ] Unmounted /var/lib/opkg.
[  OK  ] Stopped Network Manager.
[  OK  ] Stopped LSB: Avahi mDNS/DNS-SD Daemon.
         Stopping D-Bus System Message Bus...
[  OK  ] Stopped target Remote File Systems.
[  OK  ] Stopped Suspend manager.
         Stopping X Server...
[  OK  ] Stopped X Server.
         Stopping System Logging Service...
[  OK  ] Stopped System Logging Service.
[   77.580000] g_ether gadget: using random self ethernet address
[   77.580000] g_ether gadget: using random host ethernet address
[   77.590000] usb0: MAC 6e:0d:de:b0:33:4f
[   77.590000] usb0: HOST MAC 62:7a:81:02:f3:ff
[   77.600000] g_ether gadget: Ethernet Gadget, version: Memorial Day 2008
[   77.600000] g_ether gadget: g_ether ready
[   77.610000] musb-hdrc musb-hdrc.0: MUSB HDRC host driver
[   77.610000] musb-hdrc musb-hdrc.0: new USB bus registered, assigned bus number 2
[   77.620000] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
[   77.630000] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   77.640000] usb usb2: Product: MUSB HDRC host driver
[   77.640000] usb usb2: Manufacturer: Linux 2.6.37 musb-hcd
[   77.650000] usb usb2: SerialNumber: musb-hdrc.0
[   77.650000] hub 2-0:1.0: USB hub found
[   77.660000] hub 2-0:1.0: 1 port detected
[   77.690000] ADDRCONF(NETDEV_UP): usb0: link is not ready
[  OK  ] Stopped target Reboot.
[  OK  ] Stopped Reboot.
[  OK  ] Stopped target Unmount All Filesystems.
[  OK  ] Stopped target Shutdown.
[   78.330000] <46>systemd-journald[328]: Received SIGUSR1
<hang>

정상적인 재부팅 :

         Unmounting /var/lib/opkg...
[  OK  ] Stopped target Network.
         Stopping SSH Per-Connection Server...
[  OK  ] Stopped target Graphical Interface.
[  OK  ] Stopped target Multi-User.
         Stopping Monitoring free system resources...
         Stopping Monitoring dropbear socket...
         Stopping Network Time Service (one-shot ntpdate mode)...
[  OK  ] Stopped Network Time Service (one-shot ntpdate mode).
         Stopping Modem and VPN connections autoconnect...
         Stopping Login Service...
         Stopping LSB: Avahi mDNS/DNS-SD Daemon...
[  OK  ] Stopped Monitoring free system resources.
[  OK  ] Stopped Monitoring dropbear socket.
[  OK  ] Stopped Login Service.
[  OK  ] Unmounted /var/lib/opkg.
         Stopping Network Manager...
[  OK  ] Stopped Getty on tty1.
[  OK  ] Stopped Network Manager.
[  OK  ] Stopped Serial Getty on ttyO0.
[  OK  ] Stopped Suspend manager.
[  OK  ] Stopped LSB: Avahi mDNS/DNS-SD Daemon.
         Stopping D-Bus System Message Bus...
         Stopping X Server...
         Stopping Permit User Sessions...
[  OK  ] Stopped Permit User Sessions.
[  OK  ] Stopped target Remote File Systems.
[  OK  ] Stopped X Server.
[  OK  ] Stopped D-Bus System Message Bus.
         Stopping System Logging Service...
[  OK  ] Stopped System Logging Service.
[  OK  ] Stopped target Basic System.
[  OK  ] Stopped target Sockets.
[  OK  ] Closed dropbear.socket.
[  OK  ] Closed D-Bus System Message Bus Socket.
[  OK  ] Stopped target System Initialization.
         Stopping Import configuration from SD card...
[  OK  ] Stopped Import configuration from SD card.
         Stopping Load Kernel Modules...
         Stopping Apply Kernel Variables...
[  OK  ] Stopped Apply Kernel Variables.
[  OK  ] Stopped target Local File Systems.
         Unmounting /var...
         Unmounting /tmp...
[  OK  ] Closed Syslog Socket.
[  OK  ] Failed unmounting /var.
[  OK  ] Unmounted /tmp.
[  OK  ] Stopped Load Kernel Modules.
[  OK  ] Reached target Unmount All Filesystems.
[  OK  ] Stopped target Local File Systems (Pre).
         Stopping Remount Root and Kernel File Systems...
[  OK  ] Stopped Remount Root and Kernel File Systems.
[  OK  ] Reached target Shutdown.
[   52.340000] omap_wdt: Unexpected close, not stopping!
Sending SIGTERM to remaining processes...
[   52.490000] <46>systemd-journald[335]: Received SIGTERM
Sending SIGKILL to remaining processes...
Unmounting file systems.
Unmounting /sys/fs/fuse/connections.
Unmounting /var.
All filesystems unmounted.
Deactivating swaps.
All swaps deactivated.

최신 정보:

몇 가지 조사와 디버그 후에도 여전히 중단 할 수 없지만 종료 중단의 이유를 발견했습니다. 어떤 이유로 종료가 완료되기 전에 사용자 지정 서비스 중 하나가 시작되어 종료 절차가 중단됩니다. 교수형의 경우입니다. 또 다른 종류의 정지는 종료가 중단되지 않았지만 어느 시점에서 중지되는 경우입니다. 이러한 이유로 모든 충돌 및 기타 가능한 중단을 한 번에 하나씩 해결하기 전에 무조건 하드웨어 워치 독을 활성화하고 싶습니다. systemd를 통해이 작업을 수행하기 위해 RuntimeWatchdogSec 및 ShutdownWatchdogSec을 별도로 또는 함께 활성화하고 테스트했습니다. 불행히도 그들은 도와주지 않았다. 소스 코드를 보면

나는 붙어있다. 내가 요청하는 것은 다음 중 하나를 수행하는 방법을 찾는 것입니다. 1. 적어도 셧다운이 시작되는 지점부터 워치 독을 무조건 활성화하도록 설정 합니다. 2. 모든 충돌을 쉽게 감지하고 해결합니다.

첫 번째 솔루션이 선호됩니다.


내려가는 길에 있습니까? 시스템에서 어떤 서비스가 활성화되어 있는지 공유 할 수 있습니까? 맞춤형 제품이 있습니까? 시스템이 정지되었다고 어떻게 결론 지었습니까?
MattBianco

@MattBianco 질문을 편집했습니다. 더 많은 정보가 있습니다.
Martin

첫 번째 로그와 두 번째 로그 사이에 동일한 줄이 표시되지 않는 이유는 무엇입니까? 그들이 다른 곳에서 시작 하는 것을 볼 수 있다면 더 많은 도움을 줄 수있을 것 입니다.
BenjiWiebe

@ BenjiWiebe 당신이 맞아요. 질문을 다시 편집하겠습니다
Martin

journalctl을 루트로 사용하고 시스템 저널에서 시간 종료, 실패 및 종속성 결함을 찾으십시오.
harrymc 2016 년

답변:


5

나는 해결책을 제안하려고 시도했다.

  Before=basic.target

/usr/lib/systemd/system/dbus.service로 이동하십시오.

나는 당신의 로그에서 이상한 점에 휩싸였다 . 아치 리눅스 포럼에서 얼마 전에 읽은 사고를 떠올리게한다 .이 시스템은 재부팅시 중단된다. 해결책은 정지 된 후 d- 버스와 통신하려고하는 일부 서비스로 인해 중단이 발생할 수 있다는 점에서 위와 같이 제공되었습니다.

따라서 basic.target 이전에 주문하면 기본 대상에 도달하기 전에 시작될뿐만 아니라 종료 중에 basic.target이 종료 될 때까지 계속 유지됩니다.

당신의에서 건강에 해로운 로그, 우리는 제대로 정지 상태에서 기본 시스템이 정지되지 않는다는 사실에서 볼 건강한 로그.

이것이 작동하지 않고 업그레이드 할 수 없다고 생각하면 다운 그레이드를 고려 했습니까?


1
고맙습니다, 당신의 해결책을 시도 할 것입니다. systemd는 설계에 의해 버그가있는 것처럼 보이므로 좋은 SysV를 대체하는 것으로 간주했습니다.
Martin

변경 사항을 적용한 후 부팅시 systemd에서이를 얻습니다. 주문주기를 찾았습니다. D- 버스 시스템 메시지 버스를 건너 뜁니다. 어떤 생각?
Martin

@Martin 1 : 별도의 파티션에 / 및 / usr이 있습니까? 2) /etc/init.d에 많은 것들이 있습니까? 아니면 /etc/rc.d?
MariusMatutiae

1
이것은 Ubuntu 16.04에서 훌륭하게 작동합니다. 파일은 섹션 /usr/lib/systemd/user/dbus.service아래[Unit]
Anwar

3

shutdown.target종료 프로세스가 시작될 때 자동으로 중지하기 위해 기본적으로 다른 모든 장치와 충돌합니다. 다른 방식으로도 작동합니다. 다른 장치가 시작되면 shutdown.target중지됩니다. 문제 그래서 즉 뭔가 종료 프로세스를 무시 종료 중에 시작하는 원인이 뭔가.

이것은 시스템 v198에서 수정되었으므로 종료 작업을 "바꿀 수 없습니다".


나는 업그레이드 할 수 없습니다 :(
Martin

충돌을 발견하고 수정해야합니다
Martin

1

"대상 종료"에 도달했을 때 스왑이 여전히 활성 상태 일 수 있습니다. 내 솔루션은 재부팅 전에 강제로 스왑을 비활성화하는 것이 었습니다.

swapoff -a
swapoff /dev/md6

그 후, 재부팅없이 일시 중지가 정상적으로 진행되었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.