Migrasi LVM Root System dan /boot partisi standard.
Pada kasus kali ini admin akan merelokasi atau migrasi partisi root, system (/home dan swap), dan partisi /boot ke disk baru. Dalam partisi kali ini /boot adalah partisi standard ext4 dan di migrasi dengan mempertahankan jenis partisinya. Migrasi dlakukan tanpa Live DC dan menggunakan sistem yang sedang running.
Setting Partisi Saat ini.
Partisi root, home dan swap menggunakan lvm menempati sda2 dan boot di sda1 standard partisi.
[root@server ~]# lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
sda
|-sda1 ext4 1.0 /boot d5a6781f-b92a-4b14-8136-b1afeab52f18 1.5G 14% /boot
`-sda2 LVM2_member LVM2 001 Afb5S3-uJ4D-uORK-FH9o-0GbR-J89v-xYVSW1
|-vgsobit-root xfs / 9cfbb675-89ed-4d20-9c67-324d5f584232 434.1M 89% /
|-vgsobit-swap swap 1 swap 8815a768-14fe-457f-8905-b3bb315be764 [SWAP]
`-vgsobit-home xfs /home cd0a3438-c511-49f3-aa80-e378db7396df 1.5G 26% /home
sdb
Membuat Partisi Baru pada disk sdb.
Untuk membuat partisi bisa menggunakan utility seperti parted (gpt label, rekomen untuk partisi berukuran lebih dari 2TB), fdisk, cfdisk dll.

Pembuatan Physical Volume (PV)
Gunakan perintah pvcreate untuk membuat PV dari sdb2 dan cek hasil nya dengan pvs
# pvcreate /dev/sdb2
# pvs
[root@server ~]# pvcreate /dev/sdb2
Physical volume "/dev/sdb2" successfully created.
[root@server ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 vgsobit lvm2 a-- <18.09g <10.10g
/dev/sdb2 lvm2 --- <23.00g <23.00g
[root@server ~]#
Penambahan PV ke VG bernama vgsobit.
Gunakan vgextend untuk melakukan penambahan pv ke vg.
# vgextend vgsobit /dev/sdb2
[root@server ~]# vgextend vgsobit /dev/sdb2
Volume group "vgsobit" successfully extended
Cek kembali hasilnya extend
# pvs
[root@server ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 vgsobit lvm2 a-- <18.09g <10.10g
/dev/sdb2 vgsobit lvm2 a-- <23.00g <23.00g
Migrasi Data root, home dan swap
Prosedur untuk migrasi data terdapat 2 cara pertama pvmove dan miror lvconvert. Pada praktik kali ini akan menggunakan pvmove. Penggunakan lvconvert bisa dilihat di artikel berikut ini;
Cara Migrasi Partisi LVM Ke Disk Baru
sebelum melakukan migrasi ketahui terlebih dahulu block mana yang digunakan lvm root, home dan swap. karena ketiga partisi berada.
# lvs -o+devices
# vgs -o+devices vgsobit

Dapat dilihat digambar partisi root, home dan swap berada di sda2.
Migrasinya gunakan perintah pvmove untuk memintahkan partisi dari block disk berbeda. Pindahkan semua partisi dengan opsi -n
# pvmove -n /dev/vgsobit/root /dev/sda2 /dev/sdb2
# pvmove -n /dev/vgsobit/home /dev/sda2 /dev/sdb2
# pvmove -n /dev/vgsobit/swap /dev/sda2 /dev/sdb2
[root@server ~]# pvmove -n /dev/vgsobit/root /dev/sda2 /dev/sdb2
/dev/sda2: Moved: 0.39%
/dev/sda2: Moved: 22.46%
/dev/sda2: Moved: 44.73%
/dev/sda2: Moved: 66.80%
/dev/sda2: Moved: 88.96%
/dev/sda2: Moved: 100.00%
[root@server ~]# pvmove -n /dev/vgsobit/home /dev/sda2 /dev/sdb2
/dev/sda2: Moved: 0.78%
/dev/sda2: Moved: 51.56%
/dev/sda2: Moved: 100.00%
[root@server ~]# pvmove -n /dev/vgsobit/swap /dev/sda2 /dev/sdb2
/dev/sda2: Moved: 1.76%
/dev/sda2: Moved: 87.06%
/dev/sda2: Moved: 100.00%
[root@server ~]#
Cek kembali hasilnya dengan lvs
# lvs -o+devices
[root@server ~]# lvs -o+devices
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert Devices
home vgsobit -wi-ao---- 2.00g /dev/sdb2(1024)
root vgsobit -wi-ao---- 4.00g /dev/sdb2(0)
swap vgsobit -wi-ao---- 1.99g /dev/sdb2(1536)
public vgsobit_vg -wi-a----- 18.00g /dev/sdc1(1)
public2 vgsobit_vg -wi-a----- 6.00g /dev/sdc1(4609)
[root@server ~]#
Bisa dilihat hasilnya sudah berpindah dari sda2 ke sdb2. Sampai Disini proses untuk migrasi system sudah selesai.
Remove Disk sda2 dari VG dan PV
# vgreduce vgsobit /dev/sda2
# pvremove /dev/sda2
[root@server ~]# vgreduce vgsobit /dev/sda2
Removed "/dev/sda2" from volume group "vgsobit"
[root@server ~]# pvremove /dev/sda2
Labels on physical volume "/dev/sda2" successfully wiped.
Partisi sda2 sudah terlepas dari LVM, tapi belum bisa dilepas dari system sampai partisi boot dan boot order di install ke partisi yang baru.
Migrasi partisi boot
Format filesystem terlebih dahulu partisi baru dengan ext4 dengan mkfs.ext4
# mkfs.ext4 /dev/sdb1
[root@server ~]# mkfs.ext4 /dev/sdb1
mke2fs 1.46.5 (30-Dec-2021)
Creating filesystem with 524288 4k blocks and 131072 inodes
Filesystem UUID: 0f5e6d43-542e-481c-b8cb-5b12a86ba3e3
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done
[root@server ~]#
Mount Partisi boot baru
# mkdir /mnt/boot
# mount /dev/sdb1 /mnt/boot
Salin data dari /boot ke /mnt/boot
# rsync -avH /boot /mnt/boot
//atau
# cp -a /boot/* /mnt/boot
cek kembali hasilnya salin data
[root@server /]# df -Th | grep boot
/dev/sda1 ext4 1.9G 258M 1.5G 15% /boot
/dev/sdb1 ext4 2.0G 258M 1.6G 15% /mnt/boot
[root@server /]#
cek UUID sdb1 yang menjadi partisi boot baru, dan unmount.
# blkid /dev/sdb1
# umount /mnt/boot

Pada info blkid untuk sdb1 memiliki UUID=0f5e6d43-542e-481c-b8cb-5b12a86ba3e3
UUID sdb1 di konfig terlebih dahulu ke dalam file /etc/fstab gunakan editor file vi atau nano dsb,
# vi /etc/fstab

Mount ulang /boot dan cek apakah sudah sesuai.
# mount /boot
# df -Th

Partisi boot sdb1 sudah termount.
# grub2-install /dev/sdb
# grub2-mkconfig -o /boot/grub2/grub.cfg
[root@server /]# grub2-install /dev/sdb
Installing for i386-pc platform.
Installation finished. No error reported.
[root@server /]# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
File descriptor 3 (pipe:[27035]) leaked on vgs invocation. Parent PID 2585: grub2-probe
File descriptor 9 (pipe:[28763]) leaked on vgs invocation. Parent PID 2585: grub2-probe
File descriptor 3 (pipe:[27035]) leaked on vgs invocation. Parent PID 2585: grub2-probe
File descriptor 9 (pipe:[28763]) leaked on vgs invocation. Parent PID 2585: grub2-probe
File descriptor 3 (pipe:[27035]) leaked on vgs invocation. Parent PID 2636: grub2-probe
File descriptor 9 (pipe:[28763]) leaked on vgs invocation. Parent PID 2636: grub2-probe
File descriptor 3 (pipe:[27035]) leaked on vgs invocation. Parent PID 2636: grub2-probe
File descriptor 9 (pipe:[28763]) leaked on vgs invocation. Parent PID 2636: grub2-probe
Adding boot menu entry for UEFI Firmware Settings ...
done
[root@server /]#
Pastikan detail partisi boot baru sudah masuk ke dalam grub.cfg kita cari dengan kunci UUID partisi sdb2 alias boot partisi yang baru.
# grep "0f5e6d43-542e-481c-b8cb-5b12a86ba3e3" /boot/grub2/grub.cfg

JIka sudah, server sudah siap di power off dan lepas hardisk lama sda. Ketika server boot sudah berjalan dengan boot dan lvm root system running di Disk baru.
Dengan tampilan setup baru disk.
[root@server ~]# lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
sda
|-sda1 ext4 1.0 /boot 0f5e6d43-542e-481c-b8cb-5b12a86ba3e3 1.5G 13% /boot
`-sda2 LVM2_member LVM2 001 cxYean-eokY-Q7X4-mjb3-vDk9-erp0-9IxyfU
|-vgsobit-root xfs / 9cfbb675-89ed-4d20-9c67-324d5f584232 433.4M 89% /
|-vgsobit-swap swap 1 swap 8815a768-14fe-457f-8905-b3bb315be764 [SWAP]
`-vgsobit-home xfs /home cd0a3438-c511-49f3-aa80-e378db7396df 1.5G 26% /home
sr0
Hasilnya UUID dari partisi disk baru berbeda. Untuk partisi LVM tetap memiliki UUID yang sama, Bisa dibandingkan dengan setting awal di AWAL.
Sekian artikel “Migrasi LVM root System dan /boot partisi standard”, Semoga Bermanfaat.