Kernel Upgrade & Modules di Linux

Kernel adalah inti dari sistem operasi Linux yang mengatur komunikasi antara hardware dan software.
Selain kernel utama, Linux menggunakan kernel modules (modul kernel) yang dapat dimuat (load) atau dilepas (unload) secara dinamis untuk menambah fungsionalitas tanpa perlu reboot.

Contoh modul: driver jaringan, filesystem, device driver, dll.
Melakukan upgrade kernel sangat penting untuk mendapatkan fitur terbaru, patch keamanan, dan perbaikan bug.


⚙️ Kernel Upgrade

🔹 Mengecek Versi Kernel

uname -r

🔹 Update Kernel (Debian/Ubuntu)

  1. Update repository:

    sudo apt update && sudo apt upgrade -y
  2. Install kernel terbaru (misalnya HWE kernel):

    sudo apt install --install-recommends linux-generic-hwe-22.04
  3. Reboot dan cek kernel:

    uname -r

🔹 Update Kernel (RHEL/CentOS/Rocky)

  1. Update repository:

    sudo yum update -y
  2. Install kernel terbaru:

    sudo yum install kernel -y
  3. Reboot:

    sudo reboot

🔹 Menggunakan Kernel Custom (Advanced)

  • Bisa menggunakan mainline kernel (Ubuntu mainline PPA).
  • Bisa compile dari source jika butuh patch spesifik.

⚠️ Best practice: selalu backup dan test kernel baru di staging sebelum digunakan di production.


🛠️ Kernel Modules Management

🔹 Melihat Modul yang Aktif

lsmod

🔹 Memuat Modul

sudo modprobe modulename

🔹 Unload Modul

sudo modprobe -r modulename

🔹 Konfigurasi Modul Otomatis

File konfigurasi: /etc/modules-load.d/*.conf
Contoh isi file custom-modules.conf:

nf_conntrack
br_netfilter

🔹 Parameter Modul

Beberapa modul punya parameter yang bisa diubah.
Contoh: atur ukuran maksimum koneksi nf_conntrack:

sudo modprobe nf_conntrack hashsize=262144

Atur permanen di /etc/modprobe.d/custom.conf:

options nf_conntrack hashsize=262144

🚀 Best Practices Kernel & Modules

  1. Kernel Upgrade

    • Selalu gunakan kernel LTS (Long Term Support) untuk server production.
    • Uji kernel baru di staging environment sebelum di deploy ke production.
    • Simpan kernel lama agar bisa rollback jika kernel baru bermasalah (jangan hapus langsung).
    • Gunakan grub untuk memilih kernel saat boot.
    • Pastikan kompatibilitas driver dan modul sebelum upgrade.
  2. Kernel Modules

    • Muat hanya modul yang diperlukan untuk keamanan (minimalkan attack surface).
    • Gunakan /etc/modules-load.d/ untuk modul permanen.
    • Dokumentasikan parameter yang diubah di /etc/modprobe.d/.
    • Monitor modul dengan lsmod dan dmesg untuk troubleshooting.
    • Gunakan modinfo modulename untuk cek informasi modul (versi, parameter, author).
  3. Operational

    • Gunakan livepatch (Canonical Livepatch / kpatch) jika ingin update security kernel tanpa reboot.
    • Monitor log kernel di /var/log/kern.log atau journalctl -k.
    • Pastikan backup & snapshot VM sebelum upgrade kernel di environment virtualization.

📌 Kesimpulan

  • Kernel adalah inti Linux, upgrade kernel penting untuk keamanan dan performa.
  • Kernel modules memberikan fleksibilitas dengan memuat driver atau fitur sesuai kebutuhan.
  • Best practice: gunakan kernel LTS, selalu test sebelum production, muat modul minimal yang dibutuhkan, dan gunakan livepatch jika uptime kritikal.