Alibaba Cloud Linux 3 mendukung Unified Kernel Fault Event Framework (UKFEF) di kernel versi 5.10.60-9.al8.x86_64. UKFEF digunakan untuk mengumpulkan peristiwa pengecualian pada Alibaba Cloud Linux 3 yang dapat menyebabkan risiko, serta menghasilkan laporan peristiwa dalam format terpadu. Topik ini menjelaskan jenis peristiwa yang dikumpulkan oleh UKFEF, metode penghasilan laporan peristiwa, dan antarmuka kontrol UKFEF.
Informasi latar belakang
Sistem operasi mungkin menampilkan karakteristik tertentu atau mengirim pesan kesalahan yang dapat dikenali sebelum masalah serius terjadi. Selama operasi dan pemeliharaan (O&M), Anda dapat menggunakan informasi tersebut untuk memprediksi titik kegagalan dan mengambil tindakan pencegahan. Namun, informasi ini dihasilkan dalam berbagai format dan tersebar di berbagai modul, sehingga menimbulkan tantangan berikut saat mengumpulkan peristiwa pengecualian:
- Pengetahuan tentang sistem operasi diperlukan untuk mengurai peristiwa pengecualian dan menilai dampaknya.
- Peristiwa pengecualian ditampilkan dalam berbagai format, meningkatkan kompleksitas O&M otomatis. Proses ini melibatkan pencocokan format peristiwa pengecualian yang dikumpulkan, serta pembersihan data untuk menyaring informasi yang tidak relevan sesuai kebutuhan aktual.
Untuk mengatasi tantangan tersebut, Alibaba Cloud Linux 3 menyediakan UKFEF di lapisan kernel. UKFEF mengumpulkan informasi dari berbagai peristiwa pengecualian yang berpotensi menimbulkan risiko, menentukan tingkat keparahannya, dan menghasilkan laporan peristiwa dalam format terpadu. Laporan ini mencakup skenario terjadinya masalah serta tingkat risiko yang direkomendasikan, sehingga mempermudah identifikasi pengecualian sistem selama O&M. UKFEF juga mengklasifikasikan peristiwa pengecualian yang diketahui dan menyediakan laporan risiko sistem yang tidak tersedia di versi kernel sebelumnya.
UKFEF menghasilkan laporan berdasarkan dimensi seperti jenis, dampak, dan statistik peristiwa pengecualian, memungkinkan diagnosis pengecualian secara efisien selama O&M. Selain itu, laporan peristiwa dihasilkan menggunakan berbagai metode untuk mencegah hilangnya data.
Deskripsi Peristiwa
Tabel berikut menjelaskan jenis peristiwa dan tingkat peristiwa yang diklasifikasikan oleh UKFEF, serta metode penghasilan laporan peristiwa.
| Informasi Peristiwa | Deskripsi |
| Jenis Peristiwa | UKFEF mengumpulkan peristiwa umum berikut pada kernel sistem operasi:- soft lockup
- Read-Copy Update (RCU) stall
- hung task
- global Out of Memory (OOM)
- cgroup OOM
- page allocation failure
- list corruption
- bad mm_struct
- I/O error
- EXT4-fs error
- Machine Check Exception (MCE)
- fatal signal
- warning
- panic
|
| Tingkat Peristiwa | UKFEF mengklasifikasikan peristiwa pengecualian menjadi tiga tingkat:- Rendah: Peristiwa pengecualian tidak memengaruhi jalannya normal sistem operasi, tetapi layanan yang diterapkan di sistem operasi mungkin mengalami jitter. Anda dapat terus mengamati perubahan dalam peristiwa pengecualian.
- Normal: Peristiwa pengecualian mungkin terjadi dalam proses aplikasi saat ini. Kami merekomendasikan Anda mengambil langkah-langkah seperti
mengakhiri, me-restart, atau memigrasi proses aplikasi saat ini. - Fatal: Peristiwa pengecualian dapat menyebabkan kerusakan fatal pada sistem operasi. Kami merekomendasikan Anda segera memigrasi bisnis Anda.
|
| Laporan Peristiwa | UKFEF menghasilkan laporan peristiwa dengan menggunakan metode berikut:- Gunakan log kernel untuk menampilkan detail peristiwa tunggal. Contoh:
class Fault event[module:type]:messages. At cpu cpuid, task pid(cmdline). Total fault: cnt Detailnya mencakup parameter berikut:- class: Tingkat peristiwa pengecualian.
- module: Modul tempat peristiwa pengecualian termasuk, meliputi sched, mem, io, fs, net, dan hardware. Saat pengecualian disebabkan oleh beberapa modul, nilai parameter ini adalah general.
- type: Jenis peristiwa pengecualian.
- messages: Pesan khusus peristiwa pengecualian.
- cpuid: ID CPU tempat peristiwa pengecualian terjadi.
- pid(cmdline): pid dan cmdline dari proses yang sesuai dengan peristiwa pengecualian.
Catatan Jika nilai pid adalah -1, tidak ada proses yang sedang berjalan. - cnt: Jumlah total kejadian peristiwa pengecualian dari tipe saat ini setelah startup sistem.
- Gunakan file /proc/fault_events untuk menampilkan jumlah total kejadian peristiwa pengecualian dari semua jenis. Contoh:
Total fault events: 0
Slight: 0
Normal: 0
Fatal: 0
soft lockup: 0
rcu stall: 0
hung task: 0
global oom: 0
cgroup oom: 0
page allocation failure: 0
list corruption: 0
bad mm_struct: 0
io error: 0
ext4 fs error: 0
mce: 0
fatal signal: 0
warning: 0
panic: 0
|
Antarmuka Kontrol
| Antarmuka | Deskripsi |
/proc/sys/kernel/fault_event_enable | Menentukan apakah UKFEF diaktifkan. Nilai valid:- 1: UKFEF diaktifkan.
- 0: UKFEF dinonaktifkan.
|
/proc/sys/kernel/fault_event_print | Menentukan apakah UKFEF menghasilkan laporan peristiwa. Nilai valid:- 1: UKFEF menghasilkan laporan peristiwa.
- 0: UKFEF tidak menghasilkan laporan peristiwa.
|
/proc/sys/kernel/panic_on_fatal_event | Menentukan apakah akan memicu mekanisme Panic sistem operasi ketika peristiwa Fatal terjadi. Nilai valid:- 1: memicu mekanisme Panic.
- 0: tidak memicu mekanisme Panic.
|