المقدمة
يوضح هذا المستند كيفية أستكشاف أخطاء إعادة تشغيل VM (مجموعة سياسات Cisco) وإصلاحها بسبب تعطل نواة نظام التشغيل CentOS.
المشكلة
يتم تشغيل كل جهاز CPS VMs (qns،lb،pcrfClient وما إلى ذلك) استنادا إلى CentOS. يمكن إعادة تشغيل الجهاز الظاهري هذا نظرا لحدوث مشكلة على جانب CentOS بدلا من حدوث مشكلة في جانب تطبيق CPS. إذا حدثت عملية إعادة تمهيد بسبب مشكلة في kernel الخاص بنظام التشغيل CentOS، فلا يمكن العثور على السبب الجذري حتى إذا تم التحقيق في CPS capture_env. لا تحتوي سجلات capture_env على أي سجلات أخطاء من VM الذي تمت إعادة تشغيله أثناء إعادة التشغيل. وفي مثل هذه الحالات، يمكن إستخدام السجلات الموجودة تحت /var/crash للتحقيق.
الحل
يمكن ل CentOS إنشاء تفريغ عطل kernel عند حدوث مشكلة مع kernel. بشكل افتراضي، يتم تكوين CPS لجمع عمليات إلغاء عطل kernel لجميع الأجهزة الافتراضية.
يمكن التحقق من الحالة باستخدام هذا الأمر.
[root@dc1-qns01 ~]# systemctl status kdump.service
● kdump.service - Crash recovery kernel arming
Loaded: loaded (/usr/lib/systemd/system/kdump.service; enabled; vendor preset: enabled)
Active: active (exited) since Tue 2023-01-10 07:29:35 UTC; 4 months 4 days ago
Main PID: 1023 (code=exited, status=0/SUCCESS)
Tasks: 0 (limit: 75300)
Memory: 0
CGroup: /system.slice/kdump.service
في حالة حدوث عطل في kernel مع تمكين kdump.service، يتم إنشاء دليل يحمل الاسم "address-yyy-mm-dd-hh:mm:ss" تحت /var/عطل. يقوم CentOS بإنشاء ملفين تحت هذا الدليل.
[root@dc1-lb02 127.0.0.1-2022-10-18-06:18:41]# pwd
/var/crash/127.0.0.1-2022-10-18-06:18:41
[root@dc1-lb02 127.0.0.1-2022-10-18-06:18:41]# ls -rtl
total 161436
-rw-r--r-- 1 root root 89787 Oct 18 2022 vmcore-dmesg.txt
-rw------- 1 root root 165215218 Oct 18 2022 vmcore
- vMCORE:
ملف يقوم بتخزين محتويات ذاكرة kernel كملف ثنائي. يتطلب التحليل أدوات مثل kernel-debuginfo والتعطل.
- vmcore-dmesg.txt:
ملف نص dmesg عند حدوث عطل.
على سبيل المثال، في السجل الموجود على جانب CPS، يتم تسجيل الأخطاء قبل أن يتم تأكيد إعادة التشغيل مباشرة من السجلات الموجودة من الجهاز الظاهري الذي تمت إعادة تشغيله. نتيجة تحليل من جانب VMWare، تم إجراء إعادة التشغيل باستخدام سجل الأخطاء هذا الذي قد ينتج عن نظام التشغيل الضيف.
The CPU has been disabled by the guest operating system. Power off or reset the virtual machine.
تحقق من /var/عطل VM الذي تم إعادة تشغيله، إذا كان هناك دليل يتوافق مع وقت إعادة التشغيل. تبين أن إعادة التشغيل كانت بسبب مشكلة في kernel على جانب CentOS، وتمكنا من إجراء المزيد من التحقيقات.