Linux – delete the LUN and remove traces from OS

1 Comment

In my previous article explained about how to delete disk from ASM library. In this article will learn to delete the LUN and remove traces from server. This article applicable for deleting ASM disk, standard partitioned disk and LVM physical volume. These steps works well for Redhat and SUSE.

  1. Deletion of ASM disk (only for ASM consumer)
  2. Remove traces of deleted LUN/disk

Note: Be cautious in placing correct device names. Else you end up with data loss and broken server.

Step1: collect kernel device names of LUN

#multipath –ll mpatha
mpatha (360a98000486e616e504a512345678908)
[size=20 GB][features="1 queue_if_no_path"][hwhandler="0"]
\_ round-robin 0 [prio=16][active]
 \_ 3:0:1:24 sdba 67:64   [active][ready]
 \_ 3:0:3:24 sdda 70:128  [active][ready]
 \_ 4:0:2:24 sdga 131:96  [active][ready]
 \_ 4:0:3:24 sdha 133:0   [active][ready]
\_ round-robin 0 [prio=4][enabled]
 \_ 3:0:0:24 sdaa 65:160  [active][ready]
 \_ 3:0:2:24 sdca 68:224  [active][ready]
 \_ 4:0:0:24 sdea 128:32  [active][ready]
 \_ 4:0:1:24 sdfa 129:192 [active][ready]
  • Note down all kernel device names mapped with LUN. Collect device names one per line under file /tmp/device_names.
#cat /tmp/device_names
sdba
sdda
sdga
sdha
sdaa
sdca
sdea
sdfa

Step2: Delete disk partition

#kpartx -d /dev/mapper/mpatha
  • verify disk is deleted
#ls -ltr /dev/mapper/mpatha*

Step3: Remove the device from multipath

  • delete the multipath paths to LUN
#multipath -f mpatha
  • Remove the entry from multipath.conf
#cp –p multipath.conf multipath.conf_bkp
#vi multipath.conf
   (delete the entry associated with WWID which we got 
    from previous step (360a98000486e616e504a512345678908))

Step4: Flush any outstanding I/O to deleted device

  • device names collected from multipath –ll should be used here. Depends upon multipath configuration 4 or 8 device names will be available.
#for i in `cat /tmp/device_names` ; do ; blockdev –flushbufs devices /dev/$i ; done

Step5: Remove path to devices from SCSI subsystem

#for i in `cat /tmp/device_names` ; do ; echo 1 > /sys/block/$i/device/delete ; done

That’s all. At here we deleted the LUN mpatha (360a98000486e616e504a512345678908). Removed all the traces that LUN left from kernel and SCSI subsystem.

Hope this article helped you? Please share your thoughts at comments section.

One thought on “Linux – delete the LUN and remove traces from OS

Leave a Reply

Your email address will not be published. Required fields are marked *