Cache do disco SCSI

2

Eu tenho um controlador SCSI (HP Smart Array 642), usando o driver cciss no Linux, que está conectado a vários discos SCSI. Eu estou tentando otimizar a comunicação entre esses dispositivos e chegou ao lugar, que eu deveria verificar o quão cheio é o cache de cada disco.

É possível obter esse valor do disco? Ou talvez seja possível obter esse valor do controlador?

p.s. Quero notar que, como os discos estão atrás do controlador, não consigo usar o hdparm, por exemplo.

    
por Rufi 20.04.2013 / 17:15

2 respostas

1

Você poderia usar o firmware diretamente nas unidades. Os scsirastools permitem que você emita comandos da página de modo para as unidades modificarem sua configuração. Se você quiser experimentar os drives, dê uma olhada nos parâmetros de segmentação do cache e faça uma pré-busca de políticas no Modo página 8 como um lugar para começar.

Não sei se o scsirastools suportará a passagem no seu controlador RAID. Se isso não acontecer, você pode ter que obter um velho adaptec 39320 ou um controlador similar do Ebay e usá-lo para mexer com as páginas de modo. YMMV.

    
por 20.04.2013 / 17:47
0

Durante a pesquisa, a limitação do buffer para este controlador foi encontrada no driver do Linux (cciss):

MAX_KMALLOC_SIZE(4096∗512)

Isso significa que, para obter a velocidade mais rápida, precisamos ajustar as informações de envio neste buffer de 2MB o tempo todo. Então, parece que não é um cache do controlador, mas algum valor importante, que influencia na velocidade do processo de envio.

Se estamos falando de comandos Data-Out, onde precisamos incluir buffer o tempo todo, é uma boa idéia verificar o parâmetro comprimento de transferência , que influencia no tamanho do buffer. Claro, não se esqueça da quantidade de discos , porque essa memória de alocação está relacionada ao controlador.

Caso contrário, a limitação nessa situação é a velocidade do disco, mas é claro que depende do controlador, dos discos, dos barramentos e de muitos outros parâmetros.

    
por 08.07.2013 / 10:13