Como diagnosticar a taxa de transferência de dados intermitente lenta?

3

Eu tenho um RAID6 criptografado configurado no Centos 5.5. Quando eu transfiro um arquivo grande de 10GB da raid para o meu computador, ele faz uma pausa em torno de 4-5gb e novamente em 9gb. A transferência de dados cai de 25mb / seg para < 1mb / seg por cerca de 30-60 segundos.

O streaming de vídeo HD irá falhar e / ou congelar a cada alguns minutos.

A transferência é via samba. A mesma coisa acontece com o rsync (usando o daemon rsync), mas as taxas de transferência são um pouco maiores.

Alguém pode me dizer como rastrear o problema? Não sei como descobrir onde está o gargalo.

Informações básicas:

  • Servidor: a CPU é uma CPU Intel (R) Core (TM) 2 6300 @ 1.86GHz
  • Ram: 4 gb
  • Ethernet: gigabit na placa-mãe
  • SATA: onboard x8, 6 portas em um controlador, 2 em outro

O uso da CPU é de cerca de 45% em um núcleo durante a transferência de dados do ataque.

Como criei o ataque:

Raid stack é o seguinte:

disco - > RAID - > dm-crypt - > LVM - > fs

Eu tenho discos 7x2TB. Cada um tem uma partição 'fd' (raid) (/ dev / sdb - > / dev / sdh) note / dev / sda é um SSD contendo o sistema operacional

Veja como eu o criei

Crie o dispositivo de ataque

mdadm --create /dev/md0 --level=6 --raid-devices=7 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 /dev/sdg1 /dev/sdh1

abra matriz criptografada

cryptsetup --key-file /mnt/usbstick/img_0768.jpg luksOpen /dev/md0 md0encrypted

Crie o LVM

pvcreate /dev/mapper/md0encrypted

Crie o grupo de volume - use 256M, que permite cerca de 16,7 TB. Deve ser um poder de 2

vgcreate -s 256M VolGroupRaid /dev/mapper/md0encrypted

Crie o volume. (obteve o total PE 37260 do vgdisplay -v)

lvcreate -l 37260 VolGroupRaid --name raidvol

Formate-o usando

mkfs.ext3 /dev/VolGroupRaid/raidvol

Monte-o

mount /dev/VolGroupRaid/raidvol /mnt/raid

Informações do sistema

lspci

00:00.0 Host bridge: Intel Corporation 82P965/G965 Memory Controller Hub (rev 02)
00:01.0 PCI bridge: Intel Corporation 82P965/G965 PCI Express Root Port (rev 02)
00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #4 (rev 02)
00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 02)
00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 02)
00:1c.4 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 5 (rev 02)
00:1c.5 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 6 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev f2)
00:1f.0 ISA bridge: Intel Corporation 82801HB/HR (ICH8/R) LPC Interface Controller (rev 02)
00:1f.2 SATA controller: Intel Corporation 82801HR/HO/HH (ICH8R/DO/DH) 6 port SATA AHCI Controller (rev 02)
00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 02)
01:00.0 VGA compatible controller: nVidia Corporation G84 [GeForce 8600 GT] (rev a1)
03:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8053 PCI-E Gigabit Ethernet Controller (rev 22)
04:00.0 SATA controller: JMicron Technology Corp. JMB362/JMB363 Serial ATA Controller (rev 02)
04:00.1 IDE interface: JMicron Technology Corp. JMB362/JMB363 Serial ATA Controller (rev 02)

dmesg | grep -i raid

device-mapper: dm-raid45: initialized v0.2594l
md: Autodetecting RAID arrays.
raid5: automatically using best checksumming function: generic_sse
raid5: using function: generic_sse (6816.000 MB/sec)
raid6: int64x1   1558 MB/s
raid6: int64x2   1937 MB/s
raid6: int64x4   1765 MB/s
raid6: int64x8   1468 MB/s
raid6: sse2x1    3308 MB/s
raid6: sse2x2    4863 MB/s
raid6: sse2x4    5582 MB/s
raid6: using algorithm sse2x4 (5582 MB/s)
md: raid6 personality registered for level 6
md: raid5 personality registered for level 5
md: raid4 personality registered for level 4
raid5: device sdh1 operational as raid disk 6
raid5: device sdg1 operational as raid disk 5
raid5: device sdf1 operational as raid disk 4
raid5: device sde1 operational as raid disk 3
raid5: device sdd1 operational as raid disk 2
raid5: device sdc1 operational as raid disk 1
raid5: device sdb1 operational as raid disk 0
raid5: allocated 7412kB for md0
raid5: raid level 6 set md0 active with 7 out of 7 devices, algorithm 2
RAID5 conf printout:

cat / proc / mdstat

Personalities : [raid6] [raid5] [raid4] 
md0 : active raid6 sdh1[6] sdg1[5] sdf1[4] sde1[3] sdd1[2] sdc1[1] sdb1[0]
      9767559680 blocks level 6, 64k chunk, algorithm 2 [7/7] [UUUUUUU]

unused devices: <none>
    
por zio 02.12.2010 / 21:16

2 respostas

2

A maneira de diagnosticar é remover / substituir componentes. Sua configuração completa é:

 centos(disk-->RAID-->dm-crypt-->LVM-->fs)-->network->mycomputer

Tente um destino diferente:

 centos(disk-->RAID-->dm-crypt-->LVM-->fs)-->network->anothercomputer

Elimine a rede:

 centos(disk-->RAID-->dm-crypt-->LVM-->fs)-->centos

Elimine todas as pilhas para ver se é rede:

 centos(disk(one disk)-->fs)-->network->mycomputer

Se não for apenas a rede, comece a adicionar componentes:

 centos(disk-->RAID-->fs)-->network->mycomputer
 centos(disk-->RAID-->LVM-->fs)-->network->mycomputer

Essas são todas as combinações que consigo imaginar.

    
por 03.12.2010 / 01:20
1

Mesmo as melhores taxas de transferência parecem muito ruins, ler um arquivo grande de um disco rígido de 7 unidades deve ser capaz de saturar facilmente um link GigE, portanto, mesmo com as despesas do SAMBA, você deve estar bem melhor do que 25Meg / seg.

A sobrecarga de criptografia não deveria estar atrasando você como um princípio geral, criptografando \ decifrando (com AES) 100Meg / seg e mais está bem dentro da capacidade de um único núcleo em uma CPU moderna, no entanto esta mensagem sobre o dm-crypt indica que pode ser um gargalo que pode ser disparado pela sua configuração e é um relativamente recente, então eu suspeito que ainda é um problema.

Quando você diz que está transferindo para o seu computador - qual é a especificação dele? - Qual SO, quanta RAM e quão rápido é o subsistema da unidade para a qual você está gravando, ou seja, consegue acompanhar 25Meg / seg?

    
por 02.12.2010 / 22:07