Apa yang bisa kami bantu?

A. Pendahuluan

Seorang Administrator Linux Server sepertinya sudah tidak asing lagi dengan tipe volume yang sering dibahas dan digunakan yaitu LVM (Logical Volume Management) dan non LVM.  Lalu apa perbedaan dari kedua tipe tersebut?

Berikut ini merupakan perbedaan LVM dan non-LVM

  • LVM (Logical Volume Management)

1. LVM

Logical Volume Management (LVM) adalah pilihan manajemen disk hampir setiap distro Linux sertakan. Jika Anda ingin membuat media penyimpanan dalam jumlah besar atau membuat partisi yang dinamis, LVM mungkin akan menjadi solusi untuk Anda.

LVM menggabungkan hard disk atau partisi (Volume Fisik, PV) ke dalam kumpulan (Grup Volume, VG) dari mana "partisi" (Volume Logis, LV) dapat diminta secara dinamis, contohnya seperti gambar dibawah ini.


 

Keterangan:

  • PV (physical volumes) - Sebuah PV adalah partisi disk, yang sudah disiapkan untuk menggunakan LVM
  • VG (volume groups) - Sebuah VG dibangun dari satu atau lebih PV. Disini Anda akan menemukan LVs, yang dapat diformat dengan standar sistem file Linux. 
  • LV (logical volumes) - Merupakan langkah pertama untuk membuat partisi dari disk baru yang akan diterapkan dan disiapkan untuk LVM, sehingga dapat digunakan sebagai PV. 

     

VG dapat di expand dengan menambahkan PV, dan LV dapat di expand ke beberapa volume fisik dalam grup volume. Dengan demikian, Logical Volume bisa berkali-kali lebih besar dari disk terbesar dalam sistem.

Keuntungan dari LVM dibandingkan dengan partisi statis tradisional dari hard disk adalah kemungkinan untuk expand sistem file. Untuk tujuan ini, VG yang juga dapat resize dan expand dengan menambahkan PV (hard disk).

Sederhananya dengan metode LVM ini Anda dapat melakukan expand volume root dan Data volume dengan mudah.

a. Kelebihan LVM:

  • Memungkinkan Anda mengelola dan memanfaatkan ruang disk fisik secara efisien.
  • Mampu membuat logical volume yang kapasitasnya dapat ditingkatkan atau dikurangi tergantung kebutuhan Anda.

Jika Anda bermaksud untuk menyimpan cadangan data Anda pada beberapa logical volume, maka Anda dapat increase ketersediaan data Anda.

Perangkat fisik ataupun volume baru dapat dengan mudah ditambahkan di bawah grup volume tanpa waktu henti (zero downtime) dan tanpa gangguan layanan apa pun (service disruption).

  • LVM memungkinkan Anda untuk mempartisi satu perangkat fisik menjadi beberapa partisi logis serta memungkinkan Anda untuk mengintegrasikan beberapa perangkat fisik ke dalam satu grup volume.

Logical Volume juga dapat diubah ukurannya secara dinamis, sehingga Anda dapat memulai misalnya dengan partisi kecil dan mengkonfigurasinya untuk diperluas (expand) saat data ditulis di dalamnya.

  • Sejumlah disk dan partisi dapat disatukan menjadi satu disk besar, atau satu disk fisik dapat dengan cepat dipecah menjadi banyak partisi dengan ukuran berapa pun.

b. Kekurangan LVM:

Dapat membuat proses booting lebih rumit dan membuat perbaikan dari bencana sulit dilakukan.

LV dapat menderita karena fragmentasi eksternal ketika PE tidak dialokasikan secara berdampingan pada storage dibawahnya yang dapat membuat kinerja I/O menurun

2. non-LVM

non-LVM atau disebut dengan dengan standar partition kebalikannya dari LVM dimana untuk non-LVM Anda tidak dapat melakukan extend volume root dan biasanya jika terdapat expand maka solusinya melakukan mount ke direktori tertentu. non-LVM dapat digunakan jika dalam kondisi Anda tidak berencana atau tidak akan menambahkan kapasitas pada disk atau storage. Perhatikan gambar dibawah ini

Tiga hard drive 10 GB di atas dengan partisi dan titik pemasangan. Partisi seluruhnya terdapat pada drive harddisk individu.

a. Kelebihan non-LVM:

  • Mudah untuk menginstal ulang sistem operasi
  • Pencadangan lebih sederhana
  • Keamanan yang dapat ditingkatkan
  • Organization yang lebih baik
  • Install beberapa sistem operasi dengan mudah
  • Menggunakan beberapa sistem file

b. Kekurangan non-LVM:

  • Rumit dan beresiko kesalahannya tinggi
  • Harus menyelesaikan banyak partisi secara bersamaan dan ruang terbuang
  • Tidak terlalu diperlukan untuk rata-rata pengguna
  • Terdapat downtime pada perangkat lunak jika terdapat penambahan disk
  • Jika butuh disk yang lebih besar tidak dapat dilakukan dan harus ditambahkan ke direktori yang berbeda

B. Performa IOPS LVM dan non-LVM

Disini kami sudah menyediakan 2 volume dengan detail sebagai berikut:

LVM
Partisi: /dev/vdb
Filesystem: ext4
Size: 20GB
 

  • Non-LVM
    Partisi: /dev/vdd
    Filesystem: ext4
    Size: 20GB

Untuk lebih jelasnya Anda dapat melihat gambar dibawah ini


Untuk pengujian performa IOPS LVM dan non-LVM dapat menggunakan software fio.

  • MENGUKUR IOPS READ, WRITE, READ & WRITE DAN RANDOM READ, WRITE, READ & WRITE PADA NON-LVM

Mengukur performa IOPS read, write, read dan write menggunakan software fio dengan perintah berikut:

Read

root@kb-lvm-non-lvm-bgn:/mnt/kbnon-lvm# time fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=read-non-lvm --filename=foo-$(date +"%Y%m%d%H%M%S") --bs=4k --iodepth=256 --size=2G --readwrite=read

Hasilnya: read: IOPS=27.9k, BW=109MiB/s (114MB/s)(2048MiB/18803msec)

Write

root@kb-lvm-non-lvm-bgn:/mnt/kbnon-lvm# time fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=write-non-lvm --filename=foo-$(date +"%Y%m%d%H%M%S") --bs=4k --iodepth=256 --size=2G --readwrite=write

Hasilnya: write: IOPS=22.8k, BW=89.1MiB/s (93.4MB/s)(2048MiB/22989msec); 0 zone resets

Read/Write

root@kb-lvm-non-lvm-bgn:/mnt/kbnon-lvm# time fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=read-write-non-lvm --filename=foo-$(date +"%Y%m%d%H%M%S") --bs=4k --iodepth=256 --size=2G --readwrite=rw

Hasilnya:

Read: read: IOPS=20.5k, BW=80.0MiB/s (83.9MB/s)(1023MiB/12783msec)
Write: write: IOPS=20.5k, BW=80.2MiB/s (84.1MB/s)(1025MiB/12783msec); 0 zone resets

  • MENGUKUR IOPS READ, WRITE, READ & WRITE DAN RANDOM READ, WRITE, READ & WRITE PADA LVM

Mengukur performa IOPS read, write, read dan write menggunakan software fio dengan perintah berikut:

Read

root@kb-lvm-non-lvm-bgn:/mnt/kblvm# time fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=read-lvm --filename=foo-$(date +"%Y%m%d%H%M%S") --bs=4k --iodepth=256 --size=2G --readwrite=read

Hasilnya: read: IOPS=27.2k, BW=106MiB/s (111MB/s)(2048MiB/19279msec)

Write

root@kb-lvm-non-lvm-bgn:/mnt/kblvm# time fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=write-lvm --filename=foo-$(date +"%Y%m%d%H%M%S") --bs=4k --iodepth=256 --size=2G --readwrite=write

Hasilnya: write: IOPS=22.1k, BW=86.2MiB/s (90.4MB/s)(2048MiB/23748msec); 0 zone resets

Read/Write

root@kb-lvm-non-lvm-bgn:/mnt/kblvm# time fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=read-write-lvm --filename=foo-$(date +"%Y%m%d%H%M%S") --bs=4k --iodepth=256 --size=2G --readwrite=rw

Hasilnya:

Read: read: IOPS=20.8k, BW=81.1MiB/s (85.1MB/s)(1023MiB/12612msec)
Write: write: IOPS=20.8k, BW=81.3MiB/s (85.2MB/s)(1025MiB/12612msec); 0 zone resets


 

C. Penutup

Semoga artikel ini dapat membantu Anda. Temukan bantuan lainnya melalui Knowledge Base Biznet Gio. Jika Anda masih memiliki kendala silahkan hubungi support@biznetgio.com atau (021) 5714567.