Thursday, December 23, 2021

Reducing, Shrink LVM Size, VMWare to Physical (V2P)

 


Ada satu senario berlaku dimana 1 compute perlu dialihkan dari VMWare dan migrate ke fizikal server VMware to Physical (V2P). Masalah berlaku apabila fizikal storage space kurang daripada VMWare storage.

Fizikal = 250GB
VMWare = 500GB

df -hPT
Konfigurasi semasa, pada ROOT punya size adalah 450G, baru guna hanya 58G. Bermakna ada 392G lagi free space, akan tapi bila nak clone ke fizikal disk yang lebih kecil, tidak akan berjaya kerana ia allocated space keseluruhan 450G.

Solusi adalah dengan mengurangkan size pada LVM hingga mencukupi size storage fizikal.

Ringkasan apa yang akan dilakukan :-
  1. Oleh kerana Used hanya 58G maka kita akan buat satu backup img ke lokasi sementara.
  2. Delete LV Partition root.
  3. Kurangkan partition size menggunakan diskpart.
  4. Cipta semula PV Partition root.
  5. Restore kembali backup img yang kita buat tadi.

Boot to Rescure Mode Centos 8



Pastikan anda memilih pilihan no 3 Skip to shell, kerana kita tidak mahu rescure mode ni mount filesystem.

Aktifkan Volume Group (VG)

vgchange -ay


Mount Logical Volumes (LV)

Used storage 58GB, jadi saya mount hard disk lagi satu untuk jadikan backup sementara, bergantung pada ketersediaan storage anda, boleh juga gunapakai usb drive atau external drive untuk dijadikan backup sementara. Dalam kes ni saya mempunyai 2 internal hard disk:
  1. /dev/nvme0n1 (Internal sebagai filesystem, LVM yang ingin dikecilkan partition size nya)
  2. /dev/nvme0n2 (Internal sebagai backup sementara)
Arahan untuk cipta folder dan mount: -
mkdir /mnt/sysimage/rt
mkdir /mnt/sysimage/backup
mount /dev/mapper/cl_monitoring-root /mnt/sysimage/rt
mount /dev/nvme0n2p1 /mnt/sysimage/backup

xfsdump untuk backup filesystem

Jalankan arahan xfsdump untuk membuat backup :-
xfsdump -l 0 -L "root lv backup" -M "backup" -f /mnt/sysimage/backup/rootbak.img /mnt/sysimage/rt

Pastikan Dump Status: SUCCESS, dan barulah kita ke langkah seterusnya.

Umount filesystems dengan jalankan arahan:-
umount /mnt/sysimage/rt/

fdisk untuk kurangkan partition volume


Pada asalnya partition 3 (nvme0n1p3) mempunyai 450G absolute, saya nak kurangkan kepada 110G sahaja, dengan menggunakan tool fdisk, perkara ini dapat di capai.
  fdisk /dev/nvme0n1 - Jalankan tool fdisk ke harddisk nvme0n1
  d - delete partition
  3 - partition no 3 (nvme0np3)
  n - create new partition
  p - primary partition
  3 - partition no 3
  +110G - disk space sebanyak 110G
  n - NO untuk tidak membuang LVM signature
  t - partition type
  8e - 8e code untuk partition type xfs
  w - write (save)


Kurangkan XFS volume | cipta semula logical volume


lvremote /dev/mapper/cl_monitoring-root

Cipta XFS file system


lvcreate -Zy -L 100G -n root cl_monitoring


jadikan filesystem yang kita baru cipta tadi sebagai xfs
mkfs.xfs /dev/mapper/cl_monitoring-root

Mount dan restore

Mount semula root partition sebagai filesystem tadi untuk kita restore dari backup yang kita cipta.
mount /dev/mapper/cl_monitoring-root
Jalankan arahan xfsrestore untuk restore kembali filesystem kita:-
xfsrestore -f /mnt/sysimage/backup/rootbak.img /mnt/sysimage/rt

Pastikan Restore Status: SUCCESS        


Akhir sekali, kita boot ke sistem operasi dan lihat perubahan pada LVM, daripada 450GB kepada 110GB.
Sekarang dah boleh clone ke fizikal hard disk yang space mencukupi. Saya gunakan macrium reflect untuk clone.

Kredit kepada:
  1. How to Shrink XFS Partition for the root filesystem | 1 Easy guide - December 23, 2020 by Babin Lonston
  2. LVM2: Extend file system - October 1, 2017 by Haruto Sato

Sekian,
Terima kasih.

No comments:

Post a Comment