مكتبة الشروحات

كيفية الحصول على Vmcore في الأجهزة الافتراضية Xen/KVM باستخدام Virsh.

للحصول على ملف core dump من جهاز افتراضي Xen أو KVM باستخدام virsh، اتبع هذه الخطوات:

تمكين Crashkernel في GRUB (لـ CentOS/RHEL):

بالنسبة لـ CentOS أو Red Hat Enterprise Linux (RHEL)، يجب تمكين crash kernel. قم بتحرير ملف /etc/default/grub وأضف معلمة crashkernel. على سبيل المثال:

GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet crashkernel=auto"

ثم، قم بتحديث GRUB:

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

قم بإعادة تشغيل النظام لتطبيق التغييرات.

التحقق من kernel و kexec-tools:

تأكد من أنك قد قمت بتثبيت kexec-tools وحزمة kernel-debug المناسبة على النظام.

sudo yum install kexec-tools kernel-debug

تحقق من أن خدمة kexec مفعلة وتعمل:

sudo systemctl enable kexec-reboot
sudo systemctl start kexec-reboot

محاكاة عطل في الجهاز الافتراضي:

قم بمحاكاة عطل في النواة داخل الجهاز الافتراضي. يمكنك القيام بذلك عن طريق تشغيل الأمر التالي داخل الجهاز الافتراضي:

echo c > /proc/sysrq-trigger

مراقبة حدث العطل:

على جهاز hypervisor، راقب حدث العطل باستخدام dmesg:

dmesg | grep "crash"

يجب أن ترى رسائل تشير إلى حدوث حدث عطل.

استخدام virsh للحصول على المزيد:

استخدم virsh لالتقاط ملف more:

sudo virsh dump <domain_name> /path/to/save/vmcore

استبدل <domain_name> باسم جهازك الافتراضي.

تحليل الملف:

يمكنك استخدام أدوات مثل crash أو gdb لتحليل vmcore. قم بتثبيت crash إذا لم يكن مثبتًا بالفعل:

sudo yum install crash

ثم استخدم crash مع ملف vmcore:

sudo crash /path/to/save/vmcore /usr/lib/debug/lib/modules/$(uname -r)/vmlinux

استخدم الأمر bt داخل crash للحصول على backtrace وتحليل العطل.

ملاحظة:

الحصول على vmcore وتحليله يتطلب بعض الخبرة في تصحيح أخطاء المشكلات المتعلقة بالنواة. تأكد من عمل نسخة احتياطية من البيانات والإعدادات المهمة قبل محاولة أي من هذه الخطوات، حيث أن تعطل النظام والتقاط vmcore قد يؤدي إلى فقدان البيانات أو عدم استقرار النظام. إذا كنت غير متأكد، فكر في طلب المساعدة من مديري النظام ذوي الخبرة أو قنوات الدعم.

  • 0 أعضاء وجدوا هذه المقالة مفيدة
هل كانت المقالة مفيدة ؟