當前位置:生活全書館 >

IT科技

> linux掃描新增磁碟命令

linux掃描新增磁碟命令

linux系統下掃描新增磁碟命令是:SCSI。

Linux系統提供多重機制以重新掃描SCSI匯流排並重認系統中加入的SCSI裝置。在2.4核心方案裡,因為動態LUN掃描機制不具備一致性,所以需要中斷I/O。2.6核心裡,LUN掃描有了顯著改進並添加了動態LUN掃描機制。Linux主機對磁碟裝置進行重新配置的方式包括:重啟系統、解除安裝並重新載入HBA驅動模組、Echo /proc下的SCSI裝置列表、通過/sys下的屬性設定執行SCSI掃描、通過HBA廠商指令碼執行SCSI掃描。

系統重啟:

重啟主機是檢測新新增磁碟裝置的可靠方式。在所有I/O停止之後方可重啟主機,同時靜態或以模組方式連線磁碟驅動。系統初始化時會掃描PCI匯流排,因此掛載其上的SCSI host adapter會被掃描到,並生成一個PCI device。之後掃描軟體會為該PCI device載入相應的驅動程式。載入SCSI host驅動時,其探測函式會初始化SCSI host,註冊中斷處理函式,最後呼叫scsi_scan_host函式掃描scsi host adapter所管理的所有scsi匯流排。
重新載入HBA驅動:
通常情況下,HBA驅動在系統中以模組形式載入。從而允許模組被解除安裝並重新載入,在該過程中SCSI掃描函式得以呼叫。通常,在解除安裝HBA驅動之前,SCSI裝置的所有I/O都應該停止,解除安裝檔案系統,多路徑服務應用也需停止。如果有代理或HBA應用幫助模組,也應當中止。
舉例:
rac節點上某臺伺服器執行fdisk –l命令看不到共享磁碟,可嘗試執行如下命令:
# modprobe -r lpfc(解除安裝驅動)
# modprobe lpfc(載入驅動)
/proc下SCSI掃描
2.4核心中,/proc檔案系統提供了可用SCSI裝置的列表。如果系統中SCSI裝置重新配置,那麼所有這些改變通過echo /proc介面反映到SCSI裝置中。新增一個裝置,主機,channel,target ID,以及磁碟裝置的LUN編號會被新增到/proc/scsi/,需指定scsi編號。
舉例:

# echo "scsi add-single-device 0 1 2 3" > /proc/scsi/scsi
0:主機ID
1:channel ID
2:target ID
3:LUN編號
該命令會將新磁碟裝置新增到/proc/scsi/scsi檔案中。如果沒有找到相應檔案,需為/dev路徑下新增磁碟裝置建立裝置檔名。
如果要刪除一個磁碟裝置,使用適當的主機,channel,target ID及LUN編號執行如下格式命令:
# echo "scsi remove-single-device 0 1 2 3" > /proc/scsi/scsi
0:主機ID
1:channel ID
2:target ID
3:LUN編號
/sys下SCSI掃描
2.6核心中,HBA驅動將SCAN功能匯出至/sys目錄下,可用來重新掃描該介面下的SCSI磁碟裝置。命令如下:
# cd /sys/class/scsi_host/host4/
# ls -al scan
# echo ‘- - -’ > scan
‘- - -’代表channel,target和LUN編號。以上命令會導致hba4下所有channel,target以及可見LUN被掃描。
RHEL5 或SUSE10:
echo ‘- - -’ > /sys/class/scsi_host/host0/scan
/sys/class/scsi_host/ 下面有幾個host 就掃描幾次
RHEL4 或SUSE9:
echo 1 >> /sys/class/scsi_host/host0/issue_lip
同樣是/sys/class/scsi_host/ 下面有幾個host 就執行幾次
echo ‘- - -’ >> /sys/class/scsi_host/host0/scan

linux掃描新增磁碟命令

  • 文章版權屬於文章作者所有,轉載請註明 https://shqsg.com/dianzi/zz3349.html