如何使 RAID 控制器重新扫描设备

Mic*_*ael 5 raid zfs multipath jbod

我有以下设置:

带有两个 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  
Run Code Online (Sandbox Code Playgroud)

这是另一个控制器看到的同一个架子:

# /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  
Run Code Online (Sandbox Code Playgroud)

但是试图从第二个控制器中清除(错误的)信息是行不通的:

# /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
Run Code Online (Sandbox Code Playgroud)

在第二个控制器上强制磁盘进入 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. 
Run Code Online (Sandbox Code Playgroud)

有什么方法可以告诉 RAID 控制器这些磁盘不再有外部配置,应该被视为 JBOD?

小智 1

似乎控制器中的 jbod 选项已禁用,请尝试此命令storclif64 /c0 show jbod

如果 JBOD 关闭,您可以使用storclif64 /c0 set jbod=ON启用它(storcli /c0 set jbod=)

控制器属性:


Ctrl_Prop 值

JBOD开启