Linux/Unix系統中主機HBA無法發現LUN,路徑顯示錯誤,LUN相關錯誤
lovehewenyu發表於2018-04-27
本文歸納總結了 /Unix 系統幾個常見的 SCSI 故障如:主機 HBA 無法發現 LUN ,路徑顯示錯誤,同一個 LUN 顯示重複的 LUN ID ,故障切換問題,重新掃描磁碟問題等,並列出相關解決方法。
問題
1:
如何透過
iSCSI
在
Linux
動態發現新
LUNs
?
平臺
:
Linux, SuSE Linux
問題描述
:無法動態發現新磁碟裝置
根本原因
:
iSCSI驅動可在Ethernet上動態發現目標儲存系統,然而,它無法動態發現儲存系統上的LUN。Linux作業系統的SCSI中間層負責發現LUN。因此,透過Fibre Channel,使用者必須重新掃描SCSI匯流排以發現新新增LUN,使用者可透過重啟伺服器或重新載入iSCSI模組實現上述操作。
解決方法
:
root許可權使用以下命令在 RHEL 3, RHEL4, SLES 8, SLES 9, Asianux 1.0, and Asianux 2.0上重新載入iSCSI驅動:
# /etc/init.d/iscsi restart
在RHEL5和SLES 10上作為root使用以下命令:
RHEL5:
# /etc/init.d/iscsid restart
SLES 10:
# /etc/init.d/open-iscsi restart
或
# /sbin/iscsiadm -m session –R
問題
2:Linux
是否需要
LUN 0
?
平臺
:Linux
問題描述
:
1. /proc/scsi/scsi每條路徑只包含一個DGC LUN Z。
2. /proc/scsi/qla2?00/[0-9] 顯示除了LUN 0以外的所有LUN,星號標記顯示沒有 SCSI註冊。
3. Emulex HBA 已在 FA註冊 但/proc/scsi/scsi中沒有device entry。
根本原因
:
Linux 2.4.x核心對LUN 0使用SCSI INQUIRY命令以確定系統連線到何種型別的磁碟裝置。如果沒有LUN 0,QLogic和Emulex驅動將會返回錯誤而不是發INQUIRY命令給磁碟裝置,因此,Linux系統將無法自動掃描磁碟裝置。須手動啟用LUN。
解決方法
:
可透過以下方法解決此問題:
1. 對映一個Gatekeeper給LUN 0。Linux 2.4受到最大SCSI磁碟裝置數量的限制,因此可能需要手動指定HLU。
2. 手動掃描LUN。使用者須小心規劃掃描時間。
3. 為Linux SCSI驅動打補丁(不推薦)。
詳情請見Primus Solution emc115253。
問題
3
:
Linux
主機
Emulex HBA
無法看見磁碟裝置
平臺
:Linux Kernel 2.4
問題描述
:
1. 主機在儲存端註冊並登記後無法看到任何磁碟裝置。
2. 所有lpfc驅動例項檔案(例如:/proc/scsi/lpfc/*)無法看見儲存WWN。
解決方法
:
按照以下步驟進行操作:
1. 透過如下命令檢查哪些模組依賴於lpfc:
lsmod | grep lpfc
lpfc 243664 0 [lpfcdfc]
lpfc 243664 0 [lpfcdfc]
命令輸出地黑體部分是正在使用lpfc的模組。在lpfcdfc被刪除之前,lpfc將無法刪除。
2. 使用rmmod命令刪除相關模組,命令格式如下:
rmmod lpfcdfc
當該命令執行成功,透過lsmod命令驗證該模組已被刪除。
3. 使用以下命令刪除lpfc模組:
rmmod lpfc
4. 使用以下命令重新載入lpfc模組:
modprobe lpfc
5. 模組成功載入之後,將會初始化PLOGI及儲存埠資訊,將會在驅動例項檔案中看到。
同時也會自動掃描磁碟裝置,如果沒有,執行命令echo '- - -' > /proc/scsi/scsi掃描磁碟裝置。
問題
4
:
"powermt display dev=all "Device(s) not found""
平臺
:HP-UX, IBM AIX, Red Hat Linux, UNIX
軟體
:PowerPath 5.0
問題描述
:使用命令powermt display dev=all無法檢視新加SCSI磁碟裝置
解決方法
:在emcgrab日誌"powermt display options"檔案檢查PowerPath陣列狀態是否設定為“managed”,或在主機執行命令powermt display options。
如果指定陣列設定為“unmanaged”,則輸入以下命令:
powermt manage class=symm (or class=clariion, etc.)
powermt display dev=all
powermt save。
問題
5
:
Linux
主機在
proc/scsi/scsi
中發現重複
LUN ID
平臺
:Red Hat Linux 5.3
產品
:Symmetirx DMX-4, VMAX系列
問題描述
:
一個磁碟裝置呈現給2個HBA,每個HBA上透過2個不同LUN ID顯示2個例項。主機應當在各HBA上看到相同的例項(LUN 16而非16和17),而不是兩個不同的LUN ID。
Host: scsi5 Channel: 00 Id: 02 Lun: 16
Vendor: EMC Model: SYMMETRIX Rev: 5772
Type: Direct-Access ANSI SCSI revision: 02
Host: scsi5 Channel: 00 Id: 02 Lun: 17
Vendor: EMC Model: SYMMETRIX Rev: 5772
Type: Direct-Access ANSI SCSI revision: 02
Host: scsi3 Channel: 00 Id: 02 Lun: 16
Vendor: EMC Model: SYMMETRIX Rev: 5772
Type: Direct-Access ANSI SCSI revision: 02
Host: scsi3 Channel: 00 Id: 02 Lun: 17
Vendor: EMC Model: SYMMETRIX Rev: 5772
Type: Direct-Access ANSI SCSI revision: 02
解決方法
:
檢視是否SPC 2和SCSI 3標記缺失。重新新增標記會解決此問題,主機必須重啟以使更改生效。在HBA級別設定標記,例如:symmask -sid 308 -dir 8C -p 0 -wwn 10000000c99338ca set hba_flags on SPC2,SC3 –enable。
當磁碟裝置設定了SPC 2和SCSI 3之後,proc/scsi/scsi將會返回正確地LUN ID。
問題
6
:
Linux
作業系統能否不重新載入
Linux
驅動而重新掃描磁碟裝置?
平臺
:Red Hat Linux,SuSE Linux Enterprise Server(SLES),QLogic,
問題描述
:新LUN新增到儲存陣列之後,無法透過作業系統的QLogic HBA驅動看到該裝置。重啟或重新載入驅動會造成生產中斷。
解決方法
:
按照以下步驟,強制驅動重新掃描目標裝置,允許新增新磁碟裝置。該步驟觸發驅動初始化LUN發現程式。掃描順序:首先驅動層(qla2300/qla2200等),之後Linux SCSI中間層(即OS掃描)。
1. 1. 透過命令列強制掃描,輸入以下命令:
# echo "scsi-qlascan" > /proc/scsi
/<driver_name>/<adapter_ID>
<driver_name>
是qla2100, qla2200, qla2300 (2.4核心驅動)或qla2xxx(2.6核心驅動)
<adapter_ID>
是HBA例項編號。
2. 2. 執行步驟1之後,透過以下命令強制SCSI中間層執行掃描併為新加磁碟裝置新增device table entry。
# echo "scsi add-single-device 0 1 2 3" >/proc/scsi/scsi
"0 1 2 3"是“主機 通道 LUN”。
問題
7
:
Linux
收到
SCSI
錯誤返回值
0x20000
平臺
:Red Hat Enterprise Linux 4 U2及以上版本,QLogic,PowerPath
問題描述
:
1. 1. Red Hat Linux收到SCSI錯誤返回值0x20000。
2. 2. kernel: SCSI error : <1 0 7 206> return code = 0x20000
kernel: end_request: I/O error, dev sdik, sector 4069594
kernel: end_request: I/O error, dev sdik, sector 4069594
根本原因
:
當一個埠被禁止,拔出,或重置光纖通道交換機通常會導致一個RSCN(Registered State Change Notification)事件,所有仍連線在交換機上的HBA都會看到該RSCN事件。在沒有預警的情況下,多路徑軟體(PowerPath, DMP, MPIO)將會無法判斷。
注意:返回值0x20000表示DID_BUS_BUSY。並非所有0x20000錯誤都是由RSCN事件引起。Fabric或陣列故障也可能導致該錯誤。使用者不應假設RSCN一定是導致該錯誤發生的原因。
解決方法
:
要正確地解釋RSCN事件,須在modprobe.conf檔案中新增一個核心選項。須重啟以使更改生效。
1. 1. 編輯/etc/modprobe.conf並新增以下一行內容:
options qla2xxx ql2xprocessrscn=1
2. 2. 儲存檔案。
3. 3. 重新編譯initrd。
mkinitrd -f /boot/initrd-`uname -r`.img `uname -r`
4. 重啟系統以使更改生效。
問題
8
:
Linux
主機在
/proc/scsi/scsi
中只能看到一條路徑連線儲存
平臺
:SLES 9,SLES 10,QLogic 8.01.06.01,PowerPath 5.0.1
問題描述
:
1. SuSE Linux在/proc/scsi/scsi中只看到一條路徑連線儲存。
2. PowerPath只顯示一條路徑連線到emcpower裝置。
3. 即使配置了4條路徑,/proc/scsi/scsi也只顯示一條路徑連線到磁碟裝置
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: DGC Model: RAID 5 Rev: 0324
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: DGC Model: RAID 5 Rev: 0324
Type: Direct-Access ANSI SCSI revision: 04
powermt display dev=all displays only one path to the emcpower device:
Pseudo name=emcpowera
CLARiiON ID=CK200072300649 [SG_LINUXTST01]
Logical device ID=60060160128C1D00D8D768A3915BDC11 [fiscuat2 DATA]
state=alive; policy=BasicFailover; priority=0; queued-IOs=0
Owner: default=SP B, current=SP B
==============================================================================
---------------- Host --------------- - Stor - -- I/O Path - -- Stats ---
### HW Path I/O Paths Interf. Mode State Q-IOs Errors
==============================================================================
0 qla2xxx sda SP B0 active alive 0 0
CLARiiON ID=CK200072300649 [SG_LINUXTST01]
Logical device ID=60060160128C1D00D8D768A3915BDC11 [fiscuat2 DATA]
state=alive; policy=BasicFailover; priority=0; queued-IOs=0
Owner: default=SP B, current=SP B
==============================================================================
---------------- Host --------------- - Stor - -- I/O Path - -- Stats ---
### HW Path I/O Paths Interf. Mode State Q-IOs Errors
==============================================================================
0 qla2xxx sda SP B0 active alive 0 0
根本原因
:
如果使用者阻止PowerPath顯示交換機上連線HBA0的埠,路徑將會故障切換。PowerPath顯示LUN並沒有被另一個HBA透過另一個SP訪問。(LUN將會trespass)。資訊顯示如下:
Jan 29 16:01:07 linuxtst01 kernel: qla2400 0000:08:00.0: LOOP DOWN detected (2).
Jan 29 16:01:18 linuxtst01 kernel: qla2x00: FAILOVER device 0 from 5006016039a028a8 -> 5006016839a028a8 - LUN 00, reason=0x2
Jan 29 16:01:18 linuxtst01 kernel: qla2x00: FROM HBA 0 to HBA 0
Jan 29 16:01:19 linuxtst01 cmafcad[6362]: Host controller 129 status change.Status is now Loop Degraded.
Jan 29 16:01:21 linuxtst01 kernel: qla2x00: FAILOVER device 0 from 5006016839a028a8 -> 5006016a39a028a8 - LUN 00, reason=0x2
Jan 29 16:01:21 linuxtst01 kernel: qla2x00: FROM HBA 0 to HBA 0
Jan 29 16:01:23 linuxtst01 kernel: qla2400 0000:08:00.0: Scheduling rescan for new luns...
Jan 29 16:01:23 linuxtst01 kernel: qla2400 0000:08:00.1: Scheduling rescan for new luns...
Jan 29 16:01:24 linuxtst01 kernel: qla2x00: FAILOVER device 0 from 5006016a39a028a8 -> 5006016939a028a8 - LUN 00, reason=0x2
Jan 29 16:01:24 linuxtst01 kernel: qla2x00: FROM HBA 0 to HBA 1
Jan 29 16:01:18 linuxtst01 kernel: qla2x00: FAILOVER device 0 from 5006016039a028a8 -> 5006016839a028a8 - LUN 00, reason=0x2
Jan 29 16:01:18 linuxtst01 kernel: qla2x00: FROM HBA 0 to HBA 0
Jan 29 16:01:19 linuxtst01 cmafcad[6362]: Host controller 129 status change.Status is now Loop Degraded.
Jan 29 16:01:21 linuxtst01 kernel: qla2x00: FAILOVER device 0 from 5006016839a028a8 -> 5006016a39a028a8 - LUN 00, reason=0x2
Jan 29 16:01:21 linuxtst01 kernel: qla2x00: FROM HBA 0 to HBA 0
Jan 29 16:01:23 linuxtst01 kernel: qla2400 0000:08:00.0: Scheduling rescan for new luns...
Jan 29 16:01:23 linuxtst01 kernel: qla2400 0000:08:00.1: Scheduling rescan for new luns...
Jan 29 16:01:24 linuxtst01 kernel: qla2x00: FAILOVER device 0 from 5006016a39a028a8 -> 5006016939a028a8 - LUN 00, reason=0x2
Jan 29 16:01:24 linuxtst01 kernel: qla2x00: FROM HBA 0 to HBA 1
很明顯PowerPath沒有進行故障切換,但QLogic本機的故障切換被啟用了。
檢查/etc/modprobe.conf (RHEL主機) 或/etc/modprob.conf.local (SuSE 主機)的ql2xfailover引數。
解決方法
:
更改ql2xfailover引數值為0以禁止本機故障切換。在/etc/modprobe.conf中新增options qla2xxx ql2xfailover=0 ConfigRequired=0,重新編譯initrd並重啟。重啟之後,確認"cat /sys/module/qla2xxx/parameters/ql2xfailover"返回0。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26442936/viewspace-2153415/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- HBA與lun簡介2011-02-23
- PHP顯示全部錯誤2017-11-26PHP
- windows10系統顯示印表機列印錯誤如何解決2018-12-10Windows
- 無法發貼,NULL錯誤,求助!2004-04-15Null
- win10系統提示無法顯示當前所有者錯誤如何解決2019-06-02Win10
- unix中lun、pv、vg、lv等之間的關係2015-03-13
- IE 頁面不正常顯示 錯誤指令碼不報錯 指令碼除錯相關2014-01-04指令碼除錯
- wwid、uuid、lun、multipath、hba、udev總結2017-04-18UIdev
- 印表機錯誤無法列印怎麼處理 印表機錯誤不能列印的方法2022-02-15
- 印表機狀態錯誤怎麼解決 印表機一直顯示錯誤不能列印2022-03-17
- 修正windows下ora錯誤顯示???2011-02-27Windows
- 【AIX 命令學習】errpt 顯示系統錯誤報告!2010-08-30AI
- 儲存的一些基本概念(HBA,LUN)2008-09-17
- unity player 顯示播放錯誤時的解決辦法2013-03-21Unity
- ClamAV無法更新錯誤解決2009-05-18
- win10圖示錯誤顯示怎麼改回來_win10電腦圖示顯示錯誤處理方法2020-07-28Win10
- Git相關 | Git 常見的錯誤2018-05-14Git
- AIX發現EMC LUN的問題2008-04-24AI
- win10系統顯示“錯誤720”怎麼辦 win10系統寬頻連線720錯誤如何解決2020-12-06Win10
- 【北亞伺服器資料恢復】LUN對映出錯導致檔案系統一致性錯誤的資料恢復案例2022-03-31伺服器資料恢復
- 關於系統效能的10大錯誤2016-07-20
- 快速顯示oracle錯誤號的含義2019-04-29Oracle
- WPS公式編輯器顯示錯誤2016-06-25公式
- 新的網頁錯誤程式碼451:因網際網路審查無法顯示此內容2015-12-25網頁
- win10ip地址配置錯誤網路無法連線怎麼辦 ip地址配置錯誤網路無法連線的方法2022-05-10Win10
- 系統無法讓您登入,因為發生下列錯誤:無法取得RPC伺服器2020-04-04RPC伺服器
- Win7系統360瀏覽器開啟網頁顯示“網路連線錯誤,錯誤程式碼102”怎麼辦2017-02-21Win7瀏覽器網頁
- 雲伺服器,在與 SQL Server 建立連線時出現與網路相關的或特定於例項的錯誤。未找到或無法連結錯誤2019-05-11伺服器SQLServer
- 關於VS報無法解析外部符號的錯誤2013-08-09符號
- Diskpart無法清除win10系統中的磁碟屬性錯誤怎麼辦2019-08-29Win10
- windows10系統開機顯示器出現Input not supported錯誤對話方塊怎麼解決2019-08-12Windows
- vmware esxi主機提示當前主機無管理網路冗餘錯誤告警的處理方法2016-04-13
- 記錄一次根據錯誤資訊無法定位錯誤的錯誤2018-12-19
- Tableau 安裝過程出現錯誤0x00003,系統找不到指定路徑2020-09-30
- win10系統無法開機提示錯誤0xc00000bb怎麼辦2020-01-15Win10
- 關於Apache錯誤頁面導致版本顯示的設定2017-11-04Apache
- jQuery Validate自定義錯誤資訊顯示位置2019-02-14jQuery
- 開發中遇到的錯誤2016-03-12