TMR 31 : Adinusa Linux System Administration - Modul 10

>    Logical Volume Management (LVM) di Linux

-    Learning Objectives

Di akhir pembahasan ini, kamu akan bisa:

  • Menjelaskan konsep dasar LVM
  • Membuat Logical Volume (LV)
  • Menampilkan informasi LV
  • Melakukan resize pada LV
  • Menggunakan snapshot LVM



>    Konsep Lanjut Logical Volume Management (LVM)


-    Apa Itu LVM?

Logical Volume Management (LVM) memungkinkan kamu membagi dan mengelola satu atau lebih partisi fisik menjadi beberapa volume logis (logical volumes) — seperti partisi virtual yang lebih fleksibel dan mudah dikelola.


-    Bagaimana LVM Bekerja?

LVM bekerja dalam 3 tingkat:

  1. Physical Volume (PV)
    Disk/partisi nyata yang menjadi sumber penyimpanan.

  2. Volume Group (VG)
    Gabungan satu atau lebih PV menjadi satu "kolam" penyimpanan.

  3. Logical Volume (LV)
    Potongan dari VG yang bisa diformat menjadi filesystem dan di-mount seperti partisi biasa.


-    Kelebihan Menggunakan LVM

Resize Mudah:
Kamu bisa dengan cepat memperbesar atau memperkecil partisi logis sesuai kebutuhan tanpa format ulang.

Penyimpanan Fleksibel:
Volume logis bisa dibuat dari kombinasi beberapa disk atau partisi.

Scalability:
Menambahkan disk ke sistem tanpa downtime. Tambahkan ke VG → alokasikan ke LV.

Snapshot:
Lakukan backup instan pada suatu keadaan file system.


-    LVM vs RAID

LVM bisa digunakan di atas RAID untuk menggabungkan keunggulan redundansi RAID dan fleksibilitas LVM.
Namun, LVM sendiri tidak memberikan redundansi data — itu tugas RAID.



>    Mengenal Volumes dan Volume Groups di LVM


-    Struktur LVM: Dari Partisi ke Volume

LVM bekerja dengan mengubah partisi biasa menjadi physical volumes (PV). Kemudian, beberapa PV digabung menjadi volume group (VG).

Sistem bisa memiliki lebih dari satu VG, tergantung kebutuhan penyimpanan.


-    Extents: Satuan Dasar Ruang

Ruang dalam volume group dibagi menjadi unit kecil bernama extents.

  • Default: 4 MB per extent

  • Bisa diubah saat pembuatan VG

  • Saat kamu membuat logical volume, kamu bisa tentukan ukurannya berdasarkan jumlah extents atau dalam ukuran seperti 5G, 10G, dll.



-    Membuat Logical Volume (LV)

Logical volumes diambil dari volume group:

  • Bisa ditentukan berdasarkan ukuran atau jumlah extents.

  • Filesystem seperti ext4 atau xfs dibuat di atas logical volume.

  • Logical volume bisa dinamai apa saja (misalnya: data1, backup, lv_docs, dll).

Contoh:

sudo lvcreate -L 10G -n lv_data vg_group


-    Perintah untuk Volume Groups (VG)

Gunakan utilitas CLI yang dimulai dengan vg:

  • vgcreate → Membuat volume group

  • vgextend → Menambahkan physical volume ke VG

  • vgreduce → Menghapus physical volume dari VG


-    Perintah untuk Physical Volume (PV)

Gunakan utilitas yang dimulai dengan pv:

  • pvcreate → Konversi partisi menjadi physical volume

  • pvdisplay → Tampilkan detail physical volume

  • pvmove → Pindahkan data dari satu PV ke PV lain (berguna saat mengganti disk)

  • pvremove → Hapus PV dari sistem



>    Logical Volume Utilities di LVM


-    Lokasi Utilitas LVM

Semua utilitas yang digunakan untuk mengelola Logical Volume diawali dengan lv dan terletak di:


/sbin/


Kenapa di /sbin? Karena utilitas ini mungkin dibutuhkan saat booting, recovery, atau perbaikan sistem, dan /usr mungkin belum tersedia saat itu.


-    Contoh Daftar Utilitas LV

Kamu bisa melihat semua utilitas LVM terkait logical volume dengan perintah:


ls -lF /sbin/lv*


Beberapa utilitas umum antara lain:

  • lvcreate – Membuat logical volume baru

  • lvremove – Menghapus logical volume

  • lvextend – Memperbesar logical volume

  • lvreduce – Mengecilkan logical volume

  • lvdisplay – Menampilkan informasi tentang logical volume

  • lvresize – Mengubah ukuran logical volume (perpaduan extend dan reduce)

  • lvs – Tampilan ringkas logical volume


-    Semua Mengarah ke lvm

Sebagian besar perintah ini sebenarnya hanya symlink (alias) dari program utama lvm.

Artinya, ketika kamu menjalankan lvcreate, yang sebenarnya berjalan adalah:


lvm lvcreate


Hal ini juga berlaku untuk utilitas pv* dan vg*.

Dengan cara ini, program lvm menjadi semacam "Swiss Army Knife" yang bisa melakukan berbagai fungsi tergantung dengan nama yang dipanggil.



>    Membuat Logical Volumes di LVM


-    Langkah-langkah Membuat Logical Volumes

  1. Buat Partisi pada Disk
    Gunakan fdisk untuk membuat partisi dengan tipe 8e (Linux LVM).

  2. Buat Physical Volume
    Gunakan perintah pvcreate untuk mengonversi partisi menjadi physical volume (PV).

  3. Buat Volume Group
    Gunakan vgcreate untuk membuat volume group (VG) yang menggabungkan physical volumes.

  4. Alokasikan Logical Volume
    Dengan lvcreate, kita dapat mengalokasikan logical volume (LV) dari volume group yang telah dibuat.

  5. Format Logical Volume
    Gunakan perintah mkfs untuk memformat logical volume dengan sistem berkas seperti ext4.

  6. Mount Logical Volume
    Buat direktori untuk mount point, kemudian mount logical volume ke direktori tersebut. Jangan lupa untuk memperbarui /etc/fstab agar mount ini tetap ada saat reboot.


-    Contoh Proses Pembuatan Logical Volume

Misalnya kamu sudah membuat partisi /dev/sdb1 dan /dev/sdc1 dengan tipe 8e. Berikut langkah-langkah untuk membuat logical volume:

  1. Buat physical volumes dari partisi:

    sudo pvcreate /dev/sdb1
    sudo pvcreate /dev/sdc1
    
  2. Buat volume group dengan menggunakan kedua physical volumes:

    sudo vgcreate -s 16M vg /dev/sdb1
    
  3. Tambahkan partisi baru ke volume group:

    sudo vgextend vg /dev/sdc1
    
  4. Buat logical volume dari volume group:

    sudo lvcreate -L 50G -n mylvm vg
    
  5. Format logical volume dengan ext4:

    sudo mkfs -t ext4 /dev/vg/mylvm
    
  6. Buat mount point dan mount logical volume:

    sudo mkdir /mylvm
    sudo mount /dev/vg/mylvm /mylvm
    
  7. Jangan lupa untuk menambahkan entri ke /etc/fstab agar mount ini tetap ada saat reboot:

    /dev/vg/mylvm /mylvm ext4 defaults 1 2
    



>    Menampilkan Logical Volume dan Komponen LVM


-    Mengenal Perintah *display dalam LVM

Untuk mengecek status dan detail dari komponen Logical Volume Management (LVM), tersedia beberapa perintah penting yang bisa dijalankan langsung melalui terminal.


1.    Menampilkan Physical Volumes

Gunakan pvdisplay untuk melihat detail physical volumes.

$ pvdisplay

Menampilkan semua physical volumes yang tersedia. Jika ingin spesifik pada satu volume:

$ pvdisplay /dev/sda5


2.    Menampilkan Volume Groups

Gunakan vgdisplay untuk melihat informasi tentang volume groups.

$ vgdisplay

Atau tampilkan hanya volume group tertentu:

$ vgdisplay /dev/vg0


3.     Menampilkan Logical Volumes

Gunakan lvdisplay untuk melihat detail logical volumes:

$ lvdisplay


Untuk melihat informasi logical volume tertentu:

$ lvdisplay /dev/vg0/lvm1




>    Resize Logical Volume dengan Mudah di Linux


-    Kelebihan LVM: Resize Tanpa Ribet

Salah satu keunggulan utama dari Logical Volume Management (LVM) adalah kemudahan dalam memperbesar atau memperkecil ukuran logical volume, tanpa perlu menyentuh partisi fisik secara langsung. Kamu bisa menambahkan atau mengurangi extents dari volume group secara fleksibel — bahkan jika mereka tidak bersebelahan secara fisik di disk.


-    Proses Resize: Volume dan Filesystem

Perlu diperhatikan: resize volume dan resize filesystem adalah dua proses berbeda. Urutannya sangat penting:

  • Menambah kapasitas:

    1. Tambah ukuran volume

    2. Tambah ukuran filesystem

  • Mengurangi kapasitas:

    1. Kurangi ukuran filesystem

    2. Kurangi ukuran volume


-    Perintah lvresize


Memperbesar Volume dan Filesystem (otomatis)

$ sudo lvresize -r -L +100M /dev/vg/mylvm
  • Opsi -r akan secara otomatis memperbesar filesystem bersama dengan volume.

  • Tidak perlu unmount filesystem untuk memperbesar.


Memperkecil Volume

Catatan: Filesystem harus dalam keadaan unmounted sebelum diperkecil.

Contoh:

$ sudo umount /mylvm
$ sudo resize2fs /dev/vg/mylvm 10G
$ sudo lvresize -L 10G /dev/vg/mylvm


-    Mengurangi Volume Group

Jika kamu ingin menghapus perangkat dari volume group:


$ sudo pvmove /dev/sdc1
$ sudo vgreduce vg /dev/sdc1


Komentar