linux系統(tǒng)下掃描新增磁盤命令是什么呢?下面是具體介紹:
linux系統(tǒng)下掃描新增磁盤命令是:SCSI。
Linux系統(tǒng)提供多重機(jī)制以重新掃描SCSI總線并重認(rèn)系統(tǒng)中加入的SCSI設(shè)備。在2.4內(nèi)核方案里,因?yàn)閯?dòng)態(tài)LUN掃描機(jī)制不具備一致性,所以需要中斷I/O。2.6內(nèi)核里,LUN掃描有了顯著改進(jìn)并添加了動(dòng)態(tài)LUN掃描機(jī)制。Linux主機(jī)對磁盤設(shè)備進(jìn)行重新配置的方式包括:重啟系統(tǒng)、卸載并重新加載HBA驅(qū)動(dòng)模塊、Echo /proc下的SCSI設(shè)備列表、通過/sys下的屬性設(shè)置運(yùn)行SCSI掃描、通過HBA廠商腳本運(yùn)行SCSI掃描。
系統(tǒng)重啟:
重啟主機(jī)是檢測新添加磁盤設(shè)備的可靠方式。在所有I/O停止之后方可重啟主機(jī),同時(shí)靜態(tài)或以模塊方式連接磁盤驅(qū)動(dòng)。系統(tǒng)初始化時(shí)會(huì)掃描PCI總線,因此掛載其上的SCSI host adapter會(huì)被掃描到,并生成一個(gè)PCI device。之后掃描軟件會(huì)為該P(yáng)CI device加載相應(yīng)的驅(qū)動(dòng)程序。加載SCSI host驅(qū)動(dòng)時(shí),其探測函數(shù)會(huì)初始化SCSI host,注冊中斷處理函數(shù),最后調(diào)用scsi_scan_host函數(shù)掃描scsi host adapter所管理的所有scsi總線。
重新加載HBA驅(qū)動(dòng):
通常情況下,HBA驅(qū)動(dòng)在系統(tǒng)中以模塊形式加載。從而允許模塊被卸載并重新加載,在該過程中SCSI掃描函數(shù)得以調(diào)用。通常,在卸載HBA驅(qū)動(dòng)之前,SCSI設(shè)備的所有I/O都應(yīng)該停止,卸載文件系統(tǒng),多路徑服務(wù)應(yīng)用也需停止。如果有代理或HBA應(yīng)用幫助模塊,也應(yīng)當(dāng)中止。
舉例:
rac節(jié)點(diǎn)上某臺(tái)服務(wù)器執(zhí)行fdisk –l命令看不到共享磁盤,可嘗試執(zhí)行如下命令:
# modprobe -r lpfc(卸載驅(qū)動(dòng))
# modprobe lpfc(加載驅(qū)動(dòng))
/proc下SCSI掃描
2.4內(nèi)核中,/proc文件系統(tǒng)提供了可用SCSI設(shè)備的列表。如果系統(tǒng)中SCSI設(shè)備重新配置,那么所有這些改變通過echo /proc接口反映到SCSI設(shè)備中。添加一個(gè)設(shè)備,主機(jī),channel,target ID,以及磁盤設(shè)備的LUN編號(hào)會(huì)被添加到/proc/scsi/,需指定scsi編號(hào)。
舉例:
# echo "scsi add-single-device 0 1 2 3" > /proc/scsi/scsi
0:主機(jī)ID
1:channel ID
2:target ID
3:LUN編號(hào)
該命令會(huì)將新磁盤設(shè)備添加到/proc/scsi/scsi文件中。如果沒有找到相應(yīng)文件,需為/dev路徑下新增磁盤設(shè)備創(chuàng)建設(shè)備文件名。
如果要?jiǎng)h除一個(gè)磁盤設(shè)備,使用適當(dāng)?shù)闹鳈C(jī),channel,target ID及LUN編號(hào)運(yùn)行如下格式命令:
# echo "scsi remove-single-device 0 1 2 3" > /proc/scsi/scsi
0:主機(jī)ID
1:channel ID
2:target ID
3:LUN編號(hào)
/sys下SCSI掃描
2.6內(nèi)核中,HBA驅(qū)動(dòng)將SCAN功能導(dǎo)出至/sys目錄下,可用來重新掃描該接口下的SCSI磁盤設(shè)備。命令如下:
# cd /sys/class/scsi_host/host4/
# ls -al scan
# echo ‘- - -’ > scan
‘- - -’代表channel,target和LUN編號(hào)。以上命令會(huì)導(dǎo)致hba4下所有channel,target以及可見LUN被掃描。
RHEL5 或SUSE10:
echo ‘- - -’ > /sys/class/scsi_host/host0/scan
/sys/class/scsi_host/ 下面有幾個(gè)host 就掃描幾次
RHEL4 或SUSE9:
echo 1 >> /sys/class/scsi_host/host0/issue_lip
同樣是/sys/class/scsi_host/ 下面有幾個(gè)host 就執(zhí)行幾次
echo ‘- - -’ >> /sys/class/scsi_host/host0/scan
以上就是小編今天的分享了,希望可以幫助到大家。
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com