यह फिर से हुआ है! मेरे पास 4 सर्वर हैं जो समय-समय पर दुर्घटनाग्रस्त हो रहे हैं, और सिस्टम लॉग या सीरियल कंसोल पर कोई सूचना मुद्रित नहीं है।
इसके अलावा, Linux kdump सेवा डिफ़ॉल्ट स्थान पर कोर डंप नहीं लिख रही है /var/crash
।
- क्या आप मुझे यह पता लगाने में मदद कर सकते हैं कि क्यों?
- क्या इससे कोई फर्क नहीं पड़ता कि मेरा रूट फाइल सिस्टम LVM वॉल्यूम है?
यहाँ मैंने कोशिश की है।
मेरा सिस्टम नवीनतम कर्नेल के साथ वैज्ञानिक लिनक्स 6.5 है।
[root@host1 ~]# uname -r 2.6.32-431.11.2.el6.x86_64 [root@host1 ~]# cat /etc/issue Scientific Linux release 6.5 (Carbon)
फ़ाइल
/etc/kdump.conf
वेनिला फ़ाइल है जिसमें डिफ़ॉल्ट सेटिंग्स हैं। अधिकांश लाइनों पर टिप्पणी की जाती है, के लिए केवल दो सक्रिय लाइनें हैंpath
औरcore_collector
।#net my.server.com:/export/tmp #net user@my.server.com path /var/crash core_collector makedumpfile -c --message-level 1 -d 31 #core_collector scp
मैं यह सुनिश्चित करता हूं कि
kdump
सेवा चल रही है, औरkdump
मुझे अपने पुनर्निर्माण की आवश्यकता नहीं हैinitrd
।[root@host1 ~]# chkconfig --list kdump kdump 0:off 1:off 2:off 3:on 4:on 5:on 6:off [root@host1 ~]# /etc/init.d/kdump restart Stopping kdump: [ OK ] Starting kdump: [ OK ] [root@host1 ~]#
फिर, मैं आरएचईएल 6 तैनाती गाइड से उधार ली गई इन कमांडों का उपयोग करके एक कर्नेल क्रैश को बल देता हूं : अध्याय 29। kdump क्रैश रिकवरी सेवा :
फिर शेल प्रॉम्प्ट पर निम्न कमांड टाइप करें:
echo 1 > /proc/sys/kernel/sysrq echo c > /proc/sysrq-trigger
यह लिनक्स कर्नेल को क्रैश करने के लिए मजबूर करेगा
सिस्टम क्रैश हो गया। मैं अपने सीरियल कंसोल पर प्रगति देख सकता हूं। मैं संदेश देखता हूं
Saving to the local filesystem UUID=e7abcdeb-1987-4c69-a867-fabdceffghi2
, लेकिन इसके तुरंत बाद मुझे अजीब संदेश दिखाई देता हैUsage: fsck.ext4
, जो कुछ ऐसा दिखता है जो गलती से कॉल कर रहा हैfsck
बजाय इसके कि वह क्या कर रहा है। मुझे आउट-ऑफ-मेमोरी त्रुटि या किसी भी चीज का कोई उल्लेख नहीं दिखता है।host1.example.org login: SysRq : Trigger a crash BUG: unable to handle kernel NULL pointer dereference at (null) ... ... skipping 50 lines of output ... Creating block device ram8 Creating block device ram9 Creating Remain Block Devices Making device-mapper control node Scanning logical volumes Reading all physical volumes. This may take a while... No volume groups found No volume groups found Activating logical volumes No volume groups found No volume groups found Free memory/Total memory (free %): 58272 / 116616 ( 49.9691 ) Saving to the local filesystem UUID=e7abcdeb-1987-4c69-a867-fabdceffghi2 Usage: fsck.ext4 [-panyrcdfvtDFV] [-b superblock] [-B blocksize] [-I inode_buffer_blocks] [-P process_inode_size] [-l|-L bad_blocks_file] [-C fd] [-j external_journal] [-E extended-options] device Emergency help: -p Autom
और फिर सिस्टम रिबूट (जो डिफ़ॉल्ट है)।
जब सिस्टम ऑनलाइन वापस आता है, तो इसमें कुछ भी नहीं होता है
/var/crash
। मुझे लगता है कि क्रैश डंप नहीं लिखा गया था।[root@host1 ~]# ls -lA /var/crash/ total 0 [root@host1 ~]#
मुझे पता है कि दुर्घटना डंप सामान्य रूप में काम कर सकते हैं। यदि मैं
kdump
निम्नलिखित विन्यास के साथ कोर डंप को किसी अन्य सिस्टम में कॉपी करना बताता हूं , तो kdump कोर होस्ट को सफलतापूर्वक अन्य होस्ट में लिख देगा:path vmcore ssh user@hostb.example.org sshkey /root/.ssh/kdump_id_rsa
अगर मैं सेट
default shell
में/etc/kdump.conf
और initrd के पुनर्निर्माण, और फिर प्रणाली दुर्घटना फिर मैं के बारे में एक से थोड़ा अधिक सूचनात्मक त्रुटि मिलती हैmount: can't find /mnt in /etc/fstab
Free memory/Total memory (free %): 58272 / 116616 ( 49.9691 ) Saving to the local filesystem UUID=e720481b-1987-4c69-a867-f2b4cba3b312 Usage: fsck.ext4 [-panyrcdfvtDFV] [-b superblock] [-B blocksize] [-I inode_buffer_blocks] [-P process_inode_size] [-l|-L bad_blocks_file] [-C fd] [-j external_journal] [-E extended-options] device Emergency help: -p Automatic repair (no questions) -n Make no changes to the filesystem -y Assume "yes" to all questions -c Check for bad blocks and add them to the badblock list -f Force checking even if filesystem is marked clean -v Be verbose -b superblock Use alternative superblock -B blocksize Force blocksize when looking for superblock -j external_journal Set location of the external journal -l bad_blocks_file Add to badblocks list -L bad_blocks_file Set badblocks list mount: can't find /mnt in /etc/fstab dropping to initramfs shell exiting this shell will reboot your system /sys/block #
लेकिन अब, मैं फंस गया हूं।