![Dell PERC H750 megacli 在 Ubuntu 20.04 LTS 中挂起](https://linux22.com/image/942116/Dell%20PERC%20H750%20megacli%20%E5%9C%A8%20Ubuntu%2020.04%20LTS%20%E4%B8%AD%E6%8C%82%E8%B5%B7.png)
当我尝试使用 megacli 命令时,它挂起了。在 dmesg 中获取以下内容
这是运行全新安装的 Ubuntu 20.04 LTS。我使用的是来自 https://hwraid.le-vert.net/ 的用户空间焦点二进制文件 PPA,我在 Ubuntu 上使用它已有十多年了。
该卡被报告为 18:00.0 RAID 总线控制器:Broadcom / LSI MegaRAID 12GSAS/PCIe Secure SAS39xx
我有两台这样的服务器,它们是全新的,所以这几乎肯定与硬件/驱动程序有关。
有人知道这里发生了什么事吗?或者有没有更合适的地方来报告此事?
Linux icarus 5.4.0-89-generic #100-Ubuntu SMP 星期五 9 月 24 日 14:50:10 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
[ 485.816909] 代码:错误的 RIP 值。 [485.816909] RSP:002b:00007fff81377078 EFLAGS:00000206 ORIG_RAX:0000000000000010 [485.816910] RAX:ffffffffffffffda RBX:00000000019394c0 RCX:00007f10c4ee150b [485.816910] RDX:0000000001939d90 RSI:00000000c1944d01 RDI:0000000000000003 [485.816911]RBP:00007fff813770b0 R08:0000000001939d90 R09:00007f10c4fb6230 [485.816911] R10:0000000000401392 R11:0000000000000206 R12:00000000004028a0 [485.816911] R13:00007fff81377f30 R14:0000000000000000 R15:0000000000000000 [ 606.654843] 信息:任务 megacli.real:2164 被阻止超过 483 秒。 [606.654861]未受污染 5.4.0-89-通用#100-Ubuntu [ 606.654873] “echo 0 > /proc/sys/kernel/hung_task_timeout_secs”禁用此消息。 [606.654889] megacli.real D 0 2164 2162 0x00000000 [ 606.654891] 呼叫追踪: [606.654894] __计划+0x2e3/0x740 [606.654895]时间表+0x42/0xb0 [606.654898]megasas_issue_blocked_cmd+0x176/0x1b0 [megaraid_sas] [ 606.654900] ?等待唤醒+0x80/0x80 [606.654902]megasas_mgmt_fw_ioctl+0x4b0/0x740 [megaraid_sas] [606.654905]megasas_mgmt_ioctl_fw.isra.0+0x137/0x190 [megaraid_sas] [606.654907]megasas_mgmt_ioctl+0x28/0x40 [megaraid_sas] [606.654909] do_vfs_ioctl + 0x407/0x670 [606.654911]?do_user_addr_fault+0x216/0x450 [606.654912]ksys_ioctl+0x67/0x90 [606.654914] __x64_sys_ioctl+0x1a/0x20 [606.654915] do_syscall_64 + 0x57/0x190 [606.654916]entry_SYSCALL_64_after_hwframe+0x44/0xa9 [606.654917] RIP:0033:0x7fbf8cc5150b [ 606.654919] 代码:错误的 RIP 值。 [606.654920] RSP:002b:00007ffd523d9bd8 EFLAGS:00000246 ORIG_RAX:0000000000000010 [606.654921] RAX:ffffffffffffffda RBX:00000000012da590 RCX:00007fbf8cc5150b [606.654921] RDX:00000000012d4dd0 RSI:00000000c1944d01 RDI:0000000000000003 [606.654921]RBP:00007ffd523d9c10 R08:00000000012d4dd0 R09:000000000000007c [606.654922] R10:00000000012bd010 R11:0000000000000246 R12:00000000004028a0 [606.654922] R13:00007ffd523da4a0 R14:0000000000000000 R15:0000000000000000 [606.654929] 信息:任务 megacli.real:3594 被阻止超过 483 秒。 [ 606.654945] 未受污染 5.4.0-89-通用#100-Ubuntu [ 606.654957] “echo 0 > /proc/sys/kernel/hung_task_timeout_secs”禁用此消息。 [606.654973] megacli.real D 0 3594 3593 0x00000004 [ 606.654974] 呼叫追踪: [ 606.654975 ] __计划+0x2e3/0x740 [606.654976]时间表+0x42/0xb0 [606.654978]megasas_issue_blocked_cmd+0x176/0x1b0 [megaraid_sas] [ 606.654979] ?等待唤醒+0x80/0x80 [606.654981]megasas_mgmt_fw_ioctl+0x4b0/0x740 [megaraid_sas] [606.654983]megasas_mgmt_ioctl_fw.isra.0+0x137/0x190 [megaraid_sas] [606.654985]megasas_mgmt_ioctl+0x28/0x40 [megaraid_sas] [ 606.654986] do_vfs_ioctl + 0x407/0x670 [606.654987]?do_user_addr_fault+0x216/0x450 [606.654988]ksys_ioctl+0x67/0x90 [606.654990] __x64_sys_ioctl+0x1a/0x20 [606.654991] do_syscall_64 + 0x57/0x190 [606.654991]entry_SYSCALL_64_after_hwframe+0x44/0xa9 [606.654992] RIP:0033:0x7fbbf145150b [ 606.654993] 代码:错误的 RIP 值。 [606.654994] RSP:002b:00007ffd6b0ddab8 EFLAGS:00000206 ORIG_RAX:0000000000000010 [606.654994] RAX:ffffffffffffffda RBX:00000000011ab4c0 RCX:00007fbbf145150b [606.654995] RDX:00000000011abd90 RSI:00000000c1944d01 RDI:0000000000000003 [606.654995]RBP:00007ffd6b0ddaf0 R08:00000000011abd90 R09:00007fbbf1526230 [606.654995] R10:0000000000401392 R11:0000000000000206 R12:00000000004028a0 [606.654996] R13:00007ffd6b0de970 R14:0000000000000000 R15:0000000000000000
然后控制器重置。
[721.731796] megaraid_sas 0000:18:00.0: megasas_disable_intr_fusion 被称为 outbound_intr_mask:0x40000009 [ 721.731855] megaraid_sas 0000:18:00.0: FW 处于故障状态故障代码:0x10000 子代码:0x0 func:megasas_wait_for_outstanding_fusion [ 721.731954] megaraid_sas 0000:18:00.0:正在重置融合适配器 scsi0。 [721.732587] megaraid_sas 0000:18:00.0:未完成的快速路径 IO:0 [ 732.492151] megaraid_sas 0000:18:00.0:等待 FW 进入就绪状态 [ 750.468711] megaraid_sas 0000:18:00.0:FW 现已处于就绪状态 [ 750.468713] megaraid_sas 0000:18:00.0:FW 现已处于就绪状态 [ 750.469351] megaraid_sas 0000:18:00.0:当前固件支持最大命令数:5101 LDIO 阈值:0 [ 750.469353] megaraid_sas 0000:18:00.0:性能模式:延迟 [ 750.469353] megaraid_sas 0000:18:00.0: FW 支持同步缓存 :是 [ 750.469356] megaraid_sas 0000:18:00.0: megasas_disable_intr_fusion 被称为 outbound_intr_mask:0x40000009 [ 751.084723] megaraid_sas 0000:18:00.0: FW 支持原子描述符:是 [ 751.224730] megaraid_sas 0000:18:00.0: FW 提供支持MaxExtLDs: 1 max_lds: 240 [751.224734] megaraid_sas 0000:18:00.0:控制器类型:MR(8192MB) [751.224737] megaraid_sas 0000:18:00.0: 在线控制器重置 (OCR):已启用 [751.224739] megaraid_sas 0000:18:00.0:安全 JBOD 支持:否 [751.224741] megaraid_sas 0000:18:00.0:NVMe 直通支持:是 [ 751.224743] megaraid_sas 0000:18:00.0:FW 提供的 TM TaskAbort/Reset 超时:6 秒/60 秒 [ 751.224745] megaraid_sas 0000:18:00.0: JBOD 序列图支持:是 [ 751.224747] megaraid_sas 0000:18:00.0: PCI 通道裕度支持:是 [ 779.253522] megaraid_sas 0000:18:00.0: megasas_get_ld_map_info DCMD 超时,RAID 映射已禁用 [ 789.945799] megaraid_sas 0000:18:00.0:等待 FW 进入就绪状态 [ 806.802227] megaraid_sas 0000:18:00.0:FW 当前处于就绪状态 [ 806.802231] megaraid_sas 0000:18:00.0:FW 当前处于就绪状态 [ 806.802979] megaraid_sas 0000:18:00.0:当前固件支持最大命令数:5101 LDIO 阈值:0 [806.802980] megaraid_sas 0000:18:00.0: 性能模式:延迟 [806.802981] megaraid_sas 0000:18:00.0: FW 支持同步缓存:是 [806.802983] megaraid_sas 0000:18:00.0: megasas_disable_intr_fusion 被调用 outbound_intr_mask:0x40000009 [ 807.502249] megaraid_sas 0000:18:00.0: FW 支持原子描述符:是 [ 807.586262] megaraid_sas 0000:18:00.0: FW 提供支持MaxExtLDs: 1 max_lds: 240 [807.586266] megaraid_sas 0000:18:00.0:控制器类型:MR(8192MB) [807.586268] megaraid_sas 0000:18:00.0: 在线控制器重置 (OCR):已启用 [807.586270] megaraid_sas 0000:18:00.0: 安全 JBOD 支持:否 [807.586272] megaraid_sas 0000:18:00.0:NVMe 直通支持:是 [ 807.586274] megaraid_sas 0000:18:00.0:FW 提供的 TM TaskAbort/Reset 超时:6 秒/60 秒 [ 807.586276] megaraid_sas 0000:18:00.0: JBOD 序列图支持:是 [ 807.586278] megaraid_sas 0000:18:00.0: PCI 通道裕度支持:是 [835.614916] megaraid_sas 0000:18:00.0: megasas_get_ld_map_info DCMD 超时,RAID 映射已禁用 [846.307158] megaraid_sas 0000:18:00.0:等待 FW 进入就绪状态 [864.255554] megaraid_sas 0000:18:00.0:FW 现已处于就绪状态 [864.255558] megaraid_sas 0000:18:00.0:FW 现已处于就绪状态 [ 864.256364] megaraid_sas 0000:18:00.0:当前固件支持最大命令数:5101 LDIO 阈值:0 [864.256365] megaraid_sas 0000:18:00.0:性能模式:延迟 [864.256366] megaraid_sas 0000:18:00.0: FW 支持同步缓存:是 [864.256368] megaraid_sas 0000:18:00.0: megasas_disable_intr_fusion 被调用 outbound_intr_mask:0x40000009 [864.899567] megaraid_sas 0000:18:00.0: FW 支持原子描述符:是 [865.039569] megaraid_sas 0000:18:00.0: FW 提供支持MaxExtLDs: 1 max_lds: 240 [865.039573] megaraid_sas 0000:18:00.0:控制器类型:MR(8192MB) [865.039575] megaraid_sas 0000:18:00.0: 在线控制器重置 (OCR) : 已启用 [865.039577] megaraid_sas 0000:18:00.0: 安全 JBOD 支持:否 [865.039579] megaraid_sas 0000:18:00.0:NVMe 直通支持:是 [865.039582] megaraid_sas 0000:18:00.0:FW 提供的 TM TaskAbort/Reset 超时:6 秒/60 秒 [865.039583] megaraid_sas 0000:18:00.0: JBOD 序列图支持:是 [865.039585] megaraid_sas 0000:18:00.0: PCI 通道裕度支持:是 [865.039589] megaraid_sas 0000:18:00.0: 从 megasas_refire_mgmt_cmd 4304 cmd 0x5 操作码 0x10b0100 返回 -EBUSY [865.039682] megaraid_sas 0000:18:00.0:从 megasas_refire_mgmt_cmd 4304 cmd 0x5 操作码 0x1010000 返回 -EBUSY [865.039721] megaraid_sas 0000:18:00.0:从 megasas_refire_mgmt_cmd 4304 cmd 0x5 操作码 0x1010000 返回 -EBUSY [865.039776] megaraid_sas 0000:18:00.0: 从 megasas_mgmt_fw_ioctl 8301 cmd 0x5 操作码 0x1010000 cmd->cmd_status_drv 0x3 返回 -EBUSY [865.039781] megaraid_sas 0000:18:00.0: 从 megasas_mgmt_fw_ioctl 8301 cmd 0x5 操作码 0x10b0100 cmd->cmd_status_drv 0x3 返回 -EBUSY [865.039786] megaraid_sas 0000:18:00.0: 从 megasas_mgmt_fw_ioctl 8301 cmd 0x5 操作码 0x1010000 cmd->cmd_status_drv 0x3 返回 -EBUSY [865.039830] megaraid_sas 0000:18:00.0:等待控制器重置完成 [865.095608] megaraid_sas 0000:18:00.0: megasas_enable_intr_fusion 被称为 outbound_intr_mask:0x40000000 [ 865.096526] megaraid_sas 0000:18:00.0:适配器对于 scsi:0 处于运行状态 [865.097349] megaraid_sas 0000:18:00.0:快照转储等待时间:15 [865.097351] megaraid_sas 0000:18:00.0:scsi0 重置成功。 [865.097959] megaraid_sas 0000:18:00.0: 999 (689378568s/0x0020/DEAD) - 严重固件错误:fw\raid\utils.c 中的第 171 行[865.098227] megaraid_sas 0000:18:00.0: 1002 (689378578s/0x0020/CRIT) - 控制器遇到错误并已重置 [865.110859] megaraid_sas 0000:18:00.0:正在扫描 scsi0... [865.111057] megaraid_sas 0000:18:00.0: 1042 (689378618s/0x0020/DEAD) - 严重固件错误:fw\raid\utils.c 中的第 171 行
[865.111308] megaraid_sas 0000:18:00.0: 1045 (689378628s/0x0020/CRIT) - 控制器遇到错误并已重置 [865.115092] megaraid_sas 0000:18:00.0:正在扫描 scsi0... [865.115368] megaraid_sas 0000:18:00.0: 1085 (689378667s/0x0020/DEAD) - 严重固件错误:fw\raid\utils.c 中的第 171 行
[865.115405] megaraid_sas 0000:18:00.0: 1088 (689378677s/0x0020/CRIT) - 控制器遇到错误并已重置 [865.116344] megaraid_sas 0000:18:00.0:正在扫描 scsi0...
答案1
经过研究,我发现 hwraid.le-vert.net 软件包不是最新的,导致内核崩溃。删除它们并直接使用 alien 从 LSI 安装 zip 后,命令运行正常。
https://gist.github.com/fxkraus/595ab82e07cd6f8e057d31bc0bc5e779
答案2
2022 年 10 月 5 日更新:
perccli64
在以下链接中发现了较新版本的 dell :
https://www.dell.com/support/home/zh-cn/drivers/driversdetails?driverid=36g6n
您可以从中轻松.deb
直接从 tar.gz 文件中找到它,这意味着您不需要alien
从 rpm 包中找到它,并且 deb 可以直接安装到 debian 11 和 Proxmox(已经过测试)中。
我有一台戴尔 PERC H750,发现@jeremy 提供的方法(可能适用于 Ubuntu)不适用于 Proxmox 7.x(Debian 11),无论是传统的 MegaCli 还是来自 Broadcom 网站的全新 StorCli 都不是灵丹妙药。
https://www.dell.com/support/home/en-us/drivers/driversdetails?driverid=nf8g9
我搜索了 Dell PERC H750,发现 Dell 提供了 PercCli 作为 Linux 的 RPM 包,这意味着我们也可以使用命令alien
将包格式从 RPM 更改为 DEB。安装 PercCli 后,它在 Debian 11 上运行良好,使用方法与 Broadcom StorCli 相同。
编辑:所以我了解到这个网站更欢迎与 Ubuntu 相关的主题。好的,在这里我要说的是:这个解决方案可能也适用于 Ubuntu,好吗?
服务器上的这些全新硬件可能对大多数用户来说并不太受欢迎,这就是为什么这些问题缺乏答案,对吗?