SCSI接口具有應用范圍廣、多任務、帶寬大、CPU占用率低,以及熱插拔等優點,在服務器中廣泛的應用。
當然在虛擬化平台支持下,也能模擬出SCSI設備,方便在虛擬機上熱添加SCSI設備(一般是硬盤)
但是在熱添加SCSI設備之后,需要手動rescan SCSI設備。
比較常見的做法是輸入如下命令
echo "- - -" > /sys/class/scsi_host/host*/scan
CentOS/RHEL5.9開始(SUSE11/12也有這個工具)提供一個工具包sg3_utils同樣可以方便的實現rescan操作
# yum install sg3_utils # /usr/bin/rescan-scsi-bus.sh
即可rescan SCSI設備
以下是rescan-scsi-bus.sh的說明
# /usr/bin/rescan-scsi-bus.sh --help Usage: rescan-scsi-bus.sh [options] [host [host ...]] Options: -a scan all targets, not just currently existing [default: disabled] -d enable debug [default: 0] -l activates scanning for LUNs 0--7 [default: 0] -L NUM activates scanning for LUNs 0--NUM [default: 0] -w scan for target device IDs 0--15 [default: 0--7] -c enables scanning of channels 0 1 [default: 0 / all detected ones] -m update multipath devices [default: disabled] -r enables removing of devices [default: disabled] -f flush failed multipath devices [default: disabled] -i issue a FibreChannel LIP reset [default: disabled] -u look for existing disks that have been remapped -s look for resized disks and reload associated multipath devices, if applicable --alltargets: same as -a --remove: same as -r --flush: same as -f --issue-lip: same as -i --wide: same as -w --multipath: same as -m --forceremove: Remove stale devices (DANGEROUS) --forcerescan: Remove and readd existing devices (DANGEROUS) --nooptscan: don't stop looking for LUNs if 0 is not found --color: use coloured prefixes OLD/NEW/DEL --hosts=LIST: Scan only host(s) in LIST --channels=LIST: Scan only channel(s) in LIST --ids=LIST: Scan only target ID(s) in LIST --luns=LIST: Scan only lun(s) in LIST --sync/nosync: Issue a sync / no sync [default: sync if remove] --attachpq3: Tell kernel to attach sg to LUN 0 that reports PQ=3 --reportlun2: Tell kernel to try REPORT_LUN even on SCSI2 devices --largelun: Tell kernel to support LUNs > 7 even on SCSI2 devs --sparselun: Tell kernel to support sparse LUN numbering --update: same as -u --resize: same as -s Host numbers may thus be specified either directly on cmd line (deprecated) or or with the --hosts=LIST parameter (recommended). LIST: A[-B][,C[-D]]... is a comma separated list of single values and ranges (No spaces allowed.)
本文參考鏈接如下
How do I rescan an HP Smart Array for new devices without rebooting?
How to rescan the SCSI bus to add or remove a SCSI device without rebooting the computer
ADDING/REMOVING A LOGICAL UNIT THROUGH RESCAN-SCSI-BUS.SH
HOWTO: Add, Resize and Remove LUN without restarting SLES or OES Linux