https://serverfault.com/questions/861522/centos7-xfs-lmv-cloning-on-smaller-device Just to take a note on what I've done. Just to take a note: 1) fdisk /dev/sdb and do: create a new empty DOS partition table add a new partition, 1 for boot like sda1, id 83 and same start and end add a new partition, 2 for LVM, id 8e and of 135G, less than sda2 as i need to reduce toggle a bootable flag on partition 1 2) mount -o remount,ro /boot 3) dd if=/dev/sda1 of=/dev/sdb1 4) reboot 5) chroot my root mount /dev/centos/root /mnt/root/ mount /dev/sdb1 /mnt/root/boot/ mount --bind /dev/ /mnt/root/dev/ && mount --bind /dev/pts && mount --bind /proc/ && mount --bind /sys /mnt/root/sys chroot /mnt/root/ 6) install bootloader grub2-install /dev/sdb grub2-install --recheck /dev/sdb grub2-mkconfig -o /boot/grub2/grub.cfg 7) shutdown 8) swap the drive 9) verify all is running fine I'm currently using boot from sda (new drive) and root from sdb (old drive) 10) pvcreate /dev/sda2 11) vgextend centos /dev/sda2 12) pvmove -n swap /dev/sdb2 /dev/sda2 13) pvmove -n root /dev/sdb2 /dev/sda2 14) yum install xfsdump 15) lvcreate --size 80G --name new_home centos /dev/sda2 16) mkfs.xfs /dev/centos/new_home 17) mount /dev/centos/new_home /mnt/root/ 18) xfsdump -J - /home | xfsrestore -J - /mnt/root/ 19) verify same Selinux labels ls -Z /home/ ls -Z /mnt/root/ 20) umount /mnt/root/ 21) lvrename /dev/centos/home /dev/centos/old_home 22) lvrename /dev/centos/new_home /dev/centos/home 23) mount /home/ Got error unmounting home but mounting home I guess the new has ran fine 24) reboot, all is running fine 25) lvremove /dev/centos/old_home 26) vgreduce centos /dev/sdb2 27) pvremove /dev/sdb2 28) shutdown & disconnects sdb Finish.