रिबूट के दौरान सिस्टमड क्यों लटका हुआ है?


13

10 में से 1 बार, सिस्टम रिबूट के दौरान लटका हुआ है। मुझे इसका कारण समझ में नहीं आता। समस्या को ठीक करने के लिए मुझे क्या / कहाँ देखना चाहिए? मैं systemd v196 का उपयोग कर रहा हूं और इसे संस्करण> = 198 में अपग्रेड नहीं कर सकता क्योंकि बाद वाले को हाल ही में कर्नेल (cgroups के लिए समर्थन) की आवश्यकता होती है, जिसे ग्राहक की आवश्यकताओं के अनुसार अपडेट नहीं किया जा सकता है। मुझे आश्चर्य है कि अगर इस व्यवहार का कारण खोजने के लिए एक उचित तरीका है और सिस्टम को बिना शर्त सिस्टम को रिबूट करना है।

ध्यान दें कि यह लिंक मदद नहीं करता है: 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.

मैं सीरियल कंसोल का उपयोग कर रहा हूं, और किसी कारण से मैं लॉगिन भी कर सकता हूं, क्योंकि एथ इंटरफेस उसके ऊपर या लाया गया है (रिबूट चरणों के दौरान डिस्कनेक्ट होने के बाद)।

मैं कारण नहीं देखता।

# 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

नोट स्वैप। यह वहाँ है, लेकिन हम स्वैप विभाजन का उपयोग बिल्कुल नहीं करते हैं। मैंने स्वैप की नक़ल करने की कोशिश की, लेकिन हैंग प्रॉब्लम reamins। कंसोल में अंतिम पंक्ति है:

[OK] Stopped target shutdown.

संपादित करें: जैसा कि मैंने कहा था, मैं एथ पर 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 मैंने प्रश्न संपादित किया। अधिक informations हैं।
मार्टिन

मुझे पहले और दूसरे लॉग के बीच कोई रेखा क्यों नहीं दिखाई देती? अगर मैं देख पाऊं कि वे अलग-अलग शुरू कर सकते हैं तो मैं और अधिक मदद की पेशकश कर सकता हूं ।
बेनजीवेब

@BenjiWiebe आप सही हैं। मैं प्रश्न को फिर से संपादित करूँगा
मार्टिन

रूट के रूप में जर्नलक्ट का उपयोग करने का प्रयास करें और सिस्टम जर्नल में टाइमआउट, विफलताओं और निर्भरता दोषों की तलाश करें।
हरमिक्क

जवाबों:


5

मैं एक समाधान का सुझाव देने के लिए उद्यम करता हूं: जोड़ने का प्रयास करें

  Before=basic.target

/usr/lib/systemd/system/dbus.service पर

मैं एक विषमता से मारा गया हूं, आपके लॉग में, जो मुझे एक दुर्घटना के बारे में याद दिलाता है जो मैंने कुछ समय पहले आर्क लिनक्स मंचों में पढ़ा था : यह सिस्टम रिबूट पर लटका होगा। हल को ऊपर की तरफ इस आधार पर पेश किया गया था कि हैंग होने के बाद डी-बस से बात करने की कोशिश करने वाली किसी सेवा के कारण यह लटका हुआ होगा:

इसलिए इसे मूल टारगेट से पहले ऑर्डर करने से यह न केवल मूल लक्ष्य तक पहुंचने से पहले शुरू होता है, बल्कि यह भी सुनिश्चित करता है कि शटडाउन के दौरान जब तक मूलटार्ग को नीचे नहीं लाया जाता है, तब तक यह चारों ओर रहता है।

आपके अस्वास्थ्यकर लॉग में, हम वास्तव में देखते हैं कि बेसिक सिस्टम को रोका नहीं गया है, जबकि स्वस्थ लॉग में इसे ठीक से रोका गया है ।

क्या यह काम नहीं करना चाहिए, और यह देखते हुए कि आप अपग्रेड नहीं कर सकते हैं, क्या आपने डाउनग्रेड पर विचार किया है?


1
धन्यवाद, मैं आपके समाधान की कोशिश करूँगा। मैंने अच्छे पुराने SysV को बदलने पर विचार किया है, क्योंकि सिस्टमड डिजाइन के हिसाब से खराब लग रहा है।
मार्टिन

मुझे लगता है कि परिवर्तन लागू करने के बाद इसे बूट पर systemd से मिलता है: आदेश चक्र मिला, D- बस सिस्टम संदेश बस को छोड़ें। कोई उपाय?
मार्टिन

@Martin 1: क्या आपके पास / और / या अलग विभाजन पर usr है? 2) क्या आपके पास /etc/init.d में बहुत सारा सामान है? या /etc/rc.d में?
मारियसमाटुटिया

1
इस उबंटू 16.04 पर अच्छा काम करता है, फाइल में था /usr/lib/systemd/user/dbus.serviceके तहत [Unit]खंड
अनवर

3

shutdown.targetशटडाउन प्रक्रिया शुरू होने पर स्वचालित रूप से उन्हें रोकने के लिए, डिफ़ॉल्ट रूप से अन्य सभी इकाइयों के साथ संघर्ष। यह दूसरे तरीके से भी काम करता है - यदि कोई अन्य इकाई शुरू होती है, तो यह shutdown.targetबंद होने का कारण बनता है। समस्या तो यह है कि कुछ कारणों कुछ बंद है, जो बंद प्रक्रिया को ओवरराइड करता है के दौरान शुरू करने के लिए।

यह सिस्टमड v198 में तय किया जाना चाहिए था, जो शटडाउन कार्य को "अपूरणीय" बनाता है।


मैं अपग्रेड नहीं कर सकता :(
मार्टिन

मुझे कॉन्फ्लिट्स की खोज करनी चाहिए और उन्हें ठीक करना चाहिए
मार्टिन

1

हो सकता है कि "लक्ष्य शटडाउन" तक पहुंचने पर स्वैप अभी भी सक्रिय हो; मेरा समाधान रीबूट से पहले स्वैप को निष्क्रिय करने के लिए मजबूर करना था:

swapoff -a
swapoff /dev/md6

उसके बाद, रिबूट मेरे लिए बिना किसी रोक के ठीक हो गया।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.