Exchange et le Stockage – Partie 9


Rappel des billets précédents :

Exchange et le Stockage – Partie 1

Exchange et le Stockage – Partie 2

Exchange et le Stockage – Partie 3

Exchange et le Stockage – Partie 4

Exchange et le Stockage – Partie 5

Exchange et le Stockage – Partie 6

Exchange et le Stockage – Partie 7

Exchange et le Stockage – Partie 8

 

Aujourd’hui nous allons voir dans le détail comment calculer manuellement vos besoins en stockage pour Exchange 2010.

Les informations sont sur TechNet mais ce n’est pas toujours facile de remettre tout cela dans le bon ordre.

Premièrement, quelles sont les informations dans vous allez avoir besoin ?

• Nombre total d’utilisateur (mailboxes) dans l’environnement Exchange

• Nombre d’utilisateur par serveur de boîtes aux lettres

• Taille limite boîte aux lettres

• Profile IO Utilisateur (Nombre de messages Envoyés/Reçus par jour)

• Taille moyenne d’un mail

• Mode Outlook

• Profondeur de protection des logs

• Règle de rétention des objets supprimés (SIR)

• Pourcentage de concurrence des utilisateurs

• Pourcentage de déplacement de boîtes aux lettres par semaine

• Ratio Lecture/Ecriture

• Si HA avec DAG (Réplication), Nombre de copies de base de données

• Besoin en Sauvegarde/Restauration (RTO/RPO)

• Outils tierce qui peuvent affecter l’espace consommé ou les IO (Blackberry, etc)

 

Un exemple :

Informations

Valeur

Nombre total d’utilisateur (mailboxes) dans l’environnement Exchange

22000

Nombre d’utilisateur par serveur de boîtes aux lettres

11000 dans une configuration switchover (5500 actifs/5500 passifs)

Taille limite boîte aux lettres

1.5 GB (1500 MB) par utilisateur

Profile IO Utilisateur (Nombre de messages Envoyés/Reçus par jour)

100 messages par utilisateur par jour (80 Reçus/20 Envoyés)

Taille moyenne d’un mail

200 KB

Mode Outlook

Mode en cache

Number of mailbox servers per building block

4

Besoin HA (JBOD RAID-Less)

1 DAG, 4 copies de database par DAG

Besoin HA (RAID)

1 DAG, 2 copies de database par DAG

Nombre de databases par serveur (JBOD RAID-Less)

10 Actives/30 Passives

Nombre de databases par serveur (RAID)

7 Actives/7 Passives

Mode de stockage (JBOD RAID-Less)

1 LUN = 1 Disque = DB + logs

Mode de stockage (RAID)

2 LUN = 1 LUN pour la DB et 1 LUN pour ses logs

Nombre d’utilisateurs pas base de données (JBOD RAID-Less)

550

Nombre d’utilisateurs pas base de données (RAID)

786

Règle de rétention des objets supprimés (SIR)

14 jours

Profondeur de protection des logs (en cas de problèmes de backup)

3 jours

Configuration 24 x 7 BDM

Activé

Ratio base de données Lecture/Ecriture

3:2 (60/40) dans une configuration HA

Pourcentage de concurrence des utilisateurs

100 pourcent

Outils tierce qui peuvent affecter l’espace consommé ou les IO

Non présent

 

Passons aux calculs 🙂

  1. Calcul des IO pour avoir le nombre de disques nécessaires (JBOD RAID-Less / RAID Config)

IOPs type Utilisateur

Base d’informations : http://technet.microsoft.com/fr-fr/library/ee832793(v=EXCHG.140).aspx

Pour 100 messages par jour par utilisateur on a : 0.10 IOPs par boîte aux lettres (mode HA)

Formule : IOPS type Utilisateur = <nombre d’utilisateurs> * <profile utilisateur> + <overhead aditionel si besoin (Microsoft préconise 20%)>

IOPs type Utilisateur = 22000*0.10+20% = 2200 + 440 = 2640 IOPs (Ratio 60/40 Lecture/Ecriture)

IOPs pour les logs

Formule : IOPs pour les logs en Ecriture = 50% de IOPs type Utilisateur en Ecriture)

IOPs pour les logs en Lecture = 10% de IOPs pour les logs en Ecriture

IOPs pour les logs = IOPs pour les logs en Ecriture + IOPs pour les logs en Lecture

IOPs pour les logs en Ecriture = (2640*0,4)*0.5 = 528 IOPs

IOPs pour les logs en Lecture = 528*0.1 = 52,8 IOPs

IOPs pour les logs = 528 + 52,8 = 581 IOPs

Besoin total en IOPs = 2640 + 581 = 3221 IOPs

Maintenant le nombre de disques nécessaires (par rapport aux nombres d’IOPs d’un disque SAS 7200tr/m et de la pénalité RAID de chaque type RAID si nous sommes en mode RAID (je vous renvoie à mes précédents billets si cela ne vous parle pas)).

  1. Mode JBOD RAID-Less (pas de pénalité car pas de RAID) (DB + LOG sur le même disque)

2640 / 65 = 50 disques

  1. Mode RAID (avec pénalité en écriture) (Ratio 60/40 Lecture/Ecriture)

Formule : (<IOPS type Utilisateur> *.60) + <Pénalité RAID> * (<IOPS type Utilisateur> *.40) + <IOPS pour les logs> = <total IOPS> / 65 = <Nombre total de disques requis par building block >

RAID 10 (pénalité de 2) = (2640*0.6)+2*(2640*0.4)+581 = 4277 / 65 = 66 disques

RAID 5 (pénalité de 4) = (2640*0.6)+4*(2640*0.4)+581 = 6389 / 65 = 98 disques

RAID 6 (pénalité de 6) = (2640*0.6)+6*(2640*0.4)+581 = 8501 / 65 = 131 disques

  1. Calcul des espaces nécessaires

Pour déterminer la taille du volume d’une base de données il va falloir calculer :

  1. La taille d’une boîte mail utilisateur sur le disque
  2. La taille d’une base de données sur le disque
  3. La taille de la LUN contenant la base de données

Taille d’une boîte mail utilisateur sur le disque

Formule : Taille boîte mail utilisateur sur disque = <Taille boîte mail> + <whitespace> + <dumpster>

Formule Whitespace = <nombre de messages Envoyés/Reçus par jour> * <taille moyenne d’un message> / 1024 MB

Whitespace = 100*200/1024 = 19,5 MB

Formule Dumpster = (<nombre de messages Envoyés/Reçus par jour> * <taille moyenne d’un message> / 1024 MB * <nombre de jours pour la rétention des objets supprimés>) + (<taille boîte mail> * 0.012) + (<taille boîte mail> * 0.058)

Dumpster = (100*200/1024*14)+(1536*0.012)+(1536*0.058) = 381 MB

DONC : Taille boîte mail utilisateur = 1536 + 19.5 + 381 = 1936.5 MB

Taille d’une base de données sur le disque

Formule : Taille d’une base de données sur disque = <nombre de boîte mail sur une base de données> * <taille boîte mail utilisateur sur disque> * <Facteur base de données overhead extension>

Microsoft préconise un Facteur base de données overhead extension de 20%

Taille d’une base de données sur disque = 550*1936.5*1.2 = 1278090 MB = 1278090/1024/1024 = 1.2 TB

Taille d’une base de données sur disque = 786*1936.5*1.2 = 1826500 MB = 1278090/1024/1024 = 1.74 TB

Taille de la LUN contenant la base de données (pour le RAID)

Formule : Taille de la LUN contenant la base de données = (<taille d’une base de données sur disque > + <taille d’une base de données sur disque > * <facteur d’index de contenu>) / (1 – <facteur d’espace libre préconisé>)

Microsoft préconise un facteur d’index de contenu de 10% et un facteur d’espace libre 20%

Taille de la LUN contenant la base de données = (1.74+0.12)/(1-0.2) = 2.33 TB

Pour déterminer la taille des logs pour une base de données il va falloir calculer :

  1. Nombre de logs générés par boîte mail par jour
  2. Nombre de jours pendant lesquels on retient les logs avant de les tronquer
  3. Facteur de déplacements de boîtes mails
  4. Facteur d’overhead d’extension
  5. Facteur HA

Taille de la LUN contenant les logs (pour le RAID)

Base d’informations : http://technet.microsoft.com/en-us/library/ee832796.aspx

Formule : Taille de la LUN contenant les logs d’une base de données = <logs par jour, par mailbox> * <nombre de mailbox sur la base de données> * <buffer de protection contre l’échec de la troncation des logs, en jour> * < facteur d’espace libre préconisé >

Microsoft préconise un facteur d’espace libre 20%

Nombre de logs par jour voici un tableau pour 100 messages par jour par utilisateur

Average message size

Nombre de logs

75 KB

20

150 KB

38

200 KB

50

300 KB

76

 

Taille de la LUN contenant les logs des bases de données d’un serveur mailbox = 50*786*3*1.2 = 141480 MB = 138,2 GB

Note : si vous souhaitez prendre en compte les déplacements de mailbox pour un facteur de 3% par exemple, il faudra ajouter

550*0.03*1936.5/1024 = 31.2 GB soit un total de 127,9 GB

786*0.03*1936.5/1024 = 44.6 GB soit un total de 182,8 GB

Taille de la LUN contenant la base de données + les logs (pour le JBOD RAID-Less)

Formule : Taille de la LUN contenant la base de données + les logs = ( <taille des logs pour une base de données> + <taille d’une base de données sur disque > + <taille d’une base de données sur disque > * <facteur d’index de contenu>) / (1 – <facteur d’espace libre préconisé>)

Taille de la LUN contenant la base de données + les logs = (((50*550*3)/1024/1024)+(1.2+0.12))/(1-0.2) = 1.7483 TB

DONC AU TOTAL :

Nous avons pour 1 serveur (RAID : bases actives = 7) :

Total LUN size pour les bases de données = 7 * 2.33 = 16.3 TB

Total LUN size pour les logs = 7 * 138,2 = 967,4 GB

Total nombre de LUN = 14

Total volumétrie = 17,4 TB

Nous avons pour 1 serveur (JBOD RAID-Less : bases actives = 10) :

Total LUN size pour les bases de données + les logs = 10 * 1.74 = 17.4 TB

Total nombre de LUN = 10

Total volumétrie = 17,4 TB

Nombre de disques nécessaires pour contenir la volumétrie = 17,4 / 1,834 = 10 disques

(1,834 est la volumétrie utilite disponible sur un disque de 2TB SAS 7200tr/m)

Nous avons 2 copies de databases au total (avec le HA) donc il nous faut en fait 20 disques / serveur

Nous avons un total de 4 serveurs pour soutenir notre infrastructure exchange pour 22000 users

Donc il nous faut 4 * 20 disques = 80 disques

En terme d’IO nous avons vu au début qu’en RAID 10 nous avions besoin de 66 disques, avec les 80 nécessaires pour la volumétrie, nous avons donc suffisamment de disques.

Nous sommes en RAID 10 donc il faut doubler le nombre de disques pour la partie mirroring, et le résultat final sera 80*2 = 160 disques

Pour du JBOD RAID-Less il faudra 40 disques par serveurs * 4 serveurs donc 160 disques aussi

Notes :

En RAID avec des contrôleurs intelligent il faudra aussi ajouter de l’espace en plus car il n’est jamais recommandé d’avoir des RAID Group FULL ! il faudra ajouter aussi des Hot Spare (les best practices sont 1 HS tous les 30 disques (dans notre cas cela fera tout de même 160/30 = 6 disques))

En JBOD RAID-Less pas besoin d’autant de HS ni d’espace en plus car pas de notions de RAID Group.

Il ne faudra pas oublier non plus des disques pour les RDB les LUN de restauration temporaire de backup (ex-RSG (Restor Storage Group))

Pour finir une solution JBOD RAID-Less reste moins couteuse que sont pendant en RAID !! (Il n’y a pas d’infrastructure SAN Fibre par exemple …)

Pour toutes questions n’hésitez pas.

Anthony COSTESEQUE

3 commentaires

  1. Bonjour à tous,
    Suite à différentes remontés d’informations que j’ai eu, 3 choses :
    1- Il y a une erreur de saisie dans les calculs :p merci à Benoit pour l’info : 2640 / 65 = 50 disques … il s’agit de 3221 / 65 = 50 disques (3221 étant la valeur trouvée la ligne au dessus)
    2- concernant mon choix de 65 IOPs par axe comme base de calcul pour la partie JBOD/RAID-Less
    a. Nous parlons de disque NL-SAS à 7200 tours (pas de SATAII) la technologie SAS permet les 65 IOPS
    b. Les performances ne seraient pas au rendez-vous avec 100% de charge (sur 1 axe) : OUI c’est vrai mais il est absolument impossible d’avoir 100% des 550 utilisateurs hébergés sur cette axe là (disque) qui travaillerait au même instant « T » ! c’est pour cela que le rapport charge/perf m’a fait choisir 65 IOPs / 550 utilisateurs par disque.
    D’expérience ce type de calculs fonctionnent parfaitement en production 🙂
    3- A aucun moment je ne parle d’application tiers installées ou qui impacteraient les MBX comme par exemple un serveur BES (Blackberry) pour toute charge supplémentaires il faudra faire des concessions réduire le nombre d’utilisateurs sur un disque par exemple.
    J’ai un certain nombre de clients dans ce type de configuration que je suis régulièrement au niveau performance stockage et aucune anomalie n’a été rencontré aucun goulot d’étranglement.
    Pour toutes questions n’hésitez pas.
    Cordialement,
    Anthony COSTESEQUE

Laisser un commentaire