Linux SCSI subsystem overview
This topic provides an overview of SCSI disk connectivity.
- The upper layer consists of specific device type drivers that are closest to user-space, such as the disk driver, tape driver, and CD-ROM driver.
- The lower layer consists of drivers, such as the QLogic and Emulex host bus adapter (HBA) drivers, which are closest to the hardware.
- The middle layer is the SCSI core that glues the upper and lower layer drivers together.
Typically, in most distributions these drivers are built as modules and will be loaded at boot as part of the initrd images. If they are not loaded on boot, and are required at boot time, then an initrd image should be built to include them. For 2.4 kernels this is done by modifying the /etc/modules.conf file. For 2.6 kernels, this is done by modifying the /etc/modprobe.conf file and the /etc/sysconfig/kernel file. After modifying these files, the mkinitrd command needs to be run to pick up the changes.
To check if the drivers are built as modules and are currently loaded, check for sd_mod and scsi_mod in the lsmod command output. The following is example output:
# lsmod | grep sd sd_mod 13440 296 scsi_mod 104068 6 [qla2300 st sr_mod sg ncr53c8xx sd_mod]