Episode ini membedah penyimpanan LXC: backend dir, btrfs, ZFS, LVM, dan loop beserta lxc-create --bdev/--fstype; lalu pengelolaan image via template download, kloning dengan lxc-copy, dan snapshot dengan lxc-snapshot.

Di episode 7 container kalian sudah dibatasi resource-nya. Sekarang pertanyaan berikutnya: di mana container tinggal? Di episode 8 kita membedah storage LXC — dari backend yang menentukan bagaimana rootfs disimpan, hingga image yang menjadi sumber container baru. Keputusan backend di sini menentukan kecepatan, penggunaan disk, dan seberapa efisien snapshot kalian nanti (episode 9).
LXC mendukung beberapa backend untuk menyimpan rootfs container. Masing-masing punya filosofi berbeda:
Backend paling sederhana dan default: rootfs hanyalah direktori biasa di /var/lib/lxc/<nama>/rootfs. Mudah dibackup (tinggal cp -a), tapi tidak mendukung snapshot native — setiap snapshot adalah salinan penuh.
grep lxc.rootfs.path /var/lib/lxc/c1/configOutput dir:/var/lib/lxc/c1/rootfs menandakan backend dir.
Kedua filesystem ini punya snapshot bawaan yang hampir instan dan hemat disk (copy-on-write). Jika rootfs LXC berada di volume btrfs/zfs, lxc-snapshot memakai mekanisme native-nya — snapshot jadi murah, cepat, dan bisa nested. Ini pilihan terbaik untuk homelab dan production dengan snapshot intensif.
Dengan LVM, setiap container adalah logical volume tersendiri. Snapshot LVM juga native, tapi biasanya single (tidak nested) dan memerlukan manajemen volume yang hati-hati. Cocok untuk lingkungan yang sudah memakai LVM sebagai standar storage.
Backend loop memakai file image disk yang di-loop-mount sebagai filesystem. Fleksibel untuk eksperimen dan portabilitas, tapi performanya lebih rendah dan snapshot bergantung pada filesystem di dalamnya.
Backend dipilih lewat --bdev dan filesystem lewat --fstype:
lxc-create -n c2 -B dir -t download -- -d debian -r bookworm -a amd64lxc-create -n c3 -B btrfs -t download -- -d ubuntu -r 24.04 -a amd64-B bdev / --bdev <type> — pilih backend (dir, btrfs, zfs, lvm, loop).--fstype <fs> — filesystem di dalamnya (misal ext4 untuk loop/LVM, btrfs untuk backend btrfs).Tip
Backend tidak bisa diubah seenaknya setelah container dibuat. Sebelum memutuskan, jawab dulu: seberapa sering kalian akan snapshot (btrfs/zfs), apakah storage sudah distandarkan LVM, atau cukup simpel dan portabel (dir). Keputusan ini murah sekarang, mahal jika diubah nanti.
Template download mengambil image dari image server resmi linuxcontainers.org. Image ini bisa dilihat seperti "base image" — rootfs minimal yang siap di-custom. Cara paling fleksibel untuk memilih:
lxc-create -n placeholder -t download -- --listImage yang dipilih bisa di-release tertentu (misal Ubuntu 24.04, Debian bookworm) dan arsitektur (amd64, arm64).
lxc-copy membuat container baru dari container yang sudah ada — mirip menyalin template. Ini lebih cepat daripada mengunduh ulang image. Contoh dasar:
lxc-copy -n c1 -N c4Perbedaan antara full copy dan snapshot clone akan kita bedah di episode 9.
lxc-snapshot menyimpan keadaan container pada satu titik waktu, sehingga kalian bisa kembali (rollback) jika ada yang rusak:
lxc-snapshot -n c1Dengan backend dir, snapshot ini berupa salinan penuh; dengan btrfs/zfs, ia memakai snapshot native yang hampir instan.
Note
Konsep penting: image adalah sumber untuk membuat container baru, sedangkan snapshot adalah rekaman keadaan container yang sudah ada. Image dipakai ke depan (scale out), snapshot dipakai ke belakang (rollback). Episode 9 akan mengupas snapshot dan clone secara khusus.
Pantau berapa besar storage yang dipakai tiap container:
du -sh /var/lib/lxc/*/rootfsJika memakai ZFS, gunakan zfs list -t all untuk melihat volume dan snapshot-nya:
zfs list -t all | grep -E "lxc|containers"Inti yang harus dibawa pulang:
dir (sederhana), btrfs/zfs (snapshot native), LVM (volume-based), dan loop (file image).lxc-create -B <bdev> --fstype <fs> menentukan bagaimana rootfs disimpan.download mengambil image dari image server resmi.lxc-copy membuat container baru dari yang ada; lxc-snapshot merekam keadaan untuk rollback.Di episode 9 selanjutnya kita akan fokus pada snapshot & clone — lxc-snapshot -n c1 -L untuk daftar snapshot, lxc-copy -n c1 -N c2 untuk full copy, dan -s untuk snapshot clone yang hemat disk. Ini keterampilan paling berharga untuk operasional homelab dan production.