Home > Server Linux, Tutorial > Menyalin Image VM Menggunakan LVM

Menyalin Image VM Menggunakan LVM

Beberapa VM (mesin virtual) Linux identik ingin dibuat. Sebuah VM Linux akan diinstall dan imagenya kemudian disalinkan untuk VM lain.

OS Linux diinstall ke satu storage di VM. Instalasi dilakukan dalam waktu sekitar 20-30 menit. Storage VM menggunakan lvm (Logical Volume Manager) dan tersimpan sebagai lv  (Logical Volume) di suatu vg (Volume Group). Misalnya, VM Linux Ubuntu (VMID: 201) menggunakan disk lv vm-201-disk-1 dengan vg vgdisk1.

Bagaimana cara meng-clone image VM ini? Diinginkan, image VM berisi Linux Ubuntu dapat dijalankan di VM lain tanpa menjalankan instalasi lagi yang butuh waktu lama.  Cloning dapat dilakukan secara batch menggunakan script.Program utility lvm dan disk bisa digunakan untuk menyalin image VM ini.

Misalnya: image VM telah terinstall di /dev/vgdisk1/vm-201-disk-1 digunakan sebagai lv sumber dan berukuran 50GB. Image akan di-clone ke /dev/vgdisk1/vm-202-disk-1, /dev/vgdisk1/vm-203-disk-1 dan /dev/vgdisk1/vm-204-disk-1. Storage lvm tersebut akan di-attach masing-masing ke VM 202, 203 dan 204.

  1.  Buat lv (logical volume) baru di vgdisk1
    $ lvcreate --name vm-202-disk1 --size 50G vgdisk1
    $ lvcreate --name vm-203-disk1 --size 50G vgdisk1
    $ lvcreate --name vm-204-disk1 --size 50G vgdisk1

    NOTE: Pastikan vgdisk1 aktif

    $ vgchange -a y vgdisk1
    
  2. Salin lv sumber ke lv baru dengan byterate 32MByte
    $ dd if=/dev/vgdisk1/vm-201-disk-1 of=/dev/vgdisk1/vm-202-disk-1 bs=32M
    $ dd if=/dev/vgdisk1/vm-201-disk-1 of=/dev/vgdisk1/vm-203-disk-1 bs=32M
    $ dd if=/dev/vgdisk1/vm-201-disk-1 of=/dev/vgdisk1/vm-204-disk-1 bs=32M
    
  3. Buat VM 202, 203 dan 204, attach disk ke masing-masing VM dan jalankan VM

Skrip sederhana untuk melakukan perintah di atas adalah:

#!/bin/sh
# clone a VM
VG=vgdisk1
SIZE=50G # defined
SRC_DISK=vm-201-disk-1
DST_DISK=vm-202-disk-1 vm-203-disk-1 vm-203-disk-1
for newdisk in $DST_DISK; do
   # Create lv if not exist
   [ -f /dev/$VG/$newdisk ] || lvcreate --name $newdisk --size $SIZE $VG
   # Copy diskLinL
   dd if=/dev/$VG/$SRC_DISK of=/dev/$VG/$newdisk bs=32M
done

Semoga bermanfaat.

Categories: Server Linux, Tutorial
  1. No comments yet.
  1. No trackbacks yet.
*

This blog is kept spam free by WP-SpamFree.

Skip to toolbar