3ware 9650SE: Esta unidade sobressalente só pode substituir a unidade com falha do mesmo tipo de interface

2

Acabei de adicionar um disco sobressalente ao meu array:

Unit  UnitType  Status         %RCmpl  %V/I/M  Stripe  Size(GB)  Cache  AVrfy
------------------------------------------------------------------------------
u0    RAID-6    OK             -       -       256K    5587.9    RiW    ON     
u1    SPARE     OK             -       -       -       1863.01   -      OFF    

VPort Status         Unit Size      Type  Phy Encl-Slot    Model
------------------------------------------------------------------------------
p0    OK             u0   1.82 TB   SATA  0   -            ST32000542AS        
p1    OK             u0   1.82 TB   SATA  1   -            ST32000542AS        
p2    OK             u0   1.82 TB   SATA  2   -            ST32000542AS        
p3    OK             u0   1.82 TB   SATA  3   -            ST32000542AS        
p4    OK             u0   1.82 TB   SATA  4   -            ST32000542AS        
p5    OK             u1   1.82 TB   SATA  5   -            WDC WD2002FYPS-02W3

Quando fiz isso, tw_cli disse isso:

Creating new unit on controller /c0 ... Done. The new unit is /c0/u1.
WARNING: This Spare unit may replace failed drive of same interface type only.

O que esse aviso significa?

Recentemente, adicionei uma sobressalente a outra máquina quase idêntica (com 9650SE também) sem problemas. A única diferença era que na outra máquina, a matriz era composta de discos WDC WD2002FYPS-02W3, aos quais um foi adicionado. Nesse array, o array era composto de discos ST32000542AS aos quais um WDC WD2002FYPS-02W3 foi adicionado.

Ele está avisando sobre o tipo de interface, mas todos são SATA, então eu não entendo.

Isso poderia ter algo a ver com o fato de que o WDC WD2002FYPS-02W3 é uma unidade de setor 4k e o ST32000542AS não é?

O que traz uma questão secundária: como o 9650 SE alinha seus dados? É compatível com 4k? Ou talvez seja apenas alinhado com 4k quando detecta discos do setor 4k (nesse caso, adicionar um drive de 4k como sobressalente apresentará um problema).

    
por Halfgaar 21.10.2011 / 13:22

1 resposta

2

O aviso sobre tipos de interface pode ser ignorado pelo seu hardware, porque o 9650SE é um controlador somente SATA. No entanto, o mesmo utilitário tw_cli pode ser usado para gerenciar cartões mais novos, como o 9690SA, que suportam drives SATA e SAS, mas não é permitido misturar SATA e SAS no mesmo array.

O WDC WD2002FYPS parece não usar setores de 4k - pelo menos a folha de especificações não menciona "Advanced Format" em nenhum lugar, portanto, não deve haver problemas de alinhamento com ele. Esta unidade está incluída na lista de compatibilidade oficial do 9650SE (mas, embora a KB 15573 diz que limitar a velocidade a 1,5 Gbps é necessária apenas para o 9690SA, a lista de compatibilidade real do 9650SE diz: "Compatível apenas se a velocidade do link for definida como 1,5 Gb / s; consulte KB 15573").

Os controladores da série 3xx 9xxx colocam o DCB (dados de configuração da matriz) no final de cada unidade, e os dados do usuário são gravados a partir do LBA 0 (por exemplo, consulte isso e este postagens), então não deve haver problemas de alinhamento do próprio controlador.

Mas há um problema de alinhamento que está presente mesmo com discos de 512 bytes (testado no 9690SA, não tenho certeza se o 9650SE tem o mesmo problema). Quando você cria vários volumes a partir de um único array com a escolha ( /cx set autocarve=on ou a opção equivalente no BIOS) ou com a opção “Boot Volume” no BIOS, o tamanho do volume especificado será reduzido em 1 (512 bytes) setor e todos os volumes, exceto o primeiro, ficarão desalinhados em relação às faixas RAID subjacentes. Isso pode ser observado no tw_cli /cx show diag output - o log do controlador inclui números de setores iniciais para volumes em formato hexadecimal, que normalmente terminam com 00000 (1 GiB é 0x200000 setores), mas no pior caso eles terminam com FFFFF, FFFFE, …, Então você verá algo como:

LUN 0x0 Start LBA 0x0 Size 0xf9ffffff
LUN 0x1 Start LBA 0xf9ffffff Size 0xd7a80001

ou (com um volume de inicialização de 40 GiB e 2048 GiB - observe a acumulação de deslocamento de alinhamento):

LUN 0x0 Start LBA 0x0 Size 0x4ffffff
LUN 0x1 Start LBA 0x4ffffff Size 0xffffffff
LUN 0x2 Start LBA 0x104fffffe Size 0x583e0002

(Bem, neste caso, a limitação do tamanho do serviço 0xffffffff é razoável, mas não pode ser uma desculpa para quebrar o alinhamento do volume a seguir - o setor excedente deve ser ignorado ou o tamanho máximo permitido do serviço deve ser definido como 2047 GiB.)

A única opção que funciona corretamente é tw_cli /cx add ... vol=a:b:c:d (com especificação explícita de tamanhos para todos os volumes necessários, exceto o último). Ele fornece setores iniciais alinhados corretamente - por exemplo, para vol=2000 :

LUN 0x0 Start LBA 0x0 Size 0xfa000000
LUN 0x1 Start LBA 0xfa000000 Size 0xd7a80000
    
por 21.10.2011 / 15:18

Tags