![Megacli 让我崩溃,任何帮助我的人都感激不尽](https://linux22.com/image/567404/Megacli%20%E8%AE%A9%E6%88%91%E5%B4%A9%E6%BA%83%EF%BC%8C%E4%BB%BB%E4%BD%95%E5%B8%AE%E5%8A%A9%E6%88%91%E7%9A%84%E4%BA%BA%E9%83%BD%E6%84%9F%E6%BF%80%E4%B8%8D%E5%B0%BD.png)
我运行的服务器通过 BIOS 配置了 raid0 中的 2 个驱动器。我刚刚使用热插拔添加了 2 个驱动器(服务器是带有 RHEL 5.4 64 位的 dell r610),我想在这些驱动器上配置一个单独的 raid0 分区。我收到以下错误:
/opt/MegaRAID/MegaCli/MegaCli64 -CfgLdAdd r0[32:2, 32:3] -a0
指定的物理磁盘没有适当的属性来完成请求的命令。
退出代码:0x26
所有参数都是正确的,并且没有理由这个命令无法工作,请看这个(富士通是当前的 raid,希捷是我想要创建的新 raid):
/opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL | egrep 'Adapter|Enclosure|Slot|Inquiry'
Adapter #0
Enclosure Device ID: 32
Slot Number: 0
Enclosure position: 0
Inquiry Data: FUJITSU MBD2147RC D807D0A4PA101174
Enclosure Device ID: 32
Slot Number: 1
Enclosure position: 0
Inquiry Data: FUJITSU MBD2147RC D807D0A4PA10115T
Enclosure Device ID: 32
Slot Number: 2
Enclosure position: 0
Inquiry Data: SEAGATE ST9300603SS FS033SE0TF5K
Enclosure Device ID: 32
Slot Number: 3
Enclosure position: 0
Inquiry Data: SEAGATE ST9300603SS FS023SE070FK
我也尝试将驱动器设置为热备用,但也出现了一些奇怪的错误:
/opt/MegaRAID/MegaCli/MegaCli64 -PDHSP -设置 -physdrv[32:3] -a0
适配器:0:将 EnclId-32 SlotId-3 处的物理驱动器设置为热备用失败。
FW 错误描述:指定的设备处于不支持请求的命令的状态。
退出代码:0x32
如您所见,磁盘处于未配置、良好状态:
Enclosure Device ID: 32
Slot Number: 3
Enclosure position: 0
Device Id: 3
Sequence Number: 1
Media Error Count: 0
Other Error Count: 0
Predictive Failure Count: 0
Last Predictive Failure Event Seq Number: 0
PD Type: SAS
Raw Size: 279.396 GB [0x22ecb25c Sectors]
Non Coerced Size: 278.896 GB [0x22dcb25c Sectors]
Coerced Size: 278.875 GB [0x22dc0000 Sectors]
Firmware state: Unconfigured(good), Spun Up
SAS Address(0): 0x5000c50005cd20b1
SAS Address(1): 0x0
Connected Port Number: 3(path0)
Inquiry Data: SEAGATE ST9300603SS FS023SE070FK
FDE Capable: Not Capable
FDE Enable: Disable
Secured: Unsecured
Locked: Unlocked
Needs EKM Attention: No
Foreign State: Foreign
Foreign Secure: Drive is not secured by a foreign lock key
Device Speed: Unknown
Link Speed: Unknown
Media Type: Hard Disk Device
Drive Temperature :30C (86.00 F)
答案1
该驱动器被标记为“外部”,它可能来自其他 RAID 控制器。我想你可能需要先清除它:
MegaCli64 -CfgForeign -Scan -Clear
答案2
我很尴尬地说我今天遇到了这个问题,并且因为在尝试更换驱动器之前没有查看驱动器而浪费了大约 2 个小时的时间。
问题的关键是退出代码:0x26,意思是“无法使用SATA(SAS)驱动器来替换SAS(SATA)”。
FUJITSU MBD2147RC 是 SAS 驱动器,SEAGATE ST9300603SS 是 SATA 驱动器。您无法使用采用不同协议的驱动器制作硬件 RAID。要么全部是 SAS,要么全部是 SATA。如果您需要混合使用它们,您可以制作软件 RAID。
https://www.thomas-krenn.com/de/wiki/MegaCLI_Error_Messages其中有 MegaCli 的错误代码列表。
答案3
我遇到了类似的问题,对我来说需要这样做:
megacli -PDMakeGood -PhysDrv '[64:6]' -Force -a0
之后我可以使用 CfgLdAdd 命令创建突袭。
答案4
我以前也遇到过同样的问题。如果这个问题仍然适用,你应该:
检查您是否有未配置(良好)驾驶:
root@sto:~# sudo python scripts/megaraid_status.py c0uXpY | SSD | FECA075B010803000281Patriot Blast SAFM11.0 | 446.1 Gb | Unconfigured(good), Spun Up | 6.0Gb/s | N/A | [252:3] | 0
检查外部配置:
root@sto# megacli -CfgForeign -Scan -aall There are 1 foreign configuration(s) on controller 0. Exit Code: 0x00
清除它:
root@sto# megacli -CfgForeign -Clear -aall Foreign configuration 0 is cleared on controller 0. Exit Code: 0x00
来源:http://sysadm.pp.ua/linux/monitoring-systems/megaraid-assembling-raid6.html