熱插拔 SAS 硬碟有問題。
初始資料:基於Nexenta 4.0.2伺服器的Supermicro(MB S5520HC,內部RAID控制器RMS2LL080/LSI 2008),12 HDD SAS 300G 10 HDD SATA 1T,2 SSD 160G。
磁碟分為三個池:
- 系統 SAS 2x300 鏡像
- 「快速」SAS 硬碟陣列 10 個(9 + 1 個備用)
- “慢”SATA 陣列 10 個驅動器
在某個時刻,兩個 SAS 硬碟發生故障:
NAME STATE READ WRITE CKSUM
sas DEGRADED 0 0 0
raidz1-0 DEGRADED 0 0 0
c1t5000C50007DCF821d0 ONLINE 0 0 0
c1t5000CCA0052FFDD5d0 ONLINE 0 0 0
c1t5000CCA005349D15d0 ONLINE 0 0 0
spare-3 FAULTED 0 0 0
c1t5000CCA00534D625d0 FAULTED 0 0 0 external device fault
c1t5000CCA0053658B5d0 ONLINE 0 0 0
c1t5000CCA00534F2D5d0 ONLINE 0 0 0
c1t5000CCA00534F33Dd0 ONLINE 0 0 0
c1t5000CCA00534F471d0 ONLINE 0 0 0
c1t5000CCA0053571D1d0 ONLINE 0 0 0
c1t5000CCA00535A3A5d0 ONLINE 0 0 0
logs
c0t500151795950C847d0 ONLINE 0 0 0
spares
c1t5000CCA0053658B5d0 INUSE currently in use
pool: syspool
state: DEGRADED
status: One or more devices are faulted in response to persistent errors.
Sufficient replicas exist for the pool to continue functioning in a
degraded state.
action: Replace the faulted device, or use 'zpool clear' to mark the device
repaired.
scan: scrub repaired 0 in 0h3m with 0 errors on Sun Oct 4 03:03:56 2015
config:
NAME STATE READ WRITE CKSUM
syspool DEGRADED 0 0 0
mirror-0 DEGRADED 0 0 0
c1t5000C500072BB235d0s0 FAULTED 1 20 0 external device fault
c1t5000C500072BE655d0s0 ONLINE 0 0 0
接下來,為每個磁碟執行 zpool Offline / detach 和 cfgadm -c unconfigure 替換程序。安裝完一個磁碟機(本例為syspool)後在日誌中可以看到以下內容:
Oct 9 18:28:43 nxstor genunix: [ID 408114 kern.info] /pci@0,0/pci8086,3a40@1c/pci8086,350e@0/iport@ff/disk@w5000c50007dcf7ed,0 (sd26) online
Oct 9 18:28:43 nxstor pcplusmp: [ID 805372 kern.info] pcplusmp: pci-ide (pci-ide) instance 0 irq 0x12 vector 0x41 ioapic 0x8 intin 0x12 is bound to cpu 14
Oct 9 18:28:43 nxstor pcplusmp: [ID 805372 kern.info] pcplusmp: pci-ide (pci-ide) instance 1 irq 0x15 vector 0x42 ioapic 0x8 intin 0x15 is bound to cpu 15
Oct 9 18:28:43 nxstor pcplusmp: [ID 805372 kern.info] pcplusmp: pci-ide (pci-ide) instance 0 irq 0x12 vector 0x41 ioapic 0x8 intin 0x12 is bound to cpu 0
Oct 9 18:28:43 nxstor pcplusmp: [ID 805372 kern.info] pcplusmp: pci-ide (pci-ide) instance 1 irq 0x15 vector 0x41 ioapic 0x8 intin 0x15 is bound to cpu 1
Oct 9 18:39:53 nxstor genunix: [ID 888150 kern.warning] WARNING: Device not found in device tree. Skipping device unretire: /pci@0,0/pci8086,3a40@1c/pci8086,350e@0/iport@ff/disk@w5000c500072bb235,0
Oct 9 18:39:53 nxstor genunix: [ID 484473 kern.notice] NOTICE: Not retired: /pci@0,0/pci8086,3a40@1c/pci8086,350e@0/iport@ff/disk@w5000c500072bb235,0
Oct 9 18:39:53 nxstor genunix: [ID 888150 kern.warning] WARNING: Device not found in device tree. Skipping device unretire: /pci@0,0/pci8086,3a40@1c/pci8086,350e@0/iport@ff/disk@w5000cca00534d625,0
Disks 和 disk @ w5000cca00534d625,0 disk @ w5000c500072bb235,0 是兩個有問題的磁碟,已從系統中移除。
安裝的 HDD 定義的 cfgadm:
root@nxstor:/volumes# cfgadm -al
Ap_Id Type Receptacle Occupant Condition
Slot2 sas/hp connected configured ok
c1 scsi-sas connected configured unknown
c1::dsk/c1t5000C50007DCF7EDd0 disk connected configured unknown
<cut>
然而,這種光碟格式也看不到實用程式 fdisk:
root@nxstor:/volumes# fdisk /dev/rdsk/c1t5000C50007DCF7EDd0
fdisk: Cannot stat device /dev/rdsk/c1t5000C50007DCF7EDd0.
root@nxstor:/volumes#
root@nxstor:/volumes# ls -la /dev/rdsk/c1t5000C50007DCF7EDd0
/dev/rdsk/c1t5000C50007DCF7EDd0: No such file or directory
此外,NMS 還看到以下內容:
Trigger Name: nms-fmacheck
Fault ID: 5
Error Repeat Count: 5
Error Severity: CRITICAL
Error TimeStamp: Tue Oct 13 14:21:54 2015
Description:
FMA Module: ereport.io.scsi.disk.attach-failure
Details:
List of last errors :
Oct 13 13:48:02.6970 ereport.io.scsi.cmd.disk.tran
<cut>
Oct 13 14:21:05.7075 ereport.io.scsi.cmd.disk.tran
Oct 13 14:21:53.6196 ereport.io.scsi.cmd.disk.dev.rqs.derr
Oct 13 14:21:53.6197 ereport.io.scsi.disk.attach-failure
List of last errors :
=========: Event Details :========
SOURCE: ereport.io.scsi.disk.attach-failure
nvlist version: 0
class = ereport.io.scsi.disk.attach-failure
ena = 0x58420a3d24100401
detector = (embedded nvlist)
nvlist version: 0
version = 0x0
scheme = dev
device-path = /pci@0,0/pci8086,3a40@1c/pci8086,350e@0/iport@ff/disk@w5000c50007dcf7ed,0
devid = id1,sd@n5000c50007dcf7ef
(end detector)
devid = id1,sd@n5000c50007dcf7ef
__ttl = 0x1
__tod = 0x561cdb41 0x24f05942
=========
如果我們假設新驅動器也有缺陷,並讓其他驅動器得到更奇怪的圖片。日誌安裝盤根本不出現。但取出光碟時顯示訊息:
Oct 13 14:50:26 nxstor scsi: [ID 107833 kern.notice] /pci@0,0/pci8086,3a40@1c/pci8086,350e@0 (mpt_sas0):
Oct 13 14:50:26 nxstor PhysDiskNum 2 with DevHandle 0x23 in slot 0 for enclosure with handle 0x0 is now offline
根據經驗,我們發現該問題僅適用於 SAS 硬碟。這反過來又提示了有關 MPxIO 驅動程式和 mpt_sas 的 cfgadm 中的問題(事實證明這是已知的 Solaris 問題,並寫道她已解決,但不清楚它是否在 opensolaris 中傳遞)。
接下來做什麼?誰遇到類似的問題?
驅動程式和韌體 SAS 控制器: MPTSAS HBA 驅動程式 00.00.00.24 韌體版本 5.40.1.0 SAS 驅動器有兩種:Hitachi Ultrastar 15K300 HUS153030VLS300 和 Seagate Cheetah 15K300 HUS153030VLS300 和 Seagate Cheetah 15K.53300006530000006SS。