我有以下设置:
一台服务器配备两个 LSI MegaRAID SAS 9380-8e 控制器,均连接到两个 60 托架磁盘架,大致遵循 Edmund White 的设计(参见https://github.com/ewwhite/zfs-ha/wiki)。目标是复制精确的设置,但目前正处于迁移过程中。
连接好第一个磁盘架后,两个控制器都可以看到所有 60 个磁盘,并且多路径已设置完毕并运行顺利。添加第二个磁盘架时,60 个磁盘上仍有一些旧的 RAID 配置,两个控制器都忠实地报告了这些配置。使用第一个控制器,我从磁盘中删除了配置,并将其设置为 JBOD。现在,所有 60 个磁盘都对操作系统可见,并且可以向多路径注册,但只报告一条路径(通过控制器 1),第二个控制器仍将所有 60 个磁盘报告为外部(UGood F),似乎没有办法强制让控制器重新扫描设备或忘记仅此磁盘架的当前配置:
# /opt/MegaRAID/storcli/storcli64 /c1 /e71 /sall show | head -n20
Controller = 1
Status = Success
Description = Show Drive Information Succeeded.
Drive Information :
=================
-----------------------------------------------------------------------
EID:Slt DID State DG Size Intf Med SED PI SeSz Model Sp
-----------------------------------------------------------------------
71:0 74 UGood F 3.637 TB SAS HDD N N 512B HUS724040ALS640 D
71:1 107 UGood F 3.637 TB SAS HDD N N 512B HUS724040ALS640 D
71:2 72 UGood F 3.637 TB SAS HDD N N 512B HUS724040ALS640 D
71:3 95 UGood F 3.637 TB SAS HDD N N 512B HUS724040ALS640 D
71:4 90 UGood F 3.637 TB SAS HDD N N 512B HUS724040ALS640 D
71:5 77 UGood F 3.637 TB SAS HDD N N 512B HUS724040ALS640 D
71:6 73 UGood F 3.637 TB SAS HDD N N 512B HUS724040ALS640 D
71:7 76 UGood F 3.637 TB SAS HDD N N 512B HUS724040ALS640 D
71:8 83 UGood F 3.637 TB SAS HDD N N 512B HUS724040ALS640 D
这是另一个控制器看到的同一个架子:
# /opt/MegaRAID/storcli/storcli64 /c0 /e165 /sall show | head -n20
Controller = 0
Status = Success
Description = Show Drive Information Succeeded.
Drive Information :
=================
-----------------------------------------------------------------------
EID:Slt DID State DG Size Intf Med SED PI SeSz Model Sp
-----------------------------------------------------------------------
165:0 127 JBOD - 3.637 TB SAS HDD N N 512B HUS724040ALS640 U
165:1 121 JBOD - 3.637 TB SAS HDD N N 512B HUS724040ALS640 U
165:2 118 JBOD - 3.637 TB SAS HDD N N 512B HUS724040ALS640 U
165:3 116 JBOD - 3.637 TB SAS HDD N N 512B HUS724040ALS640 U
165:4 146 JBOD - 3.637 TB SAS HDD N N 512B HUS724040ALS640 U
165:5 122 JBOD - 3.637 TB SAS HDD N N 512B HUS724040ALS640 U
165:6 115 JBOD - 3.637 TB SAS HDD N N 512B HUS724040ALS640 U
165:7 142 JBOD - 3.637 TB SAS HDD N N 512B HUS724040ALS640 U
165:8 145 JBOD - 3.637 TB SAS HDD N N 512B HUS724040ALS640 U
但尝试清除第二个控制器的(错误)信息不起作用:
# /opt/MegaRAID/storcli/storcli64 /c1 /fall show
Controller = 1
Status = Success
Description = Couldn't find any foreign Configuration
# /opt/MegaRAID/storcli/storcli64 /c1 /fall delete
Controller = 1
Status = Success
Description = Couldn't find any foreign Configuration
# /opt/MegaRAID/storcli/storcli64 /c1 /fall import
Controller = 1
Status = Success
Description = Couldn't find any foreign Configuration
在第二个控制器上强制将磁盘放入 JBOD 也不起作用:
# /opt/MegaRAID/storcli/storcli64 /c1 /e71 /sall set jbod | head -n20
Controller = 1
Status = Failure
Description = Set Drive JBOD Failed.
Detailed Status :
===============
-------------------------------------------------
Drive Status ErrCd ErrMsg
-------------------------------------------------
/c1/e71/s0 Failure 255 Operation not allowed.
/c1/e71/s1 Failure 255 Operation not allowed.
/c1/e71/s2 Failure 255 Operation not allowed.
/c1/e71/s3 Failure 255 Operation not allowed.
/c1/e71/s4 Failure 255 Operation not allowed.
/c1/e71/s5 Failure 255 Operation not allowed.
/c1/e71/s6 Failure 255 Operation not allowed.
/c1/e71/s7 Failure 255 Operation not allowed.
/c1/e71/s8 Failure 255 Operation not allowed.
/c1/e71/s9 Failure 255 Operation not allowed.
有什么方法可以告诉 RAID 控制器这些磁盘不再具有外部配置并且应该被视为 JBOD?
答案1
似乎控制器中的 jbod 选项被禁用,请尝试此命令storclif64 /c0 显示 jbod
如果 JBOD 处于关闭状态,你可以使用以下命令启用它storclif64 /c0 设置 jbod=ON(storcli /c0 设置 jbod=)
控制器属性:
Ctrl_Prop 值
开启JBOD
答案2
重新启动不同步的控制器(例如 c1)
/opt/MegaRAID/storcli/storcli64 /c1 restart