RAID 50 24Port Rápido Escreve Leituras Lentas - Ubuntu

1

O que está acontecendo aqui ?! Estou perplexo.

serveradmin@FILESERVER:/Volumes/MercuryInternal/test$ sudo dd if=/dev/zero of=/Volumes/MercuryInternal/test/test.fs bs=4096k count=10000
10000+0 records in
10000+0 records out
41943040000 bytes (42 GB) copied, 57.0948 s, 735 MB/s
serveradmin@FILESERVER:/Volumes/MercuryInternal/test$ sudo dd if=/Volumes/MercuryInternal/test/test.fs of=/dev/null bs=4096k count=10000
10000+0 records in
10000+0 records out
41943040000 bytes (42 GB) copied, 116.189 s, 361 MB/s

NOTA: Meu RAID50 é de 3 conjuntos de 8 discos. - Esta pode não ser a melhor configuração para o SPEED.

SO: Ubuntu 12.04.1 x64
Invasão ao Hardware: RocketRaid 2782 - 24 Port Controller
HardDriveType: Seagate Barracuda ES.2 1TB Drivers do Windows: v1.1 Drivers Linux de código aberto.

Então, unidades de 24 x 1 TB, particionadas usando parted. O sistema de arquivos é ext4. O agendador de E / S FOI NOOP, mas o alterou para prazo final sem nenhum benefício / custo de desempenho.

serveradmin@FILESERVER:/Volumes/MercuryInternal/test$ sudo gdisk -l /dev/sdb
GPT fdisk (gdisk) version 0.8.1

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.
Disk /dev/sdb: 41020686336 sectors, 19.1 TiB
Logical sector size: 512 bytes
Disk identifier (GUID): 95045EC6-6EAF-4072-9969-AC46A32E38C8
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 41020686302
Partitions will be aligned on 2048-sector boundaries
Total free space is 5062589 sectors (2.4 GiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048     41015625727   19.1 TiB    0700  primary

Para mim, isso deve estar funcionando bem. Eu não consigo pensar em nada que estaria causando este outro então erros de driver fundamentais? Eu não consigo obter muito / se houver maior, em seguida, o 361MB por segundo, isso está atingindo a velocidade do link "SATA2", que não deveria ser dada uma placa PCIe2.0. Ou talvez alguma peculiaridade de cache - eu tenho o recurso Write Back ativado.

Alguém tem alguma sugestão? Testes para eu executar? Ou se você precisar de mais informações, tenho prazer em fornecê-la!

Este é um servidor de arquivos de vídeo para máquinas de edição, portanto, temos uma preferência por leitura FAST sobre gravações. Eu só esperava mais de RAID 50 e 24 unidades juntas ...

EDIT: (resultados do hdparm)

serveradmin@FILESERVER:/Volumes/MercuryInternal$ sudo hdparm -Tt /dev/sdb

/dev/sdb:
 Timing cached reads:   17458 MB in  2.00 seconds = 8735.50 MB/sec
 Timing buffered disk reads: 884 MB in  3.00 seconds = 294.32 MB/sec

EDIT2: (detalhes da configuração)

Além disso, estou usando um tamanho de bloco RAID de 256K. Foi-me dito que um tamanho de bloco maior é melhor para arquivos maiores (no meu caso, grandes vídeos).

EDIT3:(ResultadosBonnie++.Adorariaalgumaorientaçãocomisso!)

    
por James 12.11.2012 / 02:34

1 resposta

1

Por favor, use uma ferramenta de benchmarking desenvolvida especificamente para Iozone para ter uma idéia melhor do desempenho real do sistema. Com muita frequência, vejo pessoas usando dd como referência. Não é uma boa representação das cargas de trabalho de E / S da vida real.

Com base nos resultados de um teste Iozone, provavelmente verificaria a situação do cache e possivelmente se você tivesse alguma barreira ativada. Isso é estranho porque seu problema parece ser a velocidade de leitura. Hmm ...

Você definitivamente não está atingindo os limites do link SAS / SATA. Você faz tem 24 conexões de ponta a ponta, certo? Não há expansor do SAS no mix, correto?

    
por 12.11.2012 / 03:16