Skip to main content
  1. Posts/

Migrasi OS Ubuntu ke LVM

·3 mins·
ubuntu linux ubuntu lvm
Table of Contents

LVM memiliki beberapa fitur yang dapat digunakan seperti menggabungkan beberapa Pysical Volume menjadi satu Logical Volume, Mirror Logical Volume, Raid Volume, dan masih banyak lagi.

Namun bagaimana jika Anda memiliki server yang sudah live tetapi ingin partisi root (/) menggunakan LVM. Dalam kasus tersebut direkomendasikan untuk menginstall ulang OS lalu memilih partisi LVM dan mendeploy ulang setiap service yang ada di server sebelumnya.

Tapi cara tersebut mungkin sukar untuk dilakukan karena tidak efisien waktu. Untuk itu Anda dapat mencoba ikuti panduan berikut untuk memigrasikan OS Ubuntu ke LVM tanpa perlu install ulang.

Download GParted
#

Download Gparted melalui link berikut https://gparted.org/download.php

Selanjutnya tambahkan disk untuk digunakan sebagai LVM.

Install LVM
#

Sebelum partisi root dipindahkan ke LVM. Pastikan pada disisi server sudah terinstall lvm2

apt-get install lvm2

Selanjutnya buka terminal dan jalankan perintah sfdisk untuk menyamakan partisi /dev/vda ke /dev/vdb

sfdisk -d /dev/vda > backup.img
sfdisk /dev/vdb < backup.img
/dev/vda merupakan disk OS ubuntu

Migrasi OS
#

Power Off server lalu tambahkan ISO Gparted ke cdrom.

Power On server dan pastikan masuk ke booting dari ISO GParted

Pilih Default setting lalu klik enter pada setiap opsi yang muncul sampai ke tampilan Home

Masuk ke partisi /dev/vdb dengan fdisk

fdisk /dev/vdb

Hapus partisi /dev/vdb1 atau partisi dengan type Linux Filesystem

Buat partisi /dev/vdb1 menggunakan type partisi Linux LVM

Lalu buat Pysical Volume, Group Volume, dan Logical Volume pada /dev/vdb1

pvcreate /dev/vdb1
vgcreate vg_root /dev/vdb1
lvcreate -l +100%FREE -n root vg_root

Format Logical Volume menggunakan XFS. Beri Label partisi dengan nama rootfs

mkfs.xfs /dev/mapper/vg_root-root
xfs_admin -L rootfs /dev/mapper/vg_root-root

Selanjutnya buat folder untuk mounting Logical Volume dan /dev/vda1

mkdir -p /mnt/oldrootfs /mnt/newrootfs

Mounting partisi ke masing-masing folder

mount /dev/vda1 /mnt/oldrootfs
mount /dev/mapper/vg_root-root /mnt/newrootfs

Resync /mnt/oldrootfs ke tujuan /mnt/newrootfs

rsync -axHAX /mnt/oldrootfs/ /mnt/newrootfs/

Jika proses sudah selesai. Buka Gparted lalu copy partisi bios_grub dan boot

Power Off server lalu lepas ISO dan setting agar bisa booting dulu ke disk yang lama (/dev/vda).

Power On server, setelah itu update konfig grub dengan menambahkan konfig berikut.

GRUB_TIMEOUT=10
GRUB_DISABLE_OS_PROBER=false

Update grub dengan perintah update-grub

# update-grub
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/50-cloudimg-settings.cfg'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.15.0-69-generic
Found initrd image: /boot/initrd.img-5.15.0-69-generic
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
Found Ubuntu 22.04.2 LTS (22.04) on /dev/mapper/vg_root-root
done
pastikan OS ubuntu ditemukan pada partisi LVM

Selanjutnya mount partisi /dev/mapper/vg_root-root ke /mnt

mount /dev/mapper/vg_root-root /mnt

Edit /mnt/etc/fstab

LABEL=rootfs    /        xfs    defaults        0 1
LABEL=UEFI      /boot/efi       vfat    umask=0077      0 1

Reboot server dan edit boot pada partisi LVM

Edit bagian root=UUID menjadi root=LABEL=rootfs

Lalu tekan CTRL+X dan tunggu proses booting.

Jika sudah berhasil booting, login ke server dan cek filesystems dengan df -hT

# df -hT
Filesystem               Type   Size  Used Avail Use% Mounted on
tmpfs                    tmpfs  198M  996K  197M   1% /run
/dev/mapper/vg_root-root xfs    2.1G  1.6G  525M  75% /
tmpfs                    tmpfs  988M     0  988M   0% /dev/shm
tmpfs                    tmpfs  5.0M     0  5.0M   0% /run/lock
/dev/vda15               vfat   105M  6.1M   99M   6% /boot/efi
tmpfs                    tmpfs  198M  4.0K  198M   1% /run/user/0

Install grub pada partisi /dev/vdb.

grub-install /dev/vdb

Selanjutnya Anda dapat mencoba melepas disk lama lalu setting disk baru pada urutan booting pertama.

Jika berhasil booting. Langkah terakhir jalankan update-grub kembali agar boot pada disk lama terhapus.

Related

Recover Root Password Ubuntu
·1 min
ubuntu linux ubuntu
Setting Network Ubuntu dengan Netplan
·1 min
ubuntu ubuntu linux
Install Apache dengan PHP-FPM dan Userdir
·3 mins
apache ubuntu linux php apache
Cara membuat Logical Volume (LVM)
·3 mins
lvm linux lvm
Meningkatkan Performa pada PHP-FPM
·2 mins
linux linux
Mengamankan Server dari Eksploitasi PHP Shell
·1 min
php linux php