Solution:
Existing Configuration :
Existing Physical Volume: 1.5 TB, /dev/mapper/mpathX Existing Volume Group: data_vg Existing Logical Volume: lv_data01 (/dev/mapper/data_vg-lv_data01)
We need to move to the following configuration :
Physical Volume: 1.5TB, /dev/mapper/mpathY Volume Group: data_vg Logical Volume: data (/dev/mapper/data_vg-lv_data01)
Steps
1. Begin by pvcreate’ing the new disk. This is the disk from the new storage array to which we want to migrate to.
# pvcreate /dev/mapper/mpathY
2. Now, add this disk into the data_vg Volume Group :
# vgextend data_vg /dev/mapper/mpathY
Make sure there are free extents on the new disk, before running pvmove
3. Begin the migration from the /dev/mapper/mpathX PV to the new /dev/mapper/mpathY PV
# pvmove -b /dev/mapper/mpathX /dev/mapper/mpathY
This will take time based on size to complete the activity. -b option in the command above runs the pvmove command in background.
4. Periodically, you can check the progress of the migration, Make sure you’re looking in the “Copy%” column for the LV and VG that you’re working with.
# lvs -a -o+devices
When the migration is completely finished, you will know because the “Copy%” column will no longer register a value for the LV and VG that you’re working in.
You may also run pvmove -iX , where X is an interval in seconds to report the progress. For example, pvmove -i5 will report progress every 5 seconds.
5. Now, you can safely remove the original PV from the VG.
# vgreduce oracleprod /dev/mapper/mpathX # pvremove /dev/mapper/mpathX