কেন লিনাক্স kdump / var / ক্র্যাশে লেখছে না?


10

আবার হয়েছে! আমার 4 টি সার্ভার রয়েছে যা পর্যায়ক্রমে ক্রাশ হচ্ছে এবং সিস্টেম লগগুলিতে বা সিরিয়াল কনসোলে মুদ্রিত কোনও তথ্য নেই।

তদ্ব্যতীত , লিনাক্স kdump পরিষেবাটি ডিফল্ট অবস্থানে কোর ডাম্পগুলি লিখছে না /var/crash

  • আপনি আমাকে বুঝতে সাহায্য করতে পারেন কেন?
  • আমার রুট ফাইল সিস্টেমটি একটি এলভিএম ভলিউম কিনা তা বিবেচনা করে?

এখানে আমি চেষ্টা করেছি।

  1. আমার সিস্টেমটি সর্বশেষতম কার্নেল সহ বৈজ্ঞানিক লিনাক্স 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)
    
  2. ফাইলটি /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
    
  3. আমি নিশ্চিত করছি যে 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 ~]# 
    
  4. তারপরে, আমি আরএইচইল 6 ডিপ্লোয়মেন্ট গাইড থেকে ধার করা এই কমান্ডগুলি ব্যবহার করে একটি কার্নেল ক্রাশকে বাধ্য করি : অধ্যায় 29. কেডাম্প ক্র্যাশ রিকভারি সার্ভিস :

    তারপরে শেল প্রম্পটে নিম্নলিখিত কমান্ডগুলি টাইপ করুন:

    echo 1 > /proc/sys/kernel/sysrq
    echo c > /proc/sysrq-trigger
    

    এটি লিনাক্স কার্নেলকে ক্রাশ করতে বাধ্য করবে

  5. সিস্টেমটি ক্র্যাশ হয়ে গেছে। আমি আমার সিরিয়াল কনসোলটিতে অগ্রগতি দেখতে পারি। আমি বার্তাটি দেখতে পাচ্ছি 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
    
  6. এবং তারপরে সিস্টেমটি পুনরায় বুট হয় (যা পূর্বনির্ধারিত)।

  7. সিস্টেমটি যখন অনলাইনে ফিরে আসে তখন কিছুই থাকে না /var/crash। আমি ধরে নিয়েছি যে ক্র্যাশ ডাম্প লেখা হয়নি।

    [root@host1 ~]# ls -lA /var/crash/
    total 0
    [root@host1 ~]#
    
  8. আমি জানি যে ক্র্যাশ ডাম্পগুলি সাধারণভাবে কাজ করতে পারে। যদি আমি kdumpনিম্নলিখিত কনফিগারেশনের সাহায্যে কোর ডাম্পটি অন্য সিস্টেমে অনুলিপি করতে বলি , কেডিম্প্প সফলভাবে অন্য হোস্টে কোর ডাম্পটি লিখে ফেলবে:

    path vmcore
    ssh user@hostb.example.org
    sshkey /root/.ssh/kdump_id_rsa
    
  9. যদি আমি সেট 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 #
    
  10. তবে এখন আমি আটকা পড়েছি।


সার্ভারটির মেক / মডেল কী?
ইয়েওয়াইট

এটি একটি এক্স 9 ডিআরডাব্লু 4 মাদারবোর্ড এবং সর্বশেষতম বায়োস সহ একটি সুপার মাইক্রো।
স্টিফান লাসিউইস্কি

হতাশাজনক। আমি নতুন এইচএইচএল 6 কার্নেলের সাথে এইচপি প্রোলিয়েন্টসে একই ধরণের ক্র্যাশ করছি । আমি ভাবছি এটি কোনও গভীর বিষয় কিনা।
ew white

আমার কাছে এটি কিছুটা বাগের মতো দেখাচ্ছে। তবে আউটপুটটি কেমন হওয়া উচিত তা আমার মনে নেই।
স্টিফান লাসিউইস্কি

1
ওহে. আপনি কি এই সমস্যাটি সমাধান করেছেন? আমি খুব একই সমস্যা সম্মুখীন।
চুল-ওওং ইয়াং

উত্তর:


5

গেমটি থেকে একটু দেরি হলেও ভবিষ্যতের জন্য যদি আপনাকে কেডিম্প্প কনফিগার করতে হয়:

আমি মনে করি পাথ নির্দেশিকা নির্ধারিত পার্টিশন বা ফাইল সিস্টেম থেকে একটি পথ নির্ধারণ করে। ডিফল্টরূপে এটি মূল Fs। / Var এর জন্য fstab- এ আপনার পৃথক পার্টিশন থাকলে আপনার সিস্টেমটি সাধারণত বুট করার সময় ক্র্যাশ ডিরেক্টরিটি অচল হয়ে যায়। উদাহরণস্বরূপ, আপনি যদি সাধারণভাবে বুট করেন এবং আনআম্ট / ভার না করে থাকেন তবে ক্র্যাশ / [ইউনিককোরডির] দেখতে পাবেন। আপনি কেডিম্প.কোনফ-এ একটি "ext4 / PATH / TO / DEVICE" নির্দেশ যুক্ত করে এটিকে সামঞ্জস্য করতে পারেন। এছাড়াও আপনি একটি পৃথক পথ ব্যবহার করতে পারেন যা মাউন্ট করা হবে না।

কেবল একটি অনুমান তবে বেশিরভাগ ভিএমকোর / ভারের নিচে পুঁতে থাকতে পারে।


2

আপনার কেডাম্প আরআরআরটি / বুট / এ চূড়ান্তভাবে টানুন যার চূড়ান্ত পথে এটি ফেলে দেওয়ার চেষ্টা করছে see

  • আমার মনে হয় "পথ" বিকল্পটি কিছুটা অদ্ভুত, আমি সম্ভবত এটি ডিফল্টে রেখে দিয়েছিলাম বা স্পষ্টভাবে এটি / var / ক্র্যাশে সেট করতাম

  • আপনার কাছে কি কোনও ধরণের ওয়াচডগ মেশিনটি রিবুট করছে? এটি মেশিনটি চালু হওয়ার আগে রিবুট করার মাধ্যমে তৈরি হওয়া কোরকে আটকাতে পারে।


আমি আরআরআরডিটি পরীক্ষা করে দেখব যা আমি খুঁজে পাই। path# 2 এ বিকল্পটি ডিফল্ট পাথ ( /var/crash)।
স্টিফান লাসিউইস্কি

না, আমার কাছে মেশিনটি রিবুট করার জন্য একটি ওয়াচডগ নেই। দেখা যাচ্ছে যে LSI নিয়ন্ত্রক + স্যামসুং এসএসডিগুলি পর্যায়ক্রমে হিমশীতল কারণে যে কারণে আমরা সম্পূর্ণ বুঝতে পারি না।
স্টিফান লাসিউস্কি

আপনি কি কোনও প্রতিক্রিয়া পেয়েছেন, কারণ এটি বেশ উন্মাদ, সম্ভবত ভোল্টেজ খুব কম রেখে পাওয়ার ড্রয়ের সমস্যা হয়েছে?
কোনও ব্যবহারকারীর নাম নেই
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.