Назад | Перейти на главную страницу

3ware: добавить диск в RAID-массив

У меня есть RAID-контроллер 3ware, на котором работает RAID-6. Я управляю RAID через tw_cli утилита командной строки.

Итак, один диск в массиве вышел из строя, и я удалил неисправный диск (p6) из массива, а затем вставил новый диск.

По какой-то причине контроллер 3ware поместил диск в старый, неработающий массив (u1). Поэтому я удалил этот массив. Теперь я хочу добавить новый диск в RAID-6, который u0.

Так что я:

# tw_cli /c0/u0 show

Unit     UnitType  Status         %RCmpl  %V/I/M  VPort Stripe  Size(GB)
------------------------------------------------------------------------
u0       RAID-6    DEGRADED       -       -       -     256K    2793.91   
u0-0     DISK      OK             -       -       p0    -       465.651   
u0-1     DISK      OK             -       -       p1    -       465.651   
u0-2     DISK      OK             -       -       p2    -       465.651   
u0-3     DISK      OK             -       -       p3    -       465.651   
u0-4     DISK      OK             -       -       p4    -       465.651   
u0-5     DISK      OK             -       -       p5    -       465.651   
u0-6     DISK      DEGRADED       -       -       -     -       465.651   
u0-7     DISK      OK             -       -       p7    -       465.651   
u0/v0    Volume    -              -       -       -     -       10        
u0/v1    Volume    -              -       -       -     -       2783.91   

Как видите, проехать p6 не является частью u0. Однако это является обнаружено контроллером:

# tw_cli /c0 show

Unit  UnitType  Status         %RCmpl  %V/I/M  Stripe  Size(GB)  Cache  AVrfy
------------------------------------------------------------------------------
u0    RAID-6    DEGRADED       -       -       256K    2793.91   RiW    OFF    

VPort Status         Unit Size      Type  Phy Encl-Slot    Model
------------------------------------------------------------------------------
p0    OK             u0   465.76 GB SATA  0   -            ST3500630AS         
p1    OK             u0   465.76 GB SATA  1   -            ST3500630AS         
p2    OK             u0   465.76 GB SATA  2   -            ST3500630AS         
p3    OK             u0   465.76 GB SATA  3   -            ST3500320AS         
p4    OK             u0   465.76 GB SATA  4   -            ST3500630AS         
p5    OK             u0   465.76 GB SATA  5   -            ST3500630AS         
p6    OK             -    465.76 GB SATA  6   -            ST3500320AS         
p7    OK             u0   465.76 GB SATA  7   -            ST3500630AS         

Name  OnlineState  BBUReady  Status    Volt     Temp     Hours  LastCapTest
---------------------------------------------------------------------------
bbu   On           Yes       OK        OK       OK       0      xx-xxx-xxxx  

Итак, мы видим, что p6 обнаруживается контроллером, но не является частью устройства u0. Так что мне просто нужно как-то это добавить. К сожалению, я не могу найти для этого синтаксис.

Просматривая tw_cli docs, похоже, нет команды уровня устройства для добавления диска к устройству. Итак, как добавить диск к устройству? Как я могу сделать p6 часть u0?

Хм, согласен, расплывчато. Я всегда работал с запчастями, поэтому диски добавляются автоматически. Возможно, вы тоже сможете это взломать:

tw_cli /c0 add raidtype=spare disk=6

Тогда, возможно, он подберет его автоматически.

Я смог сделать это в своей системе с помощью следующей команды:

tw_cli /c0/u0 start rebuild disk=6

Это случилось со мной, и когда я читал tw_cli справочные экраны, чтобы найти заклинание, он фактически изменил статус самостоятельно, чтобы добавить измененный диск p * в модуль u * и начать восстановление массива. Вполне возможно, что у контроллера просто есть небольшое количество времени задержки на случай, если вы нашли время, чтобы установить диск, а затем он вступит в логический курс действий.