Wie entfernt man einen LUN sauber aus dem Linux?
Immer wieder gibt es das Thema, dass eine LUN nicht mehr verfügbar ist oder nicht mehr benötigt wird. Das kann dazu führen, dass Prozesse, die diese LUN angreifen einfach hängen bleiben und so ein unvorhergesehenes Verhalten eintritt.
Die Ausgangssituation
Die LUN wurde auf Storage Seite entfernt/gelöscht/das Zoning aufgehoben.
Das Problem
Die Partition ist noch immer in der Partition Table (/proc/partitions, /sys/block/<devicename>/…). Es kann nun an der gleichen Stelle (SCSI Host:Bus:Target:LUN) nicht wieder eine andere Platte eingehängt werden bzw. Zugriffe auf das „existierende“ Device bleiben hängen, z.B. mit fdisk.
Die Lösung
Es gibt neben einem "Rescan" um neue LUNs zu finden auch ein "Delete". Dies kamm man wie folgt durchführen:
# echo 1 > /sys/block/<devicename>/device/delete
Für eine “saubere” Konfiguration sollten natürlich auch andere Hinweise auf die “gelöschte” Partition entfernt werden (Multipathing, Devicemapper, LVM, /etc/fstab, etc.). Dies geht normalerweise durch ein RELOAD/RESTART er entsprechenden Services und ein manuelles Cleanup von /etc/fstab.