Aller au contenu

Performance étrange avec mdadm


zoic

Messages recommandés

Bonjour,

J’espère que je poste au bonne endroit. Voila mon problème je me suis récemment lancé dans le raid 5 avec mdadm (sur un gentoo), j'ai donc crée un raid 5 de 3 disques durs de 2to :

- Samsung Spinpoint F4 Ecogreen S-ATA - 2 To - 32 Mo

- Seagate Barracuda Green SATA Revision 3.0 - 2 To

- Hitachi Deskstar 5K3000 SATA Revision 3.0 - 2 To

Comme vous pouvez le constater les 3 disque dur sont de marque différent pour éviter qu'il tombe en panne en même temps (cas qui arrive souvent avec une même série).

Mais voila j'ai des problème de performance (en lecture en particulier), les 3 disques ont été formatés avec le type fd (linux auto raid si je me rappelle bien)

J'ai fait un test avec tout en automatique voici les commande tapées :

- mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sdc1 /dev/sdd1 /dev/sde1 #le chunk est donc à 512

- mkfs.ext4 -v -L Series-TV_R5 -m0 /dev/md0

J'ai obtenu les performances suivantes (testé à l'aide d'un ssd et sur mon pc , celui-ci à un raid 0 de raptor 74go, en passant par samba) : 110mo/s en écriture et 60mo/s en lecture (oui vous avez bien lu)

J'ai essayé en optimisant un peu d'après ce que j'ai pu lire :

- mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sdc1 /dev/sdd1 /dev/sde1

- mkfs.ext4 -v -b 4096 -E stride=32,stripe-width=64 -L Series-TV_R5 -m0 /dev/md0

- echo 8192 > /sys/block/md0/md/stripe_cache_size

Et j'ai obtenu : 120mo/s en écriture et 60mo/s en lecture

Je ne comprend pas trop pour moi le raid 5 est censé avoir les même performance en lecture qu'un disque seul voir un peu mieux et dégrader les performances en écriture...

Je voudrais donc savoir si j'ai raté quelque chose?

Pour information la config du pc qui abrite le raid :

- Asus maximus formula (X38)

- E6600

- 8go de DDR 6400

- 30go SSD pour le système (gentoo en 2.6.39)

En vous remerciant d'avance

Lien vers le commentaire
Partager sur d’autres sites

Quelle commande utilises-tu pour tester le débit de ta grappe RAID ? J'ai aussi un RAID5 chez moi, sur une Debian Squeeze (2.6.32 32bit), je pourrais comparer avec mes paramètres. De mémoire :

-Chunk size à 128;

-strip_cache_size à 256

Je cherche encore ce que j'avais mis comme paramètres pour le fs, mais j'ai peine à trouver les commandes qui vont bien (et l'historique de la console, comment dire, déjà trop loin :D)

Lien vers le commentaire
Partager sur d’autres sites

En faite je crois avoir trouvé ça venais d'un disque dur neuf qui avait un souci de debis je l'ai renvoyé.

Par contre j'ai un problème bizarre j'ai changé le disque, reformaté les 3 disques (pour l'instant les données que j'avais dessus était déjà sauvegardées ailleurs) mais quand je lance un mdadm --create au debut tout va bien est arrivé à 50% environ il me met un disque dur en fault (F) un en spare (S) et l'autre en actif (bien sur la construction de la grappe raid n'est pas fini elle est donc inutilisable).

J'ai regarde le S.M.A.R.T du disque en fault mais aucun problème détecté dessus quelqu'un aurai une explication?

Lien vers le commentaire
Partager sur d’autres sites

Si il a utilisé les chunk par défaut, ca doit être 512.

Comme dit, j'avais posté dans un autre post que l'alignement pouvait etre tres important, mais a priori, ce n'est pas le souci (et de plus, ce n'est pas la marque qui cause le plus d'emm* niveau alignement)

Moi j'ai un RAID 5 3x2To sur du western digital. L'ensemble est chiffré (AES 128 bits), et fait tourner un LVM par dessus. Les performances sont de 65Mo/sec en écriture en copiant des fichiers assez gros par rsync.

Voila les commandes que j'ai tapé et bien sur, chaque partition était alignée (n° de secteur de début de partition est un multiple de 8, et idem pour la taille en secteur). J'ai du créé mon raid avec 2 disques au début (d'où le "missing" car il contenait des données a sauvegarder que je devait transférer vers le RAID (dégradé car seulement 2 disques sur 3) ) :

sudo mdadm --create /dev/md0 -c 128 -l 5 -n 3 /dev/sdc1 /dev/sdd1 missingsudo cryptsetup -c aes-cbc-essiv:sha256 -s 128 -h sha256 --align-payload=512 luksFormat /dev/md0sudo cryptsetup luksOpen /dev/md0 raidDechiffresudo pvcreate --metadatasize 250k /dev/mapper/raidDechiffresudo vgcreate monVolumeGroup /dev/mapper/raidDechiffresudo lvcreate -L 3t -n "monLogicalGroup" monVolumeGroupsudo mkfs.ext4 -T largefile4 -m 0 -E stride=32,stripe_width=64 /dev/mapper/monVolumeGroup-monLogicalGroup
Lien vers le commentaire
Partager sur d’autres sites

En faite je crois avoir trouvé ça venais d'un disque dur neuf qui avait un souci de debis je l'ai renvoyé.

Par contre j'ai un problème bizarre j'ai changé le disque, reformaté les 3 disques (pour l'instant les données que j'avais dessus était déjà sauvegardées ailleurs) mais quand je lance un mdadm --create au debut tout va bien est arrivé à 50% environ il me met un disque dur en fault (F) un en spare (S) et l'autre en actif (bien sur la construction de la grappe raid n'est pas fini elle est donc inutilisable).

J'ai regarde le S.M.A.R.T du disque en fault mais aucun problème détecté dessus quelqu'un aurai une explication?

Tu les as bien tous réinitialisé avec un

mdadm --zero-superblock /dev/sdX#

Si tu ne l'as pas fait, il se pourrait que mdadm découvre qu'un des disques faisait parti d'un ancien raid, et que du coup comparé a l'ancien raid il n'est pas cohérent avec le nouveau

Lien vers le commentaire
Partager sur d’autres sites

Non j'ai oublié de réinitialiser le raid...mais étant donné que j'avais supprimé les partitions pour les refaire je pense que ça a du être effacé non?

Par contre pourrait tu m'expliqué l'histoire d'alignement? j'ai rien vu la dessus dans tout les tutoriaux que j'ai lu à propos du raid

Lien vers le commentaire
Partager sur d’autres sites

A priori, je pense que tu n'es pas impacté vu tes performances en écriture (et que l'alignement impacte surtout l'écriture) car la marque qui a mal paramétré ses disques pour les blocs de 4k, c'est western digital. En gros, pour une pseudo compatibilité avec Windows XP, Western Digital a indiqué dans ses informations du disque lisible par les système d'exploitation que le disque a des secteurs de 512 quand bien même ils sont de 4k.

Pour plus d'explications, je viens de répondre a un post à ce sujet : https://forum.nextinpact.com/topic/156076-serveur-perso-raid-lvm-et-fs/page__view__findpost__p__2609953

(et du coup, il y'a des explications aux commandes que j'ai posté juste avant sur ton topic)

Lien vers le commentaire
Partager sur d’autres sites

Voila j'ai pu reconstruire la grappe raid correctement (je sais vraiment pas pourquoi elle sortait en erreur arrivé à 50% avant...)

J'ai vite fait lancé la commande pour voir les performances (hdparm -tT /dev/md0) et j'obtient 223mo/s en lecture ce qui je pense être correcte (en écriture j'ai l'air de tourner autour des 100-110mo/s) je ferais des test plus approfondis demain.

Lien vers le commentaire
Partager sur d’autres sites

J'aurai une petite question vu que tu as l'air de bien connaitre mdadm.

Actuellement j'ai 3 grappes raid 5 (deux grappes de 3*2to et une de 4*1.5to) et j'aimerais rajouter un disque de spare commun pour ces 3 grappes.

Le probleme c'est que je vois pas comment rajouter un disque de spare pour une grappe, j'ai lu qu'il suffisait de faire un mdadam /dev/mdX --add /dev/sdX1 mais je vois pas comment mdadm sait que c'est un disque spare et non un disque que je rajoute dans la grappe raid 5 pour l'agrandir? Ensuite pour le partager j'ai lu qu'il fallait rajouter dans mdadm.conf la ligne suivante pour chaque grappe spare-group = spare donc ça devrait aller ca mais je me posé aussi la question si sur le disque de spare il y avait des super-block? Car ma carte mère change l'ordre d'attribution des lettre des disque dur à chaque démarrage...

Lien vers le commentaire
Partager sur d’autres sites

Je ne connais de mdadm que ce que j'ai vu.

Du coup, pour ta question, j'ai cherché sur google, j'ai trouvé ca : http://www.kernelhardware.org/linux-add-share-hot-spare-device-software-raid/

De ce que j'en comprends, comme a la création de ton raid, tu indiques le nombre de disques du RAID, si tu rajoutes un disque au dela, il le placera en spare.

Par contre, pour gérer 1 disque de spare sur plusieurs RAID, il faut toucher au fichier mdadm.conf

ARRAY /dev/md3 level=raid1 num-devices=2 spare-group=global devices=/dev/sdc1,/dev/sdd1

Tu crées une ligne indiquant le nombre de disque de ton 1er RAID, puis a la fin de la ligne ARRAY, tu places spare-group=global

Ensuite, dans ta 2eme ligne d'array, tu indique que tu as un spare, et qu'il est dans le spare-group global que tu définis ici. Là, le spare, c'est le dernier device defini, a savoir sde1

ARRAY /dev/md2 level=raid1 num-devices=2 spares=1 spare-group=global devices=/dev/sda2,/dev/sdb2,/dev/sde1

Je pense que si tu rajoutes le disque dans l'array, mdadm devrait lui mettre un super-bloc et il devrait retrouver son petit au redémarrage

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...