💽 Disk Partitioning di Linux (fdisk, parted, LVM)

Disk Partitioning adalah proses membagi hard disk menjadi beberapa bagian (partisi) agar dapat digunakan oleh sistem operasi.
Di Linux, ada beberapa tools populer:

  • fdisk → untuk manajemen partisi MBR.
  • parted → untuk manajemen partisi GPT/MBR, mendukung disk >2TB.
  • LVM (Logical Volume Manager) → untuk manajemen storage yang lebih fleksibel (resize, extend, snapshot).

🔹 fdisk

Penjelasan

fdisk digunakan untuk membuat, menghapus, dan mengelola partisi pada disk bertipe MBR.

Contoh Operasional

# Melihat disk yang ada
sudo fdisk -l

# Membuka disk sdb
sudo fdisk /dev/sdb

Perintah interaktif di dalam fdisk:

  • n : membuat partisi baru
  • d : menghapus partisi
  • p : menampilkan tabel partisi
  • w : menyimpan perubahan

🔹 parted

Penjelasan

parted mendukung disk besar (>2TB) dan tabel partisi GPT.

Contoh Operasional

# Memulai parted
sudo parted /dev/sdb

# Membuat tabel partisi GPT baru
mklabel gpt

# Membuat partisi 100GB
mkpart primary ext4 0% 100GB

# Melihat layout disk
print

🔹 LVM (Logical Volume Manager)

Penjelasan

LVM memungkinkan fleksibilitas manajemen storage, misalnya menambah disk baru, resize volume, dan snapshot tanpa downtime signifikan.

Komponen LVM

  • PV (Physical Volume) → disk/partisi yang dimasukkan ke LVM.
  • VG (Volume Group) → kumpulan PV.
  • LV (Logical Volume) → partisi logis yang digunakan OS.

🔹 Skenario Operasional & Best Practice

1. Menambah Disk Baru (sdb 100GB + sdc 50GB = 150GB)

# Membuat PV dari disk baru
sudo pvcreate /dev/sdb /dev/sdc

# Membuat VG (jika belum ada)
sudo vgcreate vg_data /dev/sdb /dev/sdc

# Membuat LV 150GB
sudo lvcreate -L 150G -n lv_data vg_data

# Format LV dengan ext4
sudo mkfs.ext4 /dev/vg_data/lv_data

# Mount ke direktori
sudo mkdir /data
sudo mount /dev/vg_data/lv_data /data

➡️ Best Practice: gunakan LVM agar penambahan disk tidak mengganggu operasional service.


2. Extend Storage dengan Disk Baru (tanpa downtime)

Misal: awalnya /dev/sdb 100GB sudah menjadi LVM, lalu tambahkan /dev/sdc 50GB → total 150GB.

# Tambahkan PV baru
sudo pvcreate /dev/sdc

# Extend VG
sudo vgextend vg_data /dev/sdc

# Extend LV agar memanfaatkan sdc
sudo lvextend -l +100%FREE /dev/vg_data/lv_data

# Resize filesystem online (ext4/xfs)
sudo resize2fs /dev/vg_data/lv_data
# atau untuk XFS
sudo xfs_growfs /data

➡️ Best Practice: gunakan filesystem yang mendukung online-resize seperti XFS untuk server production.


3. Resize Disk Fisik (misal: /dev/sdb dari 100GB → 150GB)

Jika disk diperbesar dari sisi hypervisor (VMware/Proxmox/Cloud):

# Scan ulang disk
echo 1 | sudo tee /sys/class/block/sdb/device/rescan

# Periksa perubahan ukuran
lsblk

# Extend PV
sudo pvresize /dev/sdb

# Extend LV
sudo lvextend -l +100%FREE /dev/vg_data/lv_data

# Resize filesystem
sudo resize2fs /dev/vg_data/lv_data
# atau untuk XFS
sudo xfs_growfs /data

➡️ Best Practice: selalu lakukan backup snapshot sebelum resize.


4. Mengecek Status LVM

sudo pvs   # lihat Physical Volumes
sudo vgs   # lihat Volume Groups
sudo lvs   # lihat Logical Volumes

✅ Best Practices

  1. Gunakan LVM untuk fleksibilitas (extend, shrink, snapshot).
  2. Untuk production, gunakan XFS karena mendukung online resize (hanya extend).
  3. Lakukan backup/snapshot sebelum resize atau operasi kritis.
  4. Selalu gunakan lsblk, df -h, pvs/vgs/lvs untuk verifikasi.
  5. Hindari resize/shrink pada disk aktif tanpa downtime kecuali dengan LVM yang mendukung online.

⚙️ Kesimpulan

  • fdisk → cocok untuk partisi sederhana.
  • parted → cocok untuk disk besar dengan GPT.
  • LVM → solusi fleksibel untuk storage di server production (extend tanpa downtime).

Dengan LVM, penambahan disk baru atau resize disk bisa dilakukan tanpa mengganggu operasional service, asalkan filesystem mendukung online-resize.