以下情况:
具有内核的高效 Linux Debian 7 服务器
3.2.0-4-amd64 #1 SMP Debian 3.2.68-1+deb7u2 x86_64 GNU/Linux
制造商:Supermicro
产品名称:X10SLL-F
版本:1.02
SATA 控制器:Intel Corporation Lynx Point 6-port SATA Controller 1 [AHCI mode] (rev 04)
2 个 SSD,2 个 HDD
每个驱动器均可实现 Sata Rev3 (6.0Gb/s)
hdparm -I /dev/sd[a-d]|egrep "Model|speed|Transport"
Model Number: TOSHIBA THNSNH128GBST
Transport: Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6, SATA Rev 3.0
* Gen1 signaling speed (1.5Gb/s)
* Gen2 signaling speed (3.0Gb/s)
* Gen3 signaling speed (6.0Gb/s)
* SMART Command Transport (SCT) feature set
Model Number: TOSHIBA THNSNH128GBST
Transport: Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6, SATA Rev 3.0
* Gen1 signaling speed (1.5Gb/s)
* Gen2 signaling speed (3.0Gb/s)
* Gen3 signaling speed (6.0Gb/s)
* SMART Command Transport (SCT) feature set
Model Number: ST2000VX000-1CU164
Transport: Serial, SATA Rev 3.0
* Gen1 signaling speed (1.5Gb/s)
* Gen2 signaling speed (3.0Gb/s)
* Gen3 signaling speed (6.0Gb/s)
* SMART Command Transport (SCT) feature set
Model Number: ST2000VX000-1CU164
Transport: Serial, SATA Rev 3.0
* Gen1 signaling speed (1.5Gb/s)
* Gen2 signaling speed (3.0Gb/s)
* Gen3 signaling speed (6.0Gb/s)
* SMART Command Transport (SCT) feature set
内核消息表明(至少对我而言)所有 4 个驱动器都存在问题,这让我相信可能是 sata 控制器有问题。
ata1: exception Emask 0x50 SAct 0x0 SErr 0x4090800 action 0xe frozen
ata1: irq_stat 0x00400040, connection status changed
ata1: SError: { HostInt PHYRdyChg 10B8B DevExch }
ata1: hard resetting link
ata2: exception Emask 0x50 SAct 0x0 SErr 0x4090800 action 0xe frozen
ata2: irq_stat 0x00400040, connection status changed
ata2: SError: { HostInt PHYRdyChg 10B8B DevExch }
ata2: hard resetting link
ata4: exception Emask 0x50 SAct 0x0 SErr 0x4090800 action 0xe frozen
ata4: irq_stat 0x00400040, connection status changed
ata4: SError: { HostInt PHYRdyChg 10B8B DevExch }
ata4: hard resetting link
ata3: exception Emask 0x50 SAct 0x0 SErr 0x4090800 action 0xe frozen
ata3: irq_stat 0x00400040, connection status changed
ata3: SError: { HostInt PHYRdyChg 10B8B DevExch }
ata3: hard resetting link
ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
ata4: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 310)
ata4.00: ACPI cmd f5/00:00:00:00:00:00 (SECURITY FREEZE LOCK) filtered out
ata4.00: ACPI cmd b1/c1:00:00:00:00:00 (DEVICE CONFIGURATION OVERLAY) filtered out
ata2.00: ACPI cmd f5/00:00:00:00:00:00 (SECURITY FREEZE LOCK) filtered out
ata2.00: ACPI cmd b1/c1:00:00:00:00:00 (DEVICE CONFIGURATION OVERLAY) filtered out
ata1.00: ACPI cmd f5/00:00:00:00:00:00 (SECURITY FREEZE LOCK) filtered out
ata1.00: ACPI cmd b1/c1:00:00:00:00:00 (DEVICE CONFIGURATION OVERLAY) filtered out
ata3.00: ACPI cmd f5/00:00:00:00:00:00 (SECURITY FREEZE LOCK) filtered out
ata3.00: ACPI cmd b1/c1:00:00:00:00:00 (DEVICE CONFIGURATION OVERLAY) filtered out
ata2.00: ACPI cmd f5/00:00:00:00:00:00 (SECURITY FREEZE LOCK) filtered out
ata2.00: ACPI cmd b1/c1:00:00:00:00:00 (DEVICE CONFIGURATION OVERLAY) filtered out
ata1.00: ACPI cmd f5/00:00:00:00:00:00 (SECURITY FREEZE LOCK) filtered out
ata1.00: ACPI cmd b1/c1:00:00:00:00:00 (DEVICE CONFIGURATION OVERLAY) filtered out
ata2.00: configured for UDMA/33
ata2: EH complete
ata1.00: configured for UDMA/33
ata1: EH complete
ata3.00: ACPI cmd f5/00:00:00:00:00:00 (SECURITY FREEZE LOCK) filtered out
ata3.00: ACPI cmd b1/c1:00:00:00:00:00 (DEVICE CONFIGURATION OVERLAY) filtered out
ata4.00: ACPI cmd f5/00:00:00:00:00:00 (SECURITY FREEZE LOCK) filtered out
ata4.00: ACPI cmd b1/c1:00:00:00:00:00 (DEVICE CONFIGURATION OVERLAY) filtered out
ata3.00: configured for UDMA/33
ata3: EH complete
ata4.00: configured for UDMA/33
ata4: EH complete
我已经弄清楚了什么(或者认为已经弄清楚了)
这些命令对于该问题来说SECURITY FREEZE LOCK
并不DEVICE CONFIGURATION OVERLAY
重要。
在阅读大约 20 个错误报告和大量文档时,一些链接确实建议禁用 NCQ,我照做了。
首先是一台设备,等待 1 天后检查错误是否重复,结果再次发生,我为所有 4 台设备禁用了该功能
echo "1" >/sys/block/sdc/device/queue_depth
情况无明显变化。
https://ata.wiki.kernel.org/index.php/Libata_error_messages
https://wiki.archlinux.org/index.php/Solid_State_Drives#Resolving_NCQ_errors
其他人建议使用 SATA 电缆,甚至主板和驱动器之间不兼容。
但是,由于我似乎要么在一个驱动器上遇到问题,而这个问题又波及到所有 4 个驱动器,要么直接在所有 4 个设备上遇到问题,因此我无法进一步查明问题所在。
由于这是一台生产服务器,因此将其停机维护(即 bios/内核参数更改)是可能的,但如果可能的话,我希望防止这种情况发生。
根据主机提供商的说法,这可能与电源管理有关:
https://bugzilla.kernel.org/show_bug.cgi?id=74961 https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1318218
echo "medium_power" >/sys/class/scsi_host/host0/link_power_management_policy
在更改之前,它被设置为max_performance
。
这也无济于事。
HDD/SDD 的智能值还可以,没有什么太明显的变化。
请注意,UDMA 值现在似乎仅为 33。
在服务器启动时,这是 SATA 链接速度值:
[ 3.161850] ata6: SATA link down (SStatus 0 SControl 300)
[ 3.161867] ata2: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[ 3.161882] ata4: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[ 3.161894] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[ 3.161907] ata5: SATA link down (SStatus 0 SControl 300)
这种情况可能只会在 HDD 负载较高时发生,我还没有测试过,因为它会明显影响服务器性能。
SSD 上没有负载,它们已被安装但未被任何进程使用。
据我所知,RAM 是 ECC。
dmidecode -t 17
# dmidecode 2.11
SMBIOS 2.7 present.
Handle 0x0023, DMI type 17, 34 bytes
Memory Device
Array Handle: 0x0022
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 8192 MB
Form Factor: DIMM
Set: None
Locator: P1-DIMMA1
Bank Locator: P0_Node0_Channel0_Dimm0
Type: DDR3
Type Detail: Synchronous
Speed: 1600 MHz
Manufacturer: Samsung
Serial Number: 373A6427
Asset Tag: 9876543210
Part Number: M391B1G73QH0-CK0
Rank: 2
Configured Clock Speed: 1600 MHz
请让我知道我是否可以提供更多信息,因为我不知道下一步该做什么。
答案1
在与驱动器通信时出现一些问题后,服务器所经历的基本上是较低链路速度下的 SATA 重新协商。
这些因素可能在这里发挥作用(按概率排序)
- 延迟极高的 IOPS 操作(例如:由 SSD 控制器的垃圾收集引起)导致 SATA 命令超时。您的驱动器是否支持 SATA Trim 命令?如果支持,请尝试运行
fstrim /
。它会改变什么吗? - 主板/内存有问题:你的内存 ECC 是否受保护?如果没有,如果可以的话,运行一个延长的(2 小时以上)memtest86+ 测试会话
- 硬件/软件驱动程序不兼容
- SATA 控制器故障:虽然可能性很小,但无法完全排除
- SATA 电缆/驱动器损坏:由于所有四个驱动器都出现问题,因此这种情况不太可能发生
答案2
据 Supermicro 支持部门称,缺陷出在主板上:
引用:
This board may need ECO 16238 update.