Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article décrit quatre approches pour l’algorithme de surcommit de cluster dans Microsoft System Center 2012 R2 Virtual Machine Manager (VMM 2012 R2). Vous trouverez un exemple ici pour vous aider à comprendre l’algorithme.
Version du produit d’origine : Microsoft System Center 2012 R2 Virtual Machine Manager
Numéro de base de connaissances d’origine : 3023928
Vue d’ensemble des approches de l’algorithme
L’objectif de la vérification du surcommit du cluster VMM 2012 R2 est de déterminer si les machines virtuelles ne seront pas redémarrées s’il existe un échec simultané des nœuds de réserve de cluster (R). Le cluster est supposé être surcommise jusqu’à ce qu’il soit prouvé autrement. Quatre approches sont tentées et, si une approche indique que le cluster n’est pas surcommise, l’état du cluster est défini sur OK. Sinon, l’état du cluster est défini sur Overcommitted.
Les quatre approches peuvent être visualisées dans une table comme suit :
Vérifier les méthodes | Méthode de preuve | Méthode d’emplacement |
---|---|---|
Vérification simple | Simple preuve | Emplacement simple |
Vérification complète de la complexité | Preuve complète | Emplacement complet |
Les quatre méthodes de vérification
Méthode de preuve
La méthode de preuve fonctionne en déterminant s’il existe suffisamment de machines virtuelles pour remplir tous les hôtes à un point où la plus grande machine virtuelle ne peut pas démarrer sur l’un des hôtes. Il considère le pire cas où la plus grande machine virtuelle est la dernière à basculer et le pire cas où chaque hôte a 1 octet de mémoire insuffisante pour démarrer la machine virtuelle.
Méthode d’emplacement
La méthode d’emplacement fonctionne en affectant chaque machine virtuelle sur un hôte ayant échoué à un emplacement de taille standard unique dont la taille est égale à la taille de la plus grande machine virtuelle sur tous les hôtes ayant échoué. Il compte ensuite le nombre d’emplacements disponibles sur chaque hôte restant et vérifie qu’il existe suffisamment d’emplacements libres pour affecter toutes les machines virtuelles actuellement sur les hôtes ayant échoué.
Vérification simple
La vérification simple ne prend pas en compte un ensemble spécifique d’hôtes ayant échoué. Au lieu de cela, cela rend les hypothèses à l’échelle du cluster les plus défavorables. La plus grande taille de machine virtuelle est utilisée comme machine virtuelle la plus grande dans l’ensemble du cluster. Les tailles de machine virtuelle basculant ne sont pas déterminées à partir d’un ensemble spécifique d’hôtes. Au lieu de cela, l’approche utilise la somme théorique la plus élevée qui peut être obtenue à partir d’hôtes défaillants R . De même, le nombre de mémoires ou d’emplacements disponibles sur d’autres hôtes est la somme des hôtes N-R les plus bas (où N représente la taille du cluster).
Vérification complète de la complexité
La vérification complète de la complexité itère sur chaque ensemble possible d’hôtes défaillants R . Il recalcule la taille de l’emplacement, la plus grande taille de machine virtuelle, les tailles de mémoire de l’hôte cible et le nombre d’emplacements. Cela s’appuie sur chaque combinaison possible d’hôtes défaillants. Le nombre de jeux à prendre en compte est Choose(N,R).. Ce nombre peut devenir prohibitifment faible pour les valeurs importantes de N et R. Étant donné que ce nombre est approximativement proportionnel à N^R, cette vérification est exécutée uniquement si N^R est inférieur à 5 000. Par conséquent, en termes pratiques, le contrôle de complexité complète n’est effectué que dans les situations selon le tableau suivant :
Réserve de cluster (R) | Taille maximale du cluster (N) |
---|---|
1 | 4 999 |
2 | 70 |
3 | 17 |
4 | 8 |
Note
Le contrôle de complexité complète n’est qu’un affinement marginal sur la vérification simple, et la vérification de preuve simple offre des résultats très similaires.
Calculs et algorithmes
Définitions de valeurs et précalculations dans l’algorithme
Important
Les AdditionalMemory
valeurs et AvailableSlots
les valeurs ne peuvent pas être calculées à l’aide des valeurs d’un seul hôte. La valeur ou SlotSize
à partir des LargestClusterVM
hôtes défaillants source doit être connue. Dans une vérification simple, elles sont égales à la plus grande machine virtuelle du cluster. Dans une vérification complète de la complexité, elles sont égales à la plus grande machine virtuelle haute disponibilité (HA) dans l’ensemble d’hôtes défaillants. Certains hôtes échouent et d’autres hôtes reçoivent cette charge de travail. Les calculs de l’espace disponible sont incorrects, sauf s’ils ont été terminés pour les hôtes défaillants et non pour l’hôte récepteur.
Valeurs de cluster
Le tableau suivant présente les définitions des valeurs de cluster :
Nom de la valeur | Définition |
---|---|
N | Nombre total d’hôtes dans le cluster |
R | Valeur de réserve de cluster (autrement dit, nombre maximal d’échecs simultanés au modèle) |
H | Les hôtes sains restants à utiliser comme cibles pour le basculement (H = N - R) |
Valeurs de l’hôte
Les valeurs suivantes sont précalculées pour chaque hôte. Lorsqu’une valeur est calculée pour le LargestClusterVMMB
ou SlotSizeMB
, elle est recalculée dans chaque itération de vérifications complètes de complexité.
Nom de la valeur | Définition |
---|---|
AvailableMemory |
Il s’agit de la mémoire hôte utilisable totale pour les machines virtuelles basculées à utiliser.AvailableMemory = Mémoire totale de l’hôte - Machines virtuelles existantes - Réserve d’hôte |
AdditionalMemory |
Il s’agit de la ligne de remplissage après laquelle un hôte ne pourra plus démarrer la plus grande machine virtuelle qui bascule.AdditionalMemory = Max(AvailableMemory - LargestClusterVM ,0) |
HAVMs |
Il s’agit du total des machines virtuelles haute disponibilité sur cet hôte. |
AvailableSlots |
Il s’agit du nombre de machines virtuelles basculées que cet hôte est garanti pour pouvoir démarrer.AvailableSlots = AvailableMemory / SlotSize , arrondi vers le bas |
UsedSlots |
Il s’agit du nombre de machines virtuelles haute disponibilité sur cet hôte. |
TotalSlots |
Nombre total d’emplacements sur un hôte.TotalSlots = AvailableSlots + UsedSlots |
Note
- Une mémoire tampon de 64 mégaoctets (Mo) est ajoutée à la mémoire de chaque machine virtuelle pour tenir compte de la surcharge d’hyperviseur.
- Les ordinateurs virtuels arrêtés, enregistrés, suspendus et en cours d’exécution sont tous comptabilisés. Un utilisateur client qui démarre une machine virtuelle arrêtée doit être pris en compte lorsque l’algorithme calcule des dépassements de service.
- Si les machines virtuelles de mémoire dynamique sont présentes dans le cluster, leur demande de mémoire actuelle est utilisée.
Algorithmes dans les quatre approches
Emplacement simple
Les algorithmes de l’approche simple de l’emplacement sont les suivants :
SlotSize
= plus grande machine virtuelle haute disponibilité dans le cluster.- Calculez les
AvailableSlots
valeurs ,UsedSlots
etTotalSlots
les valeurs pour chaque hôte. TotalSlotsRemaining
= somme des plus petites valeurs H deTotalSlots
.- Si Sum(
UsedSlots
) <=TotalSlotsRemaining
, le cluster n’est pas surcommise.
Emplacement complet
Itéré sur chaque ensemble d’hôtes défaillants R . Les algorithmes de l’approche de l’emplacement complet sont les suivants :
SlotSize
= plus grandes machines virtuelles haute disponibilité sur les hôtes défaillants R .- Calculez les
AvailableSlots
valeurs ,UsedSlots
etTotalSlots
les valeurs pour chaque hôte. TotalSlotsRemaining
= somme deTotalSlots
tous les hôtes non défaillants.- Comparez les valeurs sum(
UsedSlots
) etTotalSlotsRemaining
les valeurs :- Si Sum(
UsedSlots
) >TotalSlotsRemaining
, le cluster peut être surcomplé. - Si Sum(
UsedSlots
) <=TotalSlotsRemaining
pour chaque ensemble d’hôtes défaillants, le cluster n’est pas surcommise.
- Si Sum(
Simple preuve
Les algorithmes de l’approche simple de preuve sont les suivants :
LargestClusterVM
= plus grande machine virtuelle haute disponibilité dans le cluster.- Calculez
AdditionalMemory
,HAVMs
pour tous les hôtes. TotalAdditionalSpace
= somme des plus petites valeurs H deAdditionalMemory
.TotalOrphanedVMs
= (somme des plus grandes valeurs R deHAVMs
) -LargestClusterVM
.- Comparez les valeurs :
- Si
TotalOrphanedVMs
<=TotalAdditionalSpace
, le cluster n’est pas surcommise. - Si
TotalOrphanedVMs
la valeur est 0,>LargestClusterVM
0 etTotalAdditionalSpace
= 0, le cluster peut être surcomplé.
- Si
Preuve complète
Itéré sur chaque ensemble d’hôtes défaillants R . Les algorithmes de l’approche de preuve complète sont les suivants :
LargestClusterVM
= plus grande machine virtuelle haute disponibilité sur les hôtes défaillants R .- Calculez
AdditionalMemory
,HAVMs
pour tous les hôtes. TotalAdditionalSpace
= somme desAdditionalMemory
hôtes non défaillants.TotalOrphanedVMs
= (somme desHAVMsMB
hôtes défaillants R ) -LargestClusterVM
.- Comparez les valeurs :
- Si
TotalOrphanedVMs
>TotalAdditionalSpace
, le cluster peut être surcommise. - Si
TotalOrphanedVMs
= 0,LargestClusterVM
> 0 et =TotalAdditionalSpaceMB
0, le cluster peut être surcomplé. - Si
TotalOrphanedVMs
<TotalAdditionalSpace
pour chaque ensemble d’hôtes défaillants, le cluster n’est pas surcommise.
- Si
Combinaison des approches et de l’exemple
Aucune des méthodes n’indique que le cluster est surcomplé. Ils ne peuvent montrer que le cluster n’est pas surcommise. Si aucune des méthodes utilisées ne peut montrer que le cluster n’est pas surcommise, le cluster est marqué comme surcommise. Si même une méthode unique indique que le cluster n’est pas surcommise, le cluster est marqué comme OK et le calcul est arrêté immédiatement.
Toutefois, pour l’analyse complète de la complexité, si même un seul ensemble d’hôtes défaillants R indique que le cluster peut être surcomplé, la méthode est immédiatement terminée et ne signale pas le cluster comme OK.
Exemple pour ces approches
Cet exemple est conçu spécifiquement pour être un cas borderline. Une seule méthode (preuve complète) permet de montrer que le cluster n’est pas dépassé.
Supposons qu’un cluster possède quatre hôtes de 32 gigaoctets (Go). La réserve de mémoire de l’hôte est définie sur 9 Go. Une mémoire tampon de 64 Mo n’est pas ajoutée aux tailles de machine virtuelle dans cet exemple pour simplifier les nombres. La réserve de cluster (R) est définie sur 2.
Hôte | Paramètres de la machine virtuelle | AvailableMemory | HAVMs | Machine virtuelle la plus grande |
---|---|---|---|---|
Hôte A | Ha 4 Go, 4 Go HA | 15 Go | 8 Go | 4 Go |
Hôte B | Ha 4 Go, 4 Go HA | 15 Go | 8 Go | 4 Go |
Hôte C | Haute disponibilité de 8 Go, 8 Go non HA | 7 Go | 8 Go | 8 Go |
Hôte D | 6 Go non HA, 2 Go HA, 2 Go HA | 13 Go | 4 Go | 2 Go |
Exemple simple d’emplacement
Taille de l’emplacement = 8 Go
Hôte | AvailableSlots | UsedSlots | TotalSlots |
---|---|---|---|
Hôte A | 1 | 2 | 3 |
Hôte B | 1 | 2 | 3 |
Hôte C | 0 | 1 | 1 |
Hôte D | 1 | 2 | 3 |
Dans la table, nous connaissons les valeurs suivantes :
TotalSlotsRemaining
= deux valeurs les plus petites deTotalSlots
= (1+3) = 4TotalUsedSlots
= 2+2+2+1 = 7
Étant donné TotalSlotsRemaining
qu’elle TotalUsedSlots
est supérieure à , l’approche a échoué.
Exemple complet d’emplacement
TotalUsedSlots
= 7, quels que soient les hôtes qui échouent
Hôtes défaillants | Taille de l’emplacement | AvailableSlots sur les hôtes restants | TotalSlots sur les hôtes restants |
---|---|---|---|
A, B | 4 Go | C : 1, D : 3 | C : 2, D : 5. Total : 7 - Bon |
A, C | 8 Go | B : 1, D : 1 | B : 3, D : 3. Total : 6 - Échec |
A, D | 4 Go | B : 3, C : 1 | B : 5, C : 2. Total : 7 - Bon |
B, C | 8 Go | R : 1, D : 1 | R : 3, D : 3. Total : 6 - Échec |
B, D | 4 Go | R : 3, C : 1 | R : 5, C : 2. Total : 7 - Bon |
C, D | 8 Go | R : 1, B : 1 | R : 3, B : 3. Total : 6 - Échec |
Comme certains ensembles d’hôtes défaillants ont conduit à TotalUsedSlots
>TotalSlotsRemaining
, l’approche a échoué.
Exemple simple de preuve
LargestClusterVM
= 8 Go
Hôte | AdditionalMemory |
---|---|
Hôte A | 7 Go |
Hôte B | 7 Go |
Hôte C | 0 Go |
Hôte D | 5 Go |
Dans la table, nous connaissons les valeurs suivantes :
TotalAdditionalSpace
= deux valeurs les plus petites deAdditionalMemory
= 0 Go + 5 Go = 5 Go.TotalOrphanedVMs
= (8 Go + 8 Go) - 8 Go = 8 Go.
Étant donné que TotalOrpanedVMsMB
>TotalAdditionalSpace
l’approche a échoué.
Exemple complet de preuve
Hôtes défaillants | Plus grandHAVM | AdditionalMemory | Machines virtuelles orphelines | OrphanedVMs - LargestHAVM <= AdditionalMemory |
---|---|---|---|---|
A, B | 4 Go | C : 3, D : 9. Total 12. | R : 8, B : 8, Total 16. | 16-4<=12 - Bon |
A, C | 8 Go | B : 7, D : 5. Total 12. | R : 8, C : 8, Total 16. | 16-8<=12 - Bon |
A, D | 4 Go | B : 11, C : 3. Total 14. | R : 8, D : 4, Total 12. | 12-4<=14 - Bon |
B, C | 8 Go | R : 7, D : 5. Total 12. | B : 8, C : 8, Total 16. | 16-8<=12 - Bon |
B, D | 4 Go | R : 11, C : 3. Total 14. | B : 8, D : 4, Total 12. | 12-4<=14 - Bon |
C, D | 8 Go | R : 7, B : 7. Total 14. | C : 8, D : 4, Total 12. | 12-8<=14 - Bon |
Étant donné que chaque ensemble d’hôtes défaillants a conduit à OrphanedVMs
LargestHAVM
< - = AdditionalMemory
, l’approche a réussi et l’ensemble du cluster peut être marqué comme OK.