Entendendo as profundidades da fila do Linux SCSI

4

Estou experimentando os efeitos de diferentes valores de profundidade de fila SCSI em um servidor Dell executando o CentOS Linux 5.4 (x86_64).

O servidor possui dois HBAs FC QLogic QLE2560 conectados por meio de vários caminhos a um sistema de armazenamento. O sistema de armazenamento alocou duas LUNs para o servidor, cada uma conectada por meio de quatro caminhos em uma configuração de round-robin ativa-ativa-ativa-ativa. Ao todo, os dois LUNs existem como oito dispositivos / dev / sdX , representados por dois dispositivos em / dev / mpath .

Atualmente, ajuste os valores de profundidade da fila em /etc/modprobe.conf e verifique o resultado (após a reinicialização) procurando na sétima coluna / proc / scsi / sg / devices .

Duas questões relacionadas a isso:

  • Existe uma maneira de ajustar a profundidade das filas sem reiniciar ou descarregar o módulo do kernel qla2xxx? Por exemplo, posso ecoar um novo valor de profundidade da fila em algum arquivo / proc ou / sys para atualizar a profundidade da fila?

  • Se eu definir a profundidade da fila como 128, isso é

    • 128 no total para todos os dispositivos manipulados pelo módulo qla2xxx ?, ou
    • 128 para cada HBA? (256 no total) ou
    • 128 para cada um dos oito dispositivos / dev / sdX (1024 em toal)? ou
    • 128 para cada um dos dois dispositivos / dev / mpath / ... (256 no total)?

    Isso é importante para eu saber, para que meu servidor não inunde o sistema de armazenamento, afetando outros servidores conectados a ele.

por Troels Arvin 17.03.2010 / 11:54

2 respostas

2

Normalmente, a profundidade da fila é por LUN / caminho, em configurações de rr multipathing. É muito dependente da implementação do driver de múltiplos caminhos e você deve verificar com a documentação do seu driver de múltiplos caminhos que no seu caso é o multipathing do mapeador de dispositivo que usa o mesmo conceito do ESX no qual a profundidade da fila para todos os caminhos menor profundidade de fila para qualquer um dos caminhos veja meu exemplo do ESX aqui:

O multipathing nativo do ESX configura a profundidade da fila nas configurações de rr multipathing como a menor profundidade comum de qualquer uma das filas envolvidas. Ou seja, com uma profundidade de 32 para cada LUN / caminho e 4 caminhos, a profundidade total da fila é de apenas 32! Essa é a razão pela qual alguns fornecedores oferecem seu próprio driver (como o powerpath da EMC). Do ponto de vista do desempenho, o ESX de distribuição de carga round robing não passa por cima de um determinado caminho para cada IO, o padrão programa os primeiros 1000 IOs para o primeiro caminho, os próximos 1000 IOs para o próximo, por VM, o que deve suavizar a carga geral sobre todos os caminhos como um único comutador de caminho IO incorreria em uma penalidade de latência para cada IO.

    
por 01.11.2010 / 16:04
1

Meu entendimento é de um ambiente ESX, onde Luns Profundidade da Fila seria 1024. Eu ficaria muito surpreso se fosse diferente com o CentOS.

    
por 17.03.2010 / 12:57