Má desempenho de leitura do MD3000i (para um controlador, mas não o outro)

1

Temos um array MD3000i acessado por três servidores separados (todos os servidores blade acessando através do nic de chassi). O Controlador 1 (ambas as Portas 0 e 1) está vinculado ao Servidor A. Os Servidores B e C (ambos com substancialmente menos atividade que o Servidor A) são vinculados ao Controlador 0 (Portas 0 e 1). O servidor A está em uma VLAN separada (conectada ao MD3000i por meio de um switch na parte traseira do chassi do blade) e os servidores B e C estão em sua própria VLAN (também conectados ao MD3000i por meio de um switch na parte traseira do chassi do blade ).

O problema que estamos enfrentando é que o Servidor A decididamente melhor leu o throughput do MD3000i. Por exemplo, quando se olha para as tarefas de backup executadas através desse servidor, a taxa de trabalho é de aproximadamente 3.000MB / min. No entanto, quando se analisa as tarefas de backup executadas através dos Servidores B ou C, as taxas de trabalho são tão baixas quanto 200MB / min.

Se eu visualizar as estatísticas de transmissão do MAC iSCSI através do MDSM, existem leituras muito diferentes entre os controladores (além do volume geral):

Mac transmit statistics

MAC transmit legend

F = Frame Count
B = Byte Count
MF = Multicast Frame Count
BF = Broadcast Frame Count
PF = Pause Frame Count
CF = Control Frame Count
FDF = Frame Deferral Count
FED = Frame Excess Deferral Count
FLC = Frame Late Collisions Count
FA = Frame Abort Count
FSC = Frame Single Collision Count
FMC = Frame Multiple Collisions Count
FC = Frame Collision Count
FDR = Frame Dropped Count
JF = Jumbo Frame Count

iSCSI Host   | Port    | F            | B               | MF     | BF     | PF   | CF     | FDF  | FED  | FLC  | FA   | FSC  | FMC  | FC   | FDR  | JF

Controller 0 |  port 0 | 440573739    | 651904980400    | 0      | 0      | 0    | 0      | 0    | 0    | 0    | 0    | 0    | 0    | 0    | 0    | 0
Controller 0 |  port 1 | 440549412    | 651892177000    | 0      | 0      | 0    | 0      | 0    | 0    | 0    | 0    | 0    | 0    | 0    | 0    | 0
Controller 1 |  port 0 | 109676946034 | 148467634266838 | 0      | 0      | 512  | 131072 | 512  | 1024 | 1024 | 1024 | 512  | 1792 | 2304 | 2304 | 589824
Controller 1 |  port 1 | 402653242    | 111669157090    | 524288 | 524288 | 2304 | 720896 | 2304 | 3328 | 3840 | 4352 | 2048 | 3584 | 5632 | 2048 | 1114112

Minha suspeita é que a placa de rede utilizada pelos Servidores B e C não tem os recursos necessários para alcançar o desempenho que estamos procurando (observe que a contagem do Jumbo Frame é 0 - Jumbo Frames é algo que já vi recomendado quando vários servidores estão acessando um único controlador MD3000i). O servidor A acessa o MD3000i por meio de um Broadcom BCM57085 NetXtreme II, enquanto os servidores B e C acessam o MD3000i por meio de uma porta dupla Intel PRO / 1000 MB.

A partir de agora, eu não tenho um método firme para isolar a causa da baixa velocidade de leitura no Controlador 0 (Servidores B e C).

    
por Nathan Donze 15.03.2011 / 14:20

1 resposta

1

Sim, a falta de quadros jumbo é provavelmente o problema.

Para um quadro de MTU de 1500 bytes, você provavelmente terá cerca de 200-250 bytes de sobrecarga entre o iSCSI, checksum, TCP / IP, frame Ethernet, etc. Isso deixa cerca de 1250 bytes disponíveis para transferência de dados. Por outro lado, um quadro jumbo de 9000 MTU pode transmitir cerca de 7 vezes mais dados com a mesma sobrecarga.

Você também pode querer verificar se os cartões têm um TOE (TCP Offload Engine) e certificar-se de que estejam habilitados. Isso pode ter um impacto decente na taxa de transferência, especialmente se a CPU começar a restringir o processo.

    
por 15.03.2011 / 14:34