Howto: Linux see new fiber channel attached disk LUNs without rebooting

by on September 1, 2006 · 4 comments· LAST UPDATED September 1, 2006

in

Q. How do I force fdisk to see new fiber channel attached disk LUNs without rebooting my Linux server or system?

A. Hot swapping or hot plugging is the ability to remove and replace components of a machine, usually a computer, while it is operating. Once the appropriate software is installed on the computer, a user can plug and unplug the component without rebooting.

You can add new SCSI device to a Linux system through SCSI hotplug mechanism.

Type the following command as root user:

$ echo "scsi add-single-device 1 2 3 4">/proc/scsi/scsi

Where,

  • 1 - HBA number
  • 2 - channel id on the HBA
  • 3 - SCSI ID of the new device
  • 4 - LUN of the new device

You need to replace 1,2,3,4 with actual values or parameters as per above list.

TwitterFacebookGoogle+PDF versionFound an error/typo on this page? Help us!

{ 4 comments… read them below or add one }

1 Harold Veatch September 4, 2006 at 3:13 am

A cautionary note. I found that using the posted command to bring a Quantum SDLT scsi tape drive on line if it went off line for some reason, would cause it to negotiate at a lower than maximum trasfer speed. I don’t know if this happens with other devices or why it happens. The way I got around it was to reload the driver (asumming a klm).

av

Reply

2 Hector De Jesus October 24, 2006 at 7:11 pm

A better alternative is to use the utility from q-logic “ql-dynamic-tgt-lun-disc-1.8.tgz”

Reply

3 Davinder November 21, 2009 at 1:32 am

* 1 – HBA number
* 2 – channel id on the HBA
* 3 – SCSI ID of the new device
* 4 – LUN of the new device

how we will get these information from system. pls give more clarity on this part.

Reply

4 Nick Stoianov December 1, 2009 at 6:10 am

You can try the script I wrote below:

#!/usr/bin/perl

#####################################################################
#
# Quick Perl Script to scan for Fiber LUNs without restarting Linux
#
#####################################################################

opendir(NS, “/sys/class/scsi_host”);
@ns=readdir(NS);
closedir(NS);
shift @ns;
shift @ns;
foreach $ns(@ns) {
open(DAT,”>/sys/class/scsi_host/$ns/scan”) || die(“Cannot Open File”);
print DAT “- – -“;
close(DAT);
}

exit;

Reply

Leave a Comment

Tagged as:

Previous Faq:

Next Faq: