Menguasai pengelolaan penyimpanan di server Linux: manajemen disk dengan LVM, pemilihan filesystem ext4 dan XFS, mount management via fstab, serta pengaturan kuota untuk mengendalikan pemakaian disk

Setelah server bisa berkomunikasi lewat jaringan (episode 5), saatnya membahas apa yang paling kalian lindungi: data. Episode 6 ini mengajarkan pengelolaan penyimpanan di Linux — dari mengenali perangkat disk, membangun volume yang fleksibel dengan LVM, memilih filesystem yang tepat, hingga mengendalikan pemakaian dengan quota.
Mengapa topik ini penting? Karena hampir semua kegagalan sistem di data center pada akhirnya soal storage: disk penuh, filesystem korup, atau mount yang hilang saat boot. System Engineer yang menguasai storage bisa mencegah "disk 100%" yang selalu menjadi penyebab pertama down di jam sibuk — dan tahu cara mengatasinya tanpa panik.
Sebelum menyentuh apa pun, kalian harus tahu apa yang ada di server. Berbagai perintah inspeksi:
lsblk # struktur block device (paling informatif)
fdisk -l # daftar disk (perlu sudo)
lsblk -f # sertakan type filesystem & UUIDNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 60G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 59G 0 part
└─vgdata-lvroot
253:0 0 59G 0 lvm /Perhatikan tipe lvm — inilah kunci fleksibilitas yang akan kita bedah.
LVM adalah lapisan abstraksi antara disk fisik dan filesystem. Alih-alih mengikat filesystem langsung ke satu partisi, LVM memecahnya menjadi tiga komponen: Physical Volume (PV) → Volume Group (VG) → Logical Volume (LV).
| Komponen | Peran | Analogi |
|---|---|---|
| Physical Volume | Disk/partisi mentah | Gudang kosong |
| Volume Group | Pool dari banyak PV | Kawasan pergudangan |
| Logical Volume | Volume logis untuk filesystem | Gudang dengan dinding yang bisa digeser |
Keunggulan utamanya: resize fleksibel — menambah kapasitas bisa dilakukan saat sistem berjalan tanpa downtime. Inilah alasan LVM dipasang default di installer Ubuntu/RHEL modern.
Skenario: kalian punya dua disk baru (/dev/sdb, /dev/sdc) untuk data aplikasi.
sudo pvcreate /dev/sdb /dev/sdc
sudo vgcreate vgdata /dev/sdb /dev/sdc
sudo lvcreate -L 50G -n lvdata vgdata
sudo mkfs.xfs /dev/vgdata/lvdata
sudo mkdir -p /data
sudo mount /dev/vgdata/lvdata /dataDua bulan kemudian storage menipis — tambah kapasitas tanpa downtime:
sudo lvextend -L +20G /dev/vgdata/lvdata
sudo xfs_growfs /data # XFS: perluas filesystem di atas LVJangan lupa pasang di fstab agar mount permanen (prinsip sama seperti episode 3):
/dev/vgdata/lvdata /data xfs defaults,nofail 0 2Warning
Perluas LV dengan lvextend belum memperbesar filesystem — harus diikuti xfs_growfs (XFS) atau resize2fs (ext4). Kesalahan paling umum: lvdisplay menunjukkan LV besar tapi df -h tetap kecil, karena filesystem di dalamnya belum di-grow.
Dua filesystem yang paling umum di server Linux:
| Aspek | ext4 | XFS |
|---|---|---|
| Stabilitas | Sangat stabil, default Debian/Ubuntu | Sangat stabil, default RHEL/Rocky |
| Ukuran file besar | Hingga 16 TB | Hingga 8 EB |
| Pertumbuhan online | Ya (extend) | Ya (xfs_growfs, extend-only) |
| Shrink (mengecilkan) | Bisa | Tidak bisa |
| Cocok untuk | Partisi root, workload umum | File besar, database, media |
Panduan praktis: untuk root dan kebutuhan umum pakai ext4; untuk volume data besar yang jarang di-shrink pakai XFS. Jangan lupa, XFS tidak bisa dikurangi ukurannya — rencanakan ukuran dari awal atau manfaatkan LVM agar tetap fleksibel.
Quota membatasi pemakaian disk per user atau group — penting saat satu server dipakai banyak orang (home directory, shared storage). Setup singkat di ext4:
# Edit /etc/fstab: tambahkan opsi usrquota,grpquota
# /dev/vgdata/lvdata /data ext4 defaults,usrquota,grpquota 0 2
sudo mount -o remount /data
sudo quotacheck -cum /data
sudo quotaon /data
sudo edquota -u alice # set soft/hard limit interaktifAtau set lewat perintah langsung:
repquota /data # laporan pemakaian semua user
sudo setquota -u alice 5G 6G 0 0 /data # soft 5G, hard 6GSoft limit memberi peringatan (grace period), hard limit menghentikan penulisan sama sekali. Gunakan keduanya untuk mencegah satu user menghabiskan seluruh disk.
Kebiasaan yang harus jadi otomatis: memantau disk sebelum penuh.
df -h | grep -v tmpfs
du -sh /data/*
sudo iostat -x 2 3 # detail I/O per deviceDi episode 10 kita akan otomasi alerting saat disk melewati ambang batas. Untuk sekarang, tanamkan kebiasaan membaca df -h dan iostat setiap kali menangani server.
Skenario ringkas untuk diulang di VM:
# 1. Lihat disk yang tersedia
lsblk -f
# 2. Buat LV 10G dari VG yang ada
sudo lvcreate -L 10G -n lvbackup vgdata
sudo mkfs.ext4 /dev/vgdata/lvbackup
# 3. Mount permanen dengan nofail
echo "/dev/vgdata/lvbackup /backup ext4 defaults,nofail 0 2" | sudo tee -a /etc/fstab
sudo mkdir -p /backup && sudo mount -a
# 4. Verifikasi
df -h /backup
findmnt /backupxfs_growfs/resize2fs./dev/sdX di fstab — berubah antar boot; pakai UUID atau nama LV (stabil).Inti yang harus dibawa pulang:
lsblk; pahami alur PV → VG → LV di LVM.xfs_growfs/resize2fs.df -h mencegah disk penuh.Di episode 7 selanjutnya kita akan membahas virtualization & containers — KVM/Proxmox, Docker, dan container runtime — cara standar dunia modern menjalankan banyak workload di atas satu server. Sampai jumpa di episode 7!