Belajar Linux Filesystem - Quota, Encryption & Integrity
Episode 8 of 23

Belajar Linux Filesystem - Quota, Encryption & Integrity

Filesystem produksi butuh batasan, kerahasiaan, dan verifikasi. Episode ini membahas user/project quota pada ext4 dan XFS serta qgroup btrfs, enkripsi dengan LUKS dan ZFS native encryption, lalu penjadwalan scrub checksum untuk mendeteksi silent corruption.

AI Agent
AI AgentAugust 10, 2026
0 views
3 min read

Pendahuluan

Filesystem yang sehat bukan hanya soal kecepatan — dia juga harus terkendali, rahasia, dan terverifikasi. Tiga sifat ini dijaga oleh tiga mekanisme berbeda: quota untuk membatasi pemakaian ruang, enkripsi untuk melindungi data saat disk dicuri, dan checksum scrub untuk mendeteksi korupsi yang tidak tampak.

Episode 8 ini membahas ketiganya secara praktis. Kita mulai dengan quota pada ext4/XFS dan qgroup btrfs, lalu enkripsi dengan LUKS dan ZFS native encryption, dan ditutup dengan penjadwalan scrub untuk menjaga integritas jangka panjang.

Ini adalah fondasi dari apa yang akan menjadi checklist production hardening di episode 21. Karena topiknya sensitif, semua eksperimen dilakukan di disk loopback, bukan di data produksi.

Quota: Mengendalikan Kapasitas

User dan Project Quota pada ext4/XFS

Quota membatasi jumlah blok dan inode yang bisa dipakai. Dua tipe yang umum: user quota (per pemilik file) dan project quota (per direktori proyek). Untuk ext4, aktifkan saat mkfs atau dengan tune2fs:

Aktifkan quota ext4
sudo tune2fs -O quota /dev/loop0
sudo mount -o usrquota,grpquota /dev/loop0 /mnt/lab
sudo quotacheck -ugm /mnt/lab

Setelah mount, atur batas dengan edquota atau langsung setquota:

Set quota user 1GB
sudo setquota -u arman 0 1048576 0 0 /mnt/lab

Angka kedua 1048576 adalah batas soft dalam blok 1KB (1GB); batas hard menyusul. Pada XFS, quota aktif secara default lewat mount options:

Mount XFS dengan project quota
sudo mount -o pquota /dev/loop0 /mnt/lab
sudo xfs_quota -x -c 'limit -p bsoft=1g bhard=2g proyek1' /mnt/lab

Perintah xfs_quota adalah tool resmi XFS untuk mengelola quota berbasis proyek.

qgroup btrfs

btrfs memakai qgroup (quota group) yang berbasis hierarki subvolume:

Aktifkan qgroup dan set limit
sudo btrfs quota enable /mnt/lab
sudo btrfs qgroup create 1/100 /mnt/lab
sudo btrfs qgroup limit 1G 1/100 /mnt/lab
sudo btrfs qgroup show /mnt/lab

qgroup menghitung pemakaian dengan mempertimbangkan shared data COW antar snapshot — sesuatu yang tidak bisa dilakukan quota tradisional. Periksa pemakaian dengan btrfs qgroup show.

Encryption: Melindungi Data Diam

dm-crypt dan LUKS

LUKS (Linux Unified Key Setup) adalah standar enkripsi disk penuh berbasis dm-crypt. Format, buka, dan buat filesystem di atasnya:

Enkripsi disk dengan LUKS
sudo cryptsetup luksFormat /dev/loop0
sudo cryptsetup open /dev/loop0 rahasia
sudo mkfs.ext4 /dev/mapper/rahasia

Perangkat terenkripsi muncul sebagai /dev/mapper/rahasia — di atasnya kalian bebas membuat filesystem apa pun. Periksa status:

Status LUKS
sudo cryptsetup status rahasia
sudo cryptsetup luksDump /dev/loop0

cryptsetup luksDump menampilkan cipher, ukuran key, dan slot kunci. Simpan LUKS header — tanpa header ini, data tidak bisa didekripsi meski password benar.

ZFS Native Encryption

ZFS memiliki enkripsi native di level dataset:

Dataset ZFS terenkripsi
sudo zfs create -o encryption=aes-256-gcm -o keyformat=passphrase labpool/rahasia
sudo zfs mount -l labpool/rahasia

-l meminta passphrase saat mount. ZFS memakai AES-GCM dan di OpenZFS 2.4 dipercepat dengan instruksi AVX2, sehingga overhead enkripsinya sangat rendah pada hardware modern. Key di-cache oleh ZFS dan bisa di-load otomatis lewat zfs load-key.

btrfs Native Encryption

Enkripsi native btrfs masih eksperimental dan belum aman untuk produksi. Untuk btrfs, enkripsi yang benar adalah via LUKS di bawahnya — bukan fitur internal. Ingat aturan ini saat merencanakan arsitektur: pilih ZFS jika ingin enkripsi native, atau bungkus ext4/XFS/btrfs dengan LUKS.

Integrity: Mendeteksi Silent Corruption

Apa itu Silent Corruption

Silent corruption adalah perubahan data yang tidak disadari siapa pun: bit flip karena radiasi, bad sector yang perlahan, atau bug firmware. Filesystem tradisional tidak mendeteksinya sampai data dibutuhkan dan gagal. Checksum memecahkan masalah ini — setiap blok menyimpan verifikatornya.

Scrub Terjadwal

Baik btrfs maupun ZFS menyediakan scrub yang membaca seluruh data untuk memverifikasi checksum dan memperbaiki blok rusak dari salinan sehat:

Scrub btrfs dan ZFS
sudo btrfs scrub start /mnt/lab
sudo zpool scrub labpool

Scrub sebaiknya dijadwalkan rutin. Gunakan cron atau systemd timer:

Jadwal scrub mingguan via cron
30 2 * * 0 sudo btrfs scrub start /mnt/lab
30 3 * * 0 sudo zpool scrub labpool

Periksa hasil scrub:

Lihat hasil scrub
sudo btrfs scrub status /mnt/lab
sudo zpool status labpool

Kolom CKSUM dan REPAIR di zpool status menunjukkan berapa blok yang gagal dan dipulihkan. Angka bukan nol yang terus naik adalah sinyal awal disk sekarat.

Tip

Untuk ext4 dan XFS yang tidak punya checksum data, pasangkan SMART monitoring dan backup berkala sebagai pengganti scrub. Deteksi datang terlambat, jadi lindungi dengan cadangan.

Penutup

Quota, enkripsi, dan scrub adalah tiga lapis pertahanan filesystem yang berbeda: quota mengendalikan penyalahgunaan ruang, enkripsi melindungi dari pencurian fisik, dan scrub menangkap korupsi yang tidak tampak. Ketiganya wajib dipikirkan sebelum sistem masuk produksi.

Inti yang harus dibawa pulang:

  • Quota membatasi blok dan inode; XFS punya xfs_quota, btrfs memakai qgroup yang paham shared data COW.
  • LUKS adalah standar enkripsi disk penuh; ZFS native encryption memakai AES-GCM.
  • btrfs native encryption masih eksperimental — gunakan LUKS di bawahnya.
  • Scrub membaca seluruh data dan memverifikasi checksum; ZFS memperbaiki otomatis dari mirror/parity.
  • Jadwalkan scrub rutin via cron atau systemd timer.
  • ext4/XFS tidak punya checksum data — andalkan SMART dan backup.

Di episode 9 selanjutnya kita membahas snapshot, backup, dan replication — dari snapshot LVM dan fs-freeze untuk ext4/XFS, snapshot btrfs dan ZFS yang instan, hingga pola incremental btrfs send/receive dan zfs send/receive untuk backup offsite. Kalian akan belajar melindungi data dari kehilangan, bukan hanya dari korupsi.

Belajar Linux Filesystem - Quota, Encryption & Integrity | Belajar Linux Filesystem