You want to delete a logical volume but, when running the command “lvremove”, you get the following output:
# umount /data
# lvremove /dev/vg1/lv1 Can't remove open logical volume "lv1"
The above error usually means that the volume is still in use by some process. To find the process that is keeping the logical volume open, follow the steps below.
1. Find the major,minor number corresponding to the Logical Volume:
# dmsetup info -c | grep [lvname]
# dmsetup info -c | grep lv1 vg1-lv1 253 25 L--w 1 1 0 LVM-4YO6buASebpXKOmdwdzyUTZ39mfubEFG0wWxeM7gYLEisWPszglyTCA0xCAuohpF
2. Find the major,minor number in ‘lsof’ command output.
# lsof | grep "major,minor"
# lsof | grep "253,25" bckup 102585 0 19r BLK 253,25 0v12160 163622 /tmp/fileNabc3 (deleted)
3. Stop the application corresponding to the PID or kill the process. The PID as per above example is 102585. You could stop the application using that PID or kill the PID directly using kill command:
# kill -9 [PID]
4. Now removing the Logical Volume would complete successfully.
# lvremove vg1/lv1