[SAN] I/O valeurs de performances

I/O valeurs de performances [SAN] - Stockage - Systèmes & Réseaux Pro

Marsh Posté le 25-06-2014 à 15:38:41    

Bonjour à tous,
je suis stagiaire dans une entreprise où je suis chargé de mettre en place la supervision. Mais cela fais plus d'un mois que je cherche des compteurs de performances pertinents. Je les ai pratiquement tous. Je dois superviser un SAN, je pense surveiller les I/O, cependant je ne connait pas les valeurs de bases pour les I/O d'un SAN, qu'elles sont elles svp? Nous utilisons du Fibre Channel.

Reply

Marsh Posté le 25-06-2014 à 15:38:41   

Reply

Marsh Posté le 25-06-2014 à 16:28:49    

Je ne peux pas te répondre, mais une autre info intéressante à avoir est la latence en lecture/écriture.


---------------
In my bed, but still_at_work.
Reply

Marsh Posté le 25-06-2014 à 16:45:44    

Still_at_work, je te remercie pour ta réponse, cependant j'utilise déjà ce compteur, il me faut vraiment une base pour les I/O sur les SAN.
Mais merci de m'aider.

Reply

Marsh Posté le 25-06-2014 à 17:00:58    

je dirais que la base est difficile à donner vu que tu donne pas le modèle/configuration de ton SAN. Sachant que les I/O varient en fonction du type de disques, de leur capa/vitesse, du nombre etc

Reply

Marsh Posté le 25-06-2014 à 17:11:41    

Ce que je sais: donc c'est un SAN DS3400 avec des SAS en 15000 tours/min. J'aimerais les  I/O  au niveau des contrôleurs du SAN, enfin savoir la norme afin de prendre son "pouls" convenablement. Je ne suis que stagiaire (l'excuse :) )

Reply

Marsh Posté le 25-06-2014 à 17:17:16    

ya pas de norme, faut juste savoir combien ton san est capable de délivrer d'io (et encore ça va dépendre du type d'io) et en faire ta baseline

Reply

Marsh Posté le 25-06-2014 à 18:40:24    

Je@nb a écrit :

ya pas de norme, faut juste savoir combien ton san est capable de délivrer d'io (et encore ça va dépendre du type d'io) et en faire ta baseline


 
 
ben, c'est une très bonne idée, mais il me faut comprendre quand même certaines choses: quand je regarde les I/O  sur un controleur,j'ai des valeurs en KB/s. Exemple: 24503 kB/S et j'ai des valeur en pourcentage, exemple 94%  ok c'est bien joli tout ça mais ça correspond à quoi svp? Surtout le pourcentage...
 
merci...

Reply

Marsh Posté le 25-06-2014 à 19:55:55    

c'est pas des IO, des kb/s c'est un débit. Le nombre d'IO c'est un nombre :D

Reply

Marsh Posté le 25-06-2014 à 23:15:10    

tu as un cacti qui tourne dans ta boutique ?

Reply

Marsh Posté le 26-06-2014 à 00:49:38    

Les I/O dépendent du nombre de disque, du type de contrôleur, du système de caching, de la charge typique et du FS.
Globalement pour faire une côte mal taillée on peu prendre :
200 a 400 I/O pour un disque 15k lecture/écriture @150mo/s sustained sur de la LSI avec 2gigs de cache en PCI-e 2.0 x8 en 16 ports.
Pour saturer les I/O sur ce type de cartes il faut y aller avec des baies DAS SAS@100 disques NL SAS ou tu va pouvoir taper les 20k I/O par baie @ 550mo/s sustained (multiplié par 16 donc, soit 360k I/O - 4gig sustained)
Le tout sur du NTFS, full lun active sur une target sans hotspare (full port = full data, réplication off, HA off)
 
Pour avoir plus d'I/O faut utiliser des FS en exposition directe avec des systèmes de caching intégré (ZFS, GlusterFS, mojette) et pour avoir encore plus faut taper les FS distribués.
 
Le fibre channel et le FCoE a partir de 10Gbit/s n'est pas un goulet d'étranglement sur réseau dédié (topologie spécifique, réseau en étoile ou 4D, aggregation). Après faut taper sur de l'infiniband, de l'HT3.0 externe ou autre pour avoir plus gros.

Reply

Marsh Posté le 26-06-2014 à 00:49:38   

Reply

Marsh Posté le 26-06-2014 à 00:59:47    

ça me semble beaucoup tes 200 à 400 IO sur du 15K, d'habitude j'utilise plutôt 150 à 200 dans mes métriques de capacity planning, tu as un retour là dessus ?

Reply

Marsh Posté le 26-06-2014 à 01:29:40    

Les derniers savvio que j'ai montée (15k4 en tests, devraient bientôt sortir, sur les 600gigs), c'est se que ça donne (plutot en fourchette basse ceci dit, mais j'ai des pointes 300/320k et en extérieur disque j'arrive a saturer le cache DD)
 
Mes cheetah 600gigs donnent du 350 en extérieur sur ma maquette (firm IT, ZFS, lustre derrière et fusionIO en guise de cache, mais c'est du grand luxe, c'est une baie "DAS" avec SAS expander, kernel firmware custom pour exposer la DAS sur LSI, le tout sous lustre et ZFSonLinux)
 
Dans le pire des cas on peu corriger et partir sur du 200 I/O par disque. Mais les prochaines générations vont facilement doubler les I/O en 15k (en même temps avec capacité x4 sur du SFF, normal quoi)
 
Edit : http://www.seagate.com/internal-ha [...] e-15k-hdd/ sur la com ils annoncent 480 (en extérieur indeed)
 
Edit² : je parle volontairement pas des disques HGST/WD (même boite) puisqu'ils sont en renouvellement de gammes avec technologie helium, et donc on reste pour le moment sur des anciennes gammes qui sont dans les choux, en revanche niveau SSD ... [:cerveau delight]

Message cité 1 fois
Message édité par MysterieuseX le 26-06-2014 à 01:40:27
Reply

Marsh Posté le 26-06-2014 à 10:52:01    

Reply

Marsh Posté le 26-06-2014 à 12:03:02    

ledub a écrit :

tu peux utiliser cet outil :  
http://www.wmarow.com/strcalc/


Ils sont bizarre leurs résultats, on a des IO max a peu pret correct (comparée avec se que j'obtient sur savvio/LSI 9201/FC 4+4 torus dédié brocade) mais les débit sont carrément a l'arrache o_O

Reply

Marsh Posté le 26-06-2014 à 17:26:29    

salut à tous, donc je n'ai pas de cacti qui tourne, pour les autres commentaires, je n'ai pas tout compris vu mon niveau technique. Je vous répond le temps de mettre à jour.
PS: si vous avez de la doc pour moi je suis preneur.

Reply

Marsh Posté le 26-06-2014 à 17:30:09    

MysterieuseX a écrit :

Les I/O dépendent du nombre de disque, du type de contrôleur, du système de caching, de la charge typique et du FS.


 
 
C'est quoi FS? parce que pour moi c'est file system mais en l'occurrence ce n'est pas ça.

Message cité 1 fois
Message édité par vaynsil le 26-06-2014 à 17:30:41
Reply

Marsh Posté le 26-06-2014 à 17:34:02    

ledub, merci pour le lien, mais il n'y a pas mes disques (des toshiba).
Mais merci quand même

Reply

Marsh Posté le 26-06-2014 à 17:38:22    

vaynsil a écrit :


 
 
C'est quoi FS? parce que pour moi c'est file system mais en l'occurrence ce n'est pas ça.


 
Ben si, c'est bien file system (tu peu exposer certains file system en direct d'ou la dépendance aux I/O, du genre glusterFS, Lustre, rozoFS, ZFS, CEPH, DFS, GFS)
Edit : et dans une moindre mesure les I/O sont dépendante du format de l'information enregistrée (seek time) via les tailles d'unité d'allocation supportés par le FS et de l'overhead/calculs nécessaire a la conversion des données. Tes disques sur ton SAN ne sont pas stocker en LUN, mais il y a bien un FS sous-jacent (généralement ext4 ou ntfs), t'expose pas le matos en direct aux applis :)
 
Edit² : Toshiba au niveau business ont une partie des anciennes gammes hitachi (devenu HGST) et d'anciens fujitsu. Cherche la correspondance.


Message édité par MysterieuseX le 26-06-2014 à 17:47:10
Reply

Marsh Posté le 26-06-2014 à 17:59:57    

je m'avance peut être mais vu la configuration système de l'infra j'opterais pour du ntfs, et j'hésite entre ext3 et ext4 ( peut être bien les deux).

Reply

Marsh Posté le 26-06-2014 à 18:01:53    

MysterieuseX d'où tiens tu ces informations? J'aimerais bien aussi avoir un tel niveau de connaissance.

Reply

Marsh Posté le 26-06-2014 à 18:06:48    

vaynsil a écrit :

je m'avance peut être mais vu la configuration système de l'infra j'opterais pour du ntfs, et j'hésite entre ext3 et ext4 ( peut être bien les deux).


 
Sauf que tu peut ne pas avoir ce choix (dépend de ton infra de virtualisation) de choisir le FS "hard", le FS "user" on s'en fou un peu
 
Edit pour comprendre sous VMware (NTFS sur VMFS sur Block)
 
http://vmdamentals.com/wp-content/uploads/2011/12/aligned.png
 
http://vmdamentals.com/wp-content/uploads/2011/12/NTFS-misaligned-small.png
 
edit² : et pour aller plus loin (orienté HPC http://www.admin-magazine.com/HPC/ [...] -Profiling )


Message édité par MysterieuseX le 26-06-2014 à 18:11:27
Reply

Marsh Posté le 26-06-2014 à 18:37:36    

je commence à comprendre le shéma, et merci pour la doc.
je continue à l'étudier...

Reply

Marsh Posté le 26-06-2014 à 18:45:48    

si J'ai bien compris la couche ntfs où il y a le désalignement par bloque, c'est du fs utilisateur, et l'autre où c'est aligné c'est du fs hard?


Message édité par vaynsil le 26-06-2014 à 18:53:38
Reply

Marsh Posté le 26-06-2014 à 21:52:13    

Rien à voir.
Le schéma explique que si tu formates ta partition NTFS n'importe comme (par exemple sur un windows 2003 par défaut), a chaque bloc NTFS que le système demande, tu vas aller chercher 2 blocs sur le SAN. d’où un problème de perf / 2.  
J'ai simplifié : il y a la couche VMFS intermédiaire qui fonctionne par morceau de 64Ko, il y a donc 1 chance sur 8 de demander deux blocs VMFS de 64Ko à chaque demande de bloc NFS de 4Ko, donc les perfs sont potentiellement 1/8e inférieure à ce qu'elle devrait être.
Pour être complet sur le sujet, VMFS5 permet de faire des sous bloc de 8Ko au lieu de 64Ko, je laisse en exercice le calcul de la perte de perf potentielle.
 
Pour savoir le nombre d'IO que peut sortir un SAN, il faut savoir trois choses :
- de quel type d'accès on parle. 4Ko aléatoire 100% ecriture, lecture séquentiel ? ça change tout.  
- quel est le type de RAID utilisé par le SAN, et combien de disque il y a dedans.
- avec quelle latence d'accès.
 
Un disque 15K RPM classique sort 180 IO/s en random 4k avec une latence optimale (je sais plus combien, disons 5ms)
Un RAID 5 a une pénalité d'écriture de 4.
 
Si tu prends un SAN hypothétique avec 5 disques en RAID5 et que tu as un accès random 4K avec 40% d'écriture, il peut théoriquement sortir :
(5*180*0,4/4) + (5*180*0,6) = 630 IO/s avec une bonne latence.
Le même SAN avec 60% d'écriture peut sortir 495 IO/s.
 
Ca c'est les capacités physiques des disques du SAN.  
Généralement il y a un gros cache qui permet de faire les écritures en NVRAM, bufferiser le tout et optimiser les écritures derrière, ce qui te donne de meilleures performances d'écriture. Et il y a aussi un cache en lecture.
Néanmoins, si tu as en entrée un flux continue d'IO supérieur à ce que les disques peuvent écrire, au bout d'un moment, quand la NVRAM sera pleine, le SAN ne pourra pas écrire plus vite que les disques.

Message cité 1 fois
Message édité par Exo 7 le 26-06-2014 à 22:05:26
Reply

Marsh Posté le 27-06-2014 à 00:15:52    

Exo 7 a écrit :

Rien à voir.
Le schéma explique que si tu formates ta partition NTFS n'importe comme (par exemple sur un windows 2003 par défaut), a chaque bloc NTFS que le système demande, tu vas aller chercher 2 blocs sur le SAN. d’où un problème de perf / 2.  
J'ai simplifié : il y a la couche VMFS intermédiaire qui fonctionne par morceau de 64Ko, il y a donc 1 chance sur 8 de demander deux blocs VMFS de 64Ko à chaque demande de bloc NFS de 4Ko, donc les perfs sont potentiellement 1/8e inférieure à ce qu'elle devrait être.
Pour être complet sur le sujet, VMFS5 permet de faire des sous bloc de 8Ko au lieu de 64Ko, je laisse en exercice le calcul de la perte de perf potentielle.
 
Pour savoir le nombre d'IO que peut sortir un SAN, il faut savoir trois choses :
- de quel type d'accès on parle. 4Ko aléatoire 100% ecriture, lecture séquentiel ? ça change tout.  
- quel est le type de RAID utilisé par le SAN, et combien de disque il y a dedans.
- avec quelle latence d'accès.
 
Un disque 15K RPM classique sort 180 IO/s en random 4k avec une latence optimale (je sais plus combien, disons 5ms)
Un RAID 5 a une pénalité d'écriture de 4.
 
Si tu prends un SAN hypothétique avec 5 disques en RAID5 et que tu as un accès random 4K avec 40% d'écriture, il peut théoriquement sortir :
(5*180*0,4/4) + (5*180*0,6) = 630 IO/s avec une bonne latence.
Le même SAN avec 60% d'écriture peut sortir 495 IO/s.
 
Ca c'est les capacités physiques des disques du SAN.  
Généralement il y a un gros cache qui permet de faire les écritures en NVRAM, bufferiser le tout et optimiser les écritures derrière, ce qui te donne de meilleures performances d'écriture. Et il y a aussi un cache en lecture.
Néanmoins, si tu as en entrée un flux continue d'IO supérieur à ce que les disques peuvent écrire, au bout d'un moment, quand la NVRAM sera pleine, le SAN ne pourra pas écrire plus vite que les disques.


 
Bah va désaligner tes partoches, on va voir si t'as pas des pertes xD.
Le gros cache en NVRAM, certainement pas, la seule accélération possible en restant sur du standard se situe sur les nodes VM, pas au niveau des SAN, si tu commence a parler de fusionIO etc (autre que les cartes accélératrices) c'est pas des nodes standards et tu les expose pas comme tu veux également, et c'est pas souple, hormis a passer sur du FS distribué (et on s'affranchi réellement des problèmes d'alignements, gestions des blocks, et autres puisqu'on retourne sur du FS avec une grosse couche calcul, on remet de l’intelligence à ou il faut)
Le cache lecture lui non plus en mode VM n'est pas des plus accessible.
 
Tu peu écrire plus vite que les disques, mais faut utiliser des ruses de sioux (avoir un FS tampon dopé aux SSD et DAS DAS DAS DAS en nearline SAS, une sorte de cache de travail géant, pas facile a mettre en oeuvre mais faisable)

Reply

Marsh Posté le 27-06-2014 à 01:23:09    

Je répondais au post de vaynsil.
 
Concernant la NVRAM sur le SAN, j'insiste :non: . L'acquittement de l'IO une fois journalisé en NVRAM est la principale source de performance en écriture des SAN des constructeurs comme EMC ou Netapp.
et idem pour la RAM des contrôleurs qui joue le rôle de cache en lecture.

Reply

Marsh Posté le 27-06-2014 à 17:01:46    

Exo 7 a écrit :

Je répondais au post de vaynsil.
 
Concernant la NVRAM sur le SAN, j'insiste :non: . L'acquittement de l'IO une fois journalisé en NVRAM est la principale source de performance en écriture des SAN des constructeurs comme EMC ou Netapp.
et idem pour la RAM des contrôleurs qui joue le rôle de cache en lecture.


 
EMC/Netapp, c'est normal, c'est du ZFS en dessous pour une grande partie de leurs gamme, donc du "custom". Les contrôleurs faut qu'ils soient clairement pris en charge par la solution virtu (= 1 driver spécifique)
Regarde mon profil mes nodes de maquette "custom", ça te donnera une idée.

Reply

Marsh Posté le 27-06-2014 à 21:42:32    

Tu as des sources concernant ZFS ? Car sur Netapp c'est WAFL, développé en interne, qui est utilisé.
Il n'y a pas de prise en charge spécifique pour la virtualisation à part la vérification classique de l’interopérabilité. Il y a bien PowerPath pour EMC, mais tu peux t'en passer et utiliser un PSP par défaut.
 

Reply

Marsh Posté le 28-06-2014 à 00:38:18    

Exo 7 a écrit :

Tu as des sources concernant ZFS ? Car sur Netapp c'est WAFL, développé en interne, qui est utilisé.
Il n'y a pas de prise en charge spécifique pour la virtualisation à part la vérification classique de l’interopérabilité. Il y a bien PowerPath pour EMC, mais tu peux t'en passer et utiliser un PSP par défaut.
 


 
Monter les disques ou clones en ZFS, tu verra le résultat, avec des forensic tool hein. Pour les contrôleurs je parle en custom (LSI Adaptec, les host bus FC/IB etc ...) > si le firmware est pas compatible, tu profitera pas du cache ou avec les algo de base (et c'est merdique) avec des pertes de perf.

Reply

Marsh Posté le 30-06-2014 à 15:30:16    

ne vous prenez pas la tête pour ça. En tout cas ça me rassure je commence à comprendre votre langage :)

Reply

Marsh Posté le 02-07-2014 à 15:33:07    

j'ai verifié pour netapp et c'est bien WAFL qui est utilisé, cependant WAFL n'est pas un FS.


Message édité par vaynsil le 02-07-2014 à 15:33:41
Reply

Marsh Posté le 03-07-2014 à 10:58:56    

on s'eloigne un peu du sujet , la non ?  
moi je supervise ma V7000 sur cacti  
pour savoir ce que detope une baie en IOps , tu peux parcourir le forum vmware de bench https://communities.vmware.com/thre [...] 0&tstart=0

Reply

Marsh Posté le 03-07-2014 à 14:55:39    

Exo 7 a écrit :

Je répondais au post de vaynsil.
 
Concernant la NVRAM sur le SAN, j'insiste :non: . L'acquittement de l'IO une fois journalisé en NVRAM est la principale source de performance en écriture des SAN des constructeurs comme EMC ou Netapp.
et idem pour la RAM des contrôleurs qui joue le rôle de cache en lecture.


Et c'est là que DataCore prend tout son sens par rapport aux solutions sus-mentionnées.
 
DataCore gère son cache dans la mémoire vive de la bécane qui l'héberge. On parle potentiellement de 1 To de cache, 256 Go en restant sur une solution au coût raisonnable.

Reply

Marsh Posté le 03-07-2014 à 15:46:25    

ledub a écrit :

on s'eloigne un peu du sujet , la non ?  
moi je supervise ma V7000 sur cacti  
pour savoir ce que detope une baie en IOps , tu peux parcourir le forum vmware de bench https://communities.vmware.com/thre [...] 0&tstart=0


 
 
 
C'est vrai que l'on s'est bien éloigné du sujet :), mais bon du coup cela me fait acquérir de nouvelles connaissances, que du bonus :).
Pour le sans je ne me suis pas pris la tête, je prend les moyennes en sortie écriture et lecture.
Je mets en prod un moment histoire de voir ce que ça donne, et si je dois changer je changerais.
 
PS: Auriez-vous de bons outils de stress server, pour des serveurs sous windows svp?


Message édité par vaynsil le 03-07-2014 à 15:47:29
Reply

Marsh Posté le 03-07-2014 à 15:51:20    

faut stresser avec l'appli qui va être utilisée sur le serveur sinon ça fait aucun sens

Reply

Marsh Posté le 03-07-2014 à 16:01:07    

je veux surtout voir comment réagissent mes compteurs, si je les interprètes convenablement. Mais autres compteurs il n'y a aucun problème, je peux te dire tout de suite s'il y a un problème ou pas. C'est vraiment pour voir le comportement de mes compteurs. A quel moment je peux estimer que je suis en "rouge".

Reply

Marsh Posté le 03-07-2014 à 16:24:28    

on peut dire que tu puisses etre dans le rouge , a part un disque (une lun , un datastore) plein
on peut plutot dire que tu demande trop a ta baie et que la latence augmente serieusement

Reply

Marsh Posté le 03-07-2014 à 16:33:41    

justement si on prend l'exemple de latence, à partir de combien on peut dire qu'il y a trop de latence, c'est ce qui m’intéresse. C'est un exemple j'ai déjà la valeur pour la latence. Mais dans mon cas je veux voir (de mes yeux afin de bien comprendre) à partir de combien de Millisecondes ça commence à chauffer. Et j'aurais préférer avoir un outil pour ça. Sur linux il n'y aurai pas de problème, j'aurais fais un petit script avec une commande "dd", mais la sous windows c'est un peu moins ma tasse de thé question powershell.


Message édité par vaynsil le 03-07-2014 à 16:34:18
Reply

Marsh Posté le 03-07-2014 à 16:59:49    

encore une fois, la latence acceptable dépend de l'applicatif qu'il y a dessus ...

Reply

Marsh Posté le 03-07-2014 à 17:11:28    

Bon, on ne va pas tomber d'accord :) mais ce n'est pas grave,(peut être que l'on ne se comprend pas ou que ça vient de moi mais bon no blem). Je vais essayer d'expliquer comment je vois les choses.
pour les applicatifs les valeurs ne sont pas les mêmes que pour le matériel, et ce que je veux c'est superviser le matériel, l'applicatif sera une autre couche. En somme je supervise l'infra (matériel et applicatif) et le réseau. Mais là je m'intéresse surtout à la partie matérielle. Donc quelque soit les appli qui sont dessus c'est pas un soucis (sauf pour les serveurs de Base de données). Je veux voir comment réagissent mes disques, à quel moment l'on voit une baisse de performance.
j'espère que j'ai bien expliqué.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed