Cara Install dan Manage LXC – LXC (dibaca lex-see) adalah program yang digunakan untuk membuat dan mengelola kontainer di sistem atau server. Kontainer yang dibuat berbagi kernel dengan sistem atau server utama, tetapi tetap terisolasi.
Sementara LXD (dibaca lex-dee) adalah platform atau manajer yang digunakan untuk mengelola kontainer yang dibuat oleh LXC. LXD menyediakan antarmuka yang lebih mudah untuk administrasi kontainer, termasuk fitur tambahan seperti migrasi dan snapshot.
LXD (pronounced lex-dee) is the lightervisor, or lightweight container hypervisor. LXC (lex-see) is a program which creates and administers “containers” on a local system. It also provides an API to allow higher level managers, such as LXD, to administer containers. In a sense, one could compare LXC to QEMU, while comparing LXD to libvirt.
Misalnya, jika kamu perlu menjalankan sistem operasi atau aplikasi yang membutuhkan systemd atau kernel terpisah, daripada membuat atau membeli virtual machine baru, lebih baik kamu membuat kontainer LXC dari sistem atau VM yang sudah ada. Kontainer ini memungkinkan kamu untuk menjalankan sistem operasi lengkap dengan systemd dan kernel terpisah dari host utama, tetapi lebih ringan dan efisien dibandingkan VM.
Kenapa tidak pakai Docker? Karena Docker biasanya tidak mendukung hingga level systemd dan kernel terpisah. Docker lebih fokus pada isolasi aplikasi, bukan sistem operasi lengkap, sehingga tidak cocok untuk aplikasi yang memerlukan kernel atau systemd terpisah.
Ada beberapa hal yang perlu dipersiapkan dan diperhatikan sebelum memulai instalasi LXC/LXD. Beriktu kami jelaskan hal-hal tersbut.
Seperti yang sudah Kami jelaskan sebelumnya mengenai LXC dan LXD, singkatnya LXC adalah program untuk membuat kontainer di linux dan LXD adalah program yang digunakan untuk manajemen kontainernya. Lalu pada kesempatan kali ini, Kita akan mencoba install LXC di server Ubuntu 24.04. Berikut adalah gambaran proses yang akan Kita lakukan.
Gambaran Proses Cara Install dan Manage LXC di Ubuntu 24.04
Baca Juga: Cara Menginstall Docker di Ubuntu
Sebelum menginstal aplikasi atau perangkat lunak pada server, ada beberapa langkah penting yang harus dilakukan. Pertama, update untuk memastikan daftar paket terbaru tersedia di sistem. Selanjutnya, upgrade package yang sudah terinstal ke versi termutakhir guna memperbaiki celah keamanan dan bug. Selain itu, atur zona waktu server/VPS sesuai dengan lokasi pengguna agar catatan log (log) server mudah dipantau dan tugas penjadwalan otomatis (cron) dapat berjalan sesuai waktu yang diharapkan.
sudo apt update
sudo apt upgrade -y
Atur juga timezone server dan sesuaikan dengan daerah tempat tinggal Anda. disini saya mengatur timezone server ke Asia/Jakarta.
sudo timedatectl set-timezone Asia/Jakarta
Tujuan langkah ini adalah memastikan apakah sistem/server Anda memiliki dukungan virtualisasi berbasis hardware (seperti Intel VT-x atau AMD-V). Walaupun LXC masih bisa berjalan tanpa HVM, tetapi HVM ini tetap diperlukan agar kinerja Kontainer LXC lebih optimal (nested virtualization). Tetapi HVM ini wajib aktif bila Anda ingin menjalankan LXD dalam mode “virtual machine” (VM).
Berikut adalah perintah untuk mengecek Hardware Virtualization di VPS Anda.
sudo lscpu | grep Virtualization
Jika HVM aktif, Anda akan melihat: Virtualization: VT-x atau Virtualization: AMD-V. Contoh gambar di bawah ini adalah VPS yang HVMnya aktif.

LXD adalah alat manajemen modern untuk mengelola teknologi kontainer LXC. LXD bekerja dengan menyediakan beberapa fitur manajemen kontainer seperti, antarmuka yang user-friendly, fitur snapshot, jaringan otomatis, storage otomatis, REST API, dan dukungan mesin virtual (VM). Singkatnya, LXD ini bisa membuat LXC lebih mudah digunakan dan dikelola.
Kita akan menginstall LXD menggunakan Snap sesuai rekomendasi dari Canonical (pengembang ubuntu). Keuntungan lain metode ini adalah mendapatkan LXD versi terbaru dan terisolasi dari sistem utama (sandboxing)
sudo snap install lxd
Kemudian periksa versi LXD yang terinstall.
sudo lxc --version

LXD Init adalah proses konfigurasi untuk menyiapkan lingkungan LXD dengan mengatur komponen-komponen utama. Konfigurasi tersebut diantaranya, mengatur storage pool (tempat penyimpanan kontainer/VM), network bridge (jaringan virtual untuk konektivitas), dan opsi keamanan.
sudo lxd init
Kemudian akan tampil konfigurasi lingkungan LXC seperti pengaturan clustering, storage pool, storage backend, Size Disk, Network Bridge, dan Konfigurasi IPv4 dan IPv6. Untuk lebih jelasnya lihat gambar di bawah ini.

no).awans_pool dengan backend ZFS, menggunakan loop device berukuran 5GiB.lxdbr0) dengan IPv4 otomatis dan IPv6 dinonaktifkan.no). (REST API Disable)yes).no).Kita coba cek daftar storage yang sudah dibuat.
sudo lxc storage list

Kemudian cek juga daftar network yang sudah dibuat.
lxc network list

Sekarang Kita akan coba membuat sebuah kontainer linux(LXC). Kontainer yang akan dibuat adalah Ubuntu 22.04 Jammy. Nantinya kontainer linux ini akan berjalan secara terisolasi di sistem Kita. Mempunyai network sendiri yang terhubung ke host utama, bisa di atur limit resourcenya, dan memiliki pool storage sendiri.
Perintah di bawah ini akan membuat sebuah kontainer LXC Ubuntu 22.04 dengan nama kontainer ubuntu-con.
sudo lxc launch ubuntu:22.04 ubuntu-con
Kemudian periksa kontainer yang sudah dibuat dengan menggunakan perintah di bawah ini.
sudo lxc list
Akan tampil daftar kontainer yang sudah dibuat seperti ini:

Masuk ke LXC Kontainer. Sekarang Kita akan coba untuk masuk ke dalam LXC Kontainer.
sudo lxc exec ubuntu-con bash
ubuntu-con dengan nama kontainer yang sudah kamu buat.Seperti inilah tampilanya kalau berhasil masuk ke LXC Kontainer.

Selanjutnya KIta akan bahas mengenai manage atau mengelola LXC Kontainer, Beberapa hal yang akan dibahas adalah Start, Stop, restart, delete Kontainer, Melihat Daftar Kontainer, Masuk ke Dalam Kontainer, Melihat Daftar Prebuild Image, Melihat Daftar Network, Melihat Daftar Storage Pool, dan Melihat info Kontainer.
Kita mulai dari melihat daftar image prebuilt LXC. Image prebuilt adalah base image sistem operasi (misal ubuntu, debian, centos) yang akan dijalankan sebagai kontainer.
sudo lxc image list images:

Kita juga bisa melihat daftar image prebuilt dengan lebih spesifik, misal hanya ingin melihat daftar prebuiilt ubuntu. Begini perintahnya:
sudo lxc image list images: | grep ubuntu

Selanjutnya kita coba untuk start, stop, delete, dan restart kontainer. Perintah ini penting karena sering dilakukan dalam proses mengelola LXC Kontainer.
Start LXC Kontainer
sudo lxc start <nama-kontainer>
Stop LXC Kontainer
sudo lxc stop <nama-kontainer>
Restart LXC Kontainer
sudo lxc restart <nama-kontainer>
Menghapus LXC Kontainer
sudo lxc delete <nama-kontainer>
Kemudian Kita juga bisa melihat informasi detail dari kontainer yang sudah berjalan. Informasi tersebut meliputi: tanggal dibuat, arsitektur, CPU, RAM, Bandwidth, Network, dan Disk Usage.
Melihat informasi detail kontainer.
sudo lxc info <nama-kontainer>

Selanjutnya adalah limit penggunaan resource untuk kontainer. Secara default, resource yang dimiliki oleh kontainer setelah selesai dibuat adalah sama dengan host utama. Oleh karena itu Kita perlu melimitnya, agar kontainer tidak memakan resource yang berlebihan dan membuat sistem overload.
Membatasi Penggunaan CPU.
Misalnya, untuk membatasi kontainer agar hanya menggunakan 1 core CPU:
sudo lxc config set <nama-kontainer> limits.cpu "1"
Membatasi Penggunaan RAM.
Perintah untuk membatasi penggunaan RAM menjadi 1 GB:
sudo lxc config set <nama-kontainer> limits.memory "1GB"
Membatasi Jumlah Proses.
Untuk membatasi jumlah proses yang bisa dijalankan oleh kontainer (misalnya maksimal 100 proses):
lxc config set <nama-kontainer> limits.processes 100
Jadi begitulah tutorial mengenai Cara Install dan Manage LXC di Ubuntu. Langkah-langkah mulai dari pemahaman dasar LXC dan LXD, persiapan instalasi, hingga proses pembuatan dan manajemen kontainer di Ubuntu/Debian. Dengan panduan instalasi mulai dari pemeriksaan HVM, pemasangan dan konfigurasi LXD, hingga pengelolaan kontainer—seperti melihat image prebuilt, mengontrol status (start, stop, restart), serta membatasi resource—anda sekarang memiliki gambaran lengkap untuk mengoptimalkan penggunaan Linux Containers di lingkungan server.
Semoga panduan ini bermanfaat, dan selamat mencoba! 🚀