我正在使用 Supermicro SMC2208 突袭控制器。
为了增加大型 RAID 阵列的容量,我决定使用 storcli 添加两个额外的磁盘。storcli /c0/v0 start migrate type=raid6 option=add drives=2:12,2:14
问题是,我没有想到这会禁用“提前阅读”阅读政策,回写缓存和缓存,这些都会大大降低系统速度。
因此,第一个问题已经是:上述命令之后是否预计会关闭缓存?我从未见过有人提到这一点。
有没有办法停止迁移/扩展过程,延迟它、暂停它或做其他什么?它需要很长时间才能完成,而且如果关闭预读缓存,它会变得太慢。至少在几个小时内暂停它会很好。我知道这个migraterate
参数,但即使将其设置为 1,性能也会很慢。
我尝试再次移除这些磁盘,storcli /c0/v0 start migrate type=raid6 option=remove drives=2:12,2:14
但它不会停止当前的迁移:
-------------------------------------------------------------------------
VD Operation Status ErrCd ErrMsg
-------------------------------------------------------------------------
0 MIGRATE Failed 50 device state doesn't support requested command
-------------------------------------------------------------------------
暂停似乎也不是一种选择storcli /c0/v0 pause migrate
-----------------------------------------------------
VD Operation Status ErrCd ErrMsg
-----------------------------------------------------
0 Migrate Failed 255 Pause Migrate not possible
-----------------------------------------------------
并且在迁移/重建期间,似乎不可能使用预读缓存策略:storcli /c0/v0 set rdcache=ra
----------------------------------------------------------
VD Property Value Status ErrMsg ErrCd
----------------------------------------------------------
0 rdCache RA Failed reconstruction in progress 29
----------------------------------------------------------
不幸的是,根据控制器的估计,完全重建将需要 12 天,而服务器长期处于如此缓慢的速度将会非常烦人。
答案1
我知道 Migratate 参数,但即使将其设置为 1,性能也很慢。
对(又称重建率)的更改migraterate
仅在重启后生效。重启是安全的,RAID 控制器将从上次中断的地方继续运行(但当然,您始终需要进行备份,以防万一)。