lvremove Command Fails With Error “LVM – Can’t remove open logical volume”

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"

Solution

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]

For Example:

# 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"

For Example:

# 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
Related Post