Overblog Suivre ce blog
Editer l'article Administration Créer mon blog
9 mars 2010 2 09 /03 /mars /2010 22:18

Calcul 01

Ca fait plusieurs entreprises que je vois qui se met à la virtualisation. C'est vrai, c'est bien et en plus, ça fonctionne. Mais toutes se sont tous fait avoir avec des mauvais calculs. 

Voici quelques notions de bases pour calculer, et donc dimensionner, une infrastructure virtuelle avec VMWare.

  • Tout d'abord, connaitre l'objectif. Trop souvent les entreprises foncent tête baissée et vont droit au mur car il ne savent pas où ils veulent aller. L'objectif final est le 1er point le plus important.
  • Ensuite, il faut faire un audit. Les choses à tenir compte :
    • L'utilisation du / des processeur(s)
    • L'utilisation de la mémoire
    • L'utilisation effective des disques durs
    • Le type d'OS
    • Les I/O disque
    • L'utilisation du réseau
  • Une fois récolté sur plusieurs semaines (1 mois est le minimum), il faut éplucher cette montagne de chiffres. Sur les 6 points précédents, 4 sont facilement étudiable et quantifiable :
    • L'utilisation processeur : il faut prendre la moyenne des pics. Cette moyenne donnera le nombre de processeur que l'on devra déclarer sur la machine virtuelle
    • L'utilisation de la mémoire : Tout pareil ! On prend la moyenne des pics pour avoir l'utilisation de la mémoire. Sur cette valeur, on ajoute 10% de marge. Il faut bien prendre conscience que cette valeur sera très certainement revu à la baisse après la virtualisation
    • L'utilisation des disques : A 90% les disques sont surdimensionnés. Prenez la quantité de données, ajoutez 25% et vous avez la taille du disque futur. Un conseil, lors de la conversion, créer 1 disque virtuel par partition : les perfs seront meilleurs.
    • Le type d'OS : Cela peut paraitre bizarre de prend soin de connaître l'OS. Et bien si car en fonction de l'OS la virtualisation n'aura pas le même impact. En effet, il est possible de redimensionner des disques sous Windows (d'un disque de 100Go, on peut passer à un disque de 10Go sans problème), en revanche, sous Linux / Unix c'est impossible (10Go utilisés sur 100Go de disque => disque virtuel de 100Go). Il est donc très important de connaitre l'OS car cela aura un impacte direct sur la volumétrie de votre SAN.
    • Les I/O : Difficiles cet indicateur mais important. Malheureusement, pas de règle car les I/O qui peuvent être supporté varie en fonction du type de stockage. Un NAS sera moins performant qu'une baie iSCSI et très moins performant qu'un SAN. Si l'on ajoute la répartition des RAID et des disques (pour une baie SAN, pas possible sur de l'iSCSI par exemple), on arrive à un casse tête. Mais rien n'est impossible ! Faites attention à ne pas mettre que des machines qui sont gourmandes en I/O (Base de données, Exchange, ...) sur le même ESX.
    • Coté réseau, ca dépend de la vitesse du backbone, des switchs et des cartes réseaux. La dessus, il faut ajouter le nombre de cartes utiles. Pas de règles non plus, mais faites attention à ne pas mettre que des machines qui consomment beaucoup de ressource réseau sur le même ESX. 
  • Une fois avoir fait un bilan de tout ça, passons au calcul de l'espace disque. Le calcul est facile à faire mais il faut prendre un soin particulier. Pas de volumétrie = pas de virtualisation ou virtualisation dans des conditions et performances dégradées. Voici le calcul :
    • Dans le cas ou les snapshots ne sont pas utilisés : Disques réellement utilisé = Somme des disques + Somme de la mémoire déclarée sur les machines virtuelles + 50Mo de logs
    • Dans le cas ou les snapshots sont utilisés : Disques réellement utilisé = (Somme des disques + 20%) + (Somme de la mémoire déclarée sur les machines virtuelles + 5%) + 50Mo de logs
    • Suite aux calculs précédents, il faut ajouter 10% de marge de fonctionnement.
  • L'utilisation de la mémoire définira la quantité à mettre dans le serveur ESX. Prenez la somme de la mémoire et ajoutez 1 Go. Majorez le tout de 10% pour un fonctionnement optimum.
  • Le nombre de processeur définira le nombre de coeur de l'ESX. Il faut compter 5 machines par coeur.

Avec tout ça, vous devriez être capable de dimensionner le serveur ESX et la volumétrie disque.

Voici un exemple de calcul :
Etat des lieux :

  • 10 serveurs à virtualiser
  • Chaque serveur utilise 10Go de données utiles sur les 100Go de disque
  • 2 serveurs sont des linux
  • Chaque serveur utilisent 2Go de mémoire
  • 5 serveurs sont des bases de données et les 5 autres sont des serveurs web
  • Les serveurs utilisent 1 GHz de CPU

Objectifs :

  • Tout virtualiser avec un maximum de sécurité et performance
  • Réduire au maximum la capacité des disques
  • Pas de snapshot

Dimensionnement de l'espace de stockage :

  • Volumétrie disque des serveur Microsoft : 8 * 10 Go = 80 Go ; 80 + 25% = 100 Go
  • Volumétrie disque des serveurs Linux : 2 * 100 Go = 200 Go
  • Volumétrie disque total : 200 Go + 100 Go = 300 Go
  • Volumétrie mémoire : 10 * 2 Go = 20 Go ; 20 Go + 10% = 22Go
  • Volumétrie des logs : 50 Mo
  • Volumétrie total : 0,05 Go + 22 Go + 300 Go = 322.05 Go + 10% = 354,255 Go

Dimensionnement de la mémoire et CPU ESX : 

  • 22 Go + 1 Go = 23 Go ; soit 23 Go minimum de RAM
  • 10 * 1 GHz = 10 GHz ; soit 5 coeurs à 2 GHz. Comme les coeurs marchent par paire : 6 coeurs à 2 GHz

Répartition des machines virtuelles pour les performances :

  • 3 serveurs web + 2 serveurs SQL
  • 2 serveurs web + 3 serveurs SQL

Afin de répondre à la sécurité, 2 serveurs ESX seront utilisés. Dans la cas ou un serveur tombe en panne, l'autre doit pouvoir absorber la charge.

Choix des ESX : 

  • 4 Coeurs à 2.33 GHz (on part du principe qu'en cas de panne d'un serveur, le service sera dans un état dégradé)
  • 16 Go de RAM (on part du principe qu'en cas de panne d'un serveur, le service sera dans un état dégradé)
  • 2 serveurs ESX


N'oubliez pas le futur !!! Quand la virtualisation fonctionne bien, le nombre de serveur a la fâcheuse tendance à augmenter !

Partager cet article

Repost 0
Published by Lucky le Koala, le bien-heureux - dans Technique
commenter cet article

commentaires

here to buy pinterest followers 12/05/2015 14:59

e me suis in addition to attardé sur la volumétrie qui est souvent sous-estimé dans les études des custom

more here 19/08/2014 13:08

As far as I know, the total memory declared on virtual machines will have a great impact on the overall usage of the space. Sum of the discs should be computed alongside that. Honestly, I wouldn’t prefer to go with this strategy.

Pascal 01/07/2010 15:20


Petites remarques:
Il est possible sous Linux de redimmensionner les disques, soit en utilsant simplement les LVM ou bien même avec un petit utilitaires du monde libre nommé gparted donc toute erreur de taille disque
est récupérable :)
J'utilise moi même ESX, le mode de calcul présenté ci dessus est un peu simpliste à savoir que les serveur n'utilise jamais 100 % de leur ressource mais plutôt 50%.
A savoir Vmware permet de limiter l'utilisation des ressources d'un serveur.
Sinon éviter de virtualiser les bases de données sauf si elle sont petites et qu'il n'y a peu d'utilisateur.
Et dernier détail: Vmware recommande un processeur virtuelle/ serveur.
Donc si vous virtualisez un serveur quadri-pro en virtuelle, ne lui donner que 2 processeur virtuelle max, au delà cela nuit aux performance du serveur virtuelle. Bref aller sur le site vmware.


Lucky le Koala, le bien-heureux 01/07/2010 15:40



Oui se sont les précos de VMware mais pratiquement on peut dépasser le cap du 1 vcpu / serveur. C'est tout a fait supporté par VMware et les performances ne sont pas réduites. Ceci dit, il ne
faut pas en abuser...


Coté redimensionnement des partitions Linux, je suis d'accord avec vous. Mais se sont des outils Linux. Je parlais d'un redimensionnement au moment de la virtualisation. Par défaut, vConverter
par exemple, ne prend pas en charge le redimensionnement des partitions.


Le serveurs peut dépasser les 50% de ressources. Coté VM, ca ne pose aucun problème de saturer mémoire et vCPU. Coté ESX, c'est plus dure, mais les ressources peuvent être utilisées bien au-delà
de 50%. Tout dépend comment on virtualise : homogénéité ou hétérogénéité. En fonction du mode choisi, l'utilisation des ressources ne seront pas les mêmes. Après, on peut limiter les
ressources d'une VM. Mais en production, on a besoin de la ressource nécessaire pour répondre à une qualité de service. La limitation de ressource est souvent lié avec des environnements de
développement / intégration / tests. Ces environnements n'ont pas le même besoin que la production en terme de disponibilité / répondant.


Pour le calcul, le calcul de la volumétrie est juste. Mais à chaque besoin, à chaque client, il faut adapter le calcul. Mais le cheminement est bon.


C'est clair qu'il ne faut pas dépasser 2 vCPU par VM. Mais dans mon exemple je ne parle pas de quantité de vCPU. Je me suis plus attardé sur la volumétrie qui est souvent sous-estimé dans les
études des clients.


Quand au site de VMware, je le connais. Je penses qu'il peut être mieux fait, notamment en ce qui concernes les différents comptes que l'on doit ouvrir.



Spi 10/03/2010 12:55


Hmmmm... Je crois que je sais à quelle boite je vais forwarder ça :)


Lucky le Koala, le bien-heureux 13/03/2010 22:11


lol


Présentation

  • : Le blog de Lucky le Koala
  • Le blog de Lucky le Koala
  • : Un peu de tout mais toujours en ralant !
  • Contact

Catégories