Comment diagnostiquer le taux de transfert de données par raid par intermittence?

J'ai configuré RAID6 crypté sur Centos 5.5. Lorsque je transfère un grand file 10gb du raid sur mon ordinateur, il s'arrêtera à environ 4-5gb et à nouveau à 9gb. Le transfert de données passe de 25mb / sec à <1mb / sec pendant environ 30-60 secondes.

La video en streaming HD bégaya et / ou gèle toutes les quelques minutes.

Le transfert se fait par samba. La même chose se produit sur rsync (en utilisant rsync daemon), mais les taux de transfert sont légèrement plus élevés.

Quelqu'un peut-il me dire comment suivre le problème? Je ne suis pas sûr de savoir où se trouve le goulot d'étranglement.


Informations de fond:

  • Serveur: le processeur est un Intel (R) Core (TM) 2 CPU 6300 @ 1,86GHz
  • Ram: 4gb
  • Ethernet: Gigabit sur carte mère
  • SATA: à bord x8, 6 ports sur un controller, 2 sur un autre

L'utilisation du CPU est d'environ 45% sur un kernel lors du transfert des données du raid.

Comment j'ai créé le raid:

La stack de raid est la suivante;

disque -> RAID -> dm-crypt -> LVM -> fs

J'ai des disques 7x2TB. Chacun a une partition 'fd' (raid) (/ dev / sdb -> / dev / sdh) note / dev / sda est un SSD contenant le operating system

Voici comment je l'ai créé

Créer le périphérique de raid

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

ouvrir un tableau crypté

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

Créer LVM

 pvcreate /dev/mapper/md0encrypted 

Créez le groupe de volume – utilisez 256M, ce qui permet environ 16.7TB. Doit être une puissance de 2

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

Créez le volume. (a obtenu le PE 37260 total de vgdisplay -v)

 lvcreate -l 37260 VolGroupRaid --name raidvol 

Formulez-le en utilisant

 mkfs.ext3 /dev/VolGroupRaid/raidvol 

Monte le

 mount /dev/VolGroupRaid/raidvol /mnt/raid 

Information système

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> 

2 Solutions collect form web for “Comment diagnostiquer le taux de transfert de données par raid par intermittence?”

La façon de le diagnostiquer est de supprimer / replace des composants. Votre configuration complète est:

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

Essayez une destination différente:

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

Éliminer le réseau:

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

Éliminez toutes les stacks pour voir si c'est réseau:

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

Si ce n'est pas seulement le réseau, commencez à append des composants:

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

Il s'agit de toutes les combinaisons que je peux imaginer.

Même vos meilleurs taux de transfert de cas semblent assez médiocres, la lecture d'un grand file à partir d'un disque 7 RAID 6 devrait pouvoir saturer facilement un lien GigE, donc même avec les frais généraux SAMBA, vous devriez voir beaucoup mieux que 25Meg / sec.

Les frais généraux de Crypto ne devraient pas vous retenir comme principe général, chiffrer \ déchiffrer (avec AES) 100Meg / sec et plus est bien dans la capacité d'un seul kernel sur un processeur moderne, mais ce message sur dm-crypt indique qu'il pourrait être un goulot d'étranglement qui pourrait être déclenché par votre installation et il est relativement récent, donc je soupçonne que c'est toujours un problème.

Lorsque vous dites que vous transférez à votre ordinateur – quelle est la spécification là-bas – Quel operating system, combien de RAM et à quelle vitesse est le sous-système de lecteur que vous écris, c'est-à-dire, peut-il suivre 25Meg / sec?

  • ZFS: 3 périphériques: quelle est la différence entre le miroir et le raidz2?
  • mdadm RAID6 à RAID60
  • Quelle est la difficulté pour installer Linux sur une grande partition?
  • PERC 6i / RAID 6 échecs
  • Quel est le meilleur: RAID5 + 1 Hotspare / RAID6?
  • Annuler l'extension raid6 sur Adaptec 52445 SATA RAID?
  • Raid 6 avec HP P421?
  • Comment identifier les controllers RAID (5 ou 6) qui permettent le redimensionnement dynamic du tableau
  • Le système ne démarre pas à partir de RAID6 dégradé
  • Nombre minimum de disques pour implémenter RAID6
  • Récupération d'un RAID6 en utilisant ddrescue. mdadm: n'a pas pu append, argument invalide
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.