LXC (Linux Containers) adalah teknologi containerization yang memungkinkan isolasi aplikasi atau sistem operasi dalam lingkungan terpisah (container) di dalam kernel Linux yang sama. LXC adalah salah satu implementasi awal container berbasis sistem operasi, dan menjadi dasar untuk banyak teknologi modern seperti Docker.
Fitur Utama LXC
Isolasi Sistem Operasi
- Setiap container memiliki lingkungan tersendiri, termasuk file sistem, jaringan, dan proses.
- Semua container berbagi kernel Linux dengan host.
Ringan
Fleksibilitas
Kompatibilitas
Komponen Utama LXC
Kernel Features
LXC memanfaatkan fitur kernel Linux untuk isolasi dan manajemen container, termasuk:
- Namespaces: Mengisolasi berbagai aspek sistem seperti PID, mount points, dan jaringan.
- Control Groups (cgroups): Membatasi penggunaan sumber daya seperti CPU, memori, dan I/O.
- Chroot: Membatasi akses container hanya ke direktori tertentu.
Tools dan Libraries
LXC tools: Perintah untuk membuat dan mengelola container, seperti lxc-create
, lxc-start
, dan lxc-stop
.
Liblxc: Library untuk memprogram LXC dalam aplikasi.
Config Files
Kelebihan LXC
Efisiensi Sumber Daya
- Karena berbagi kernel host, LXC lebih ringan dibanding mesin virtual.
Kontrol Lebih Besar
Stabilitas dan Keamanan
Mendukung Sistem Operasi Lengkap
Kekurangan LXC
Kurang Ramah Pengguna
- Dibandingkan Docker, LXC membutuhkan lebih banyak konfigurasi manual.
Kurangnya Ekosistem
Kompleksitas dalam Orkestrasi
Instalasi LXC
1. Persyaratan
2. Langkah Instalasi
Jalankan perintah berikut di distribusi Linux berbasis Debian/Ubuntu:
sudo apt update
sudo apt install lxc lxc-templates
3. Membuat Container
Buat container dengan template default:
sudo lxc-create -t download -n mycontainer
4. Menjalankan Container
Mulai container:
sudo lxc-start -n mycontainer -d
5. Akses Container
Masuk ke shell container:
sudo lxc-attach -n mycontainer
6. Menghentikan Container
Stop container:
sudo lxc-stop -n mycontainer
Kasus Penggunaan LXC
Hosting Aplikasi Legacy
Menjalankan aplikasi lama tanpa memerlukan virtualisasi penuh.
Pengembangan dan Pengujian
Membuat lingkungan yang menyerupai produksi.
Virtualisasi Sumber Daya
Membagi sumber daya fisik di antara beberapa pengguna.