Disk Management!

It turns out that you can add and remove SCSI, and thereby SAS/SATA, disk drives without forcing a system reboot. To force a rescan of the SCSI controller you need to first find the SCSI controller hosts.

First, we’ll cover re-scanning the SCSI controller after you’ve added a new disk.

$ ls /sys/class/scsi_host/

The output will vary, depending on your system, but it should look something like this:

host0
host1
host2
host3
host4
host5

You can now issue the following command(s) to force a rescan of the SCSI bus controller:

echo "- - -" > /sys/class/scsi_host/host0/scan
echo "- - -" > /sys/class/scsi_host/host1/scan

Continue the echo command until you’ve hit all of your hosts.

Now we’ll cover how to gracefully remove a disk from your system.

First, ensure that you have unmounted the drive. In my example I will be removing /dev/sdb from the system, modify your command to include the specific device you are removing.

# umount /dev/sdb1

Once your drive is unmounted, you can issue the following command to signal the Linux kernel to remove the device.

# echo 1 > /sys/block/sdb/device/delete

You could verify the kernel message by inspecting the last few lines of dmesg to ensure the disk was removed.

Advertisements