GNU/Linux >> Tutoriels Linux >  >> Linux

Comment créer une politique d'affinité et d'anti-affinité dans OpenStack

Dans les organisations où OpenStack est utilisé de manière agressive, de sorte que dans ces organisations, les équipes d'application et de base de données peuvent exiger que leurs instances d'application et de base de données soient lancées sur les mêmes nœuds de calcul (hyperviseur) ou différents nœuds de calcul.

Ainsi, cette exigence dans OpenStack est remplie via les groupes de serveurs avec affinité et anti-affinité Stratégies. Le groupe de serveurs est utilisé pour contrôler les règles d'affinité et d'anti-affinité pour la planification des instances d'openstack.

Lorsque nous essayons de provisionner des machines virtuelles avec un groupe de serveurs d'affinité, toutes les machines virtuelles seront lancées sur le même nœud de calcul. Lorsque les machines virtuelles sont provisionnées avec un groupe de serveurs d'ant-affinité, toutes les machines virtuelles seront lancées dans différents nœuds de calcul. Dans cet article, nous allons montrer comment créer des groupes de serveurs OpenStack avec des règles d'affinité et d'anti-affinité.

Vérifions d'abord si votre configuration OpenStack prend en charge les politiques d'affinité et d'anti-affinité ou non, exécutez la commande grep suivante à partir de vos nœuds de contrôleur,

# grep -i "scheduler_default_filters" /etc/nova/nova.conf

La sortie devrait être quelque chose comme ci-dessous,

Comme nous pouvons le voir, les filtres Affinity et Ant-Affinity sont activés, mais s'ils ne le sont pas, ajoutez ces filtres dans /etc/nova/nova.conf fichier des nœuds de contrôleur sous "scheduler_default_filters ” paramètres.

# vi /etc/nova/nova.conf………………scheduler_default_filters=xx,xxx,xxx,xxxxx,xxxx,xxx,xxx,ServerGroupAntiAffinityFilter,ServerGroupAffinityFilter,xx,xxx,xxxx,xx………… …… 

Enregistrez et quittez le fichier

Pour appliquer les modifications ci-dessus, redémarrez les services suivants

# systemctl restart openstack-nova-scheduler# systemctl restart openstack-nova-conductor

Créons maintenant des groupes de serveurs OpenStack avec des politiques d'affinité et d'anti-affinité

Groupe de serveurs avec politique d'affinité

Pour créer un groupe de serveurs avec le nom "app" pour la politique d'affinité, exécutez la commande openstack suivante à partir du nœud du contrôleur,

Syntaxe :

# groupe de serveurs openstack create –policy affinity

Ou

# nova server-group-create affinité

Remarque : Avant de commencer à exécuter la commande openstack, assurez-vous que le fichier d'informations d'identification du projet est source, dans mon cas, le fichier d'informations d'identification du projet est "openrc

Exemple :

# source openrc# groupe de serveurs openstack create --policy affinity app

Groupe de serveurs avec politique anti-affinité

Pour créer un groupe de serveurs avec une politique d'anti-affinité, exécutez la commande openstack suivante à partir du nœud du contrôleur, je suppose que le nom du groupe de serveurs est "base de données"

Syntaxe :

# groupe de serveurs openstack create –policy anti-affinity

Ou

# nova server-group-create anti-affinité

Exemple :

# source openrc# openstack server group create --policy anti-affinity database

Répertorier l'ID et les règles du groupe de serveurs

Exécutez la commande nova ou la commande Openstack pour obtenir l'identifiant du groupe de serveurs et leurs politiques

# nova server-group-list | grep -Ei "Politiques|base de données"Ou# liste de groupes de serveurs openstack --long | grep -Ei "Politiques|application|base de données"

La sortie serait quelque chose comme ci-dessous,

Lancer des machines virtuelles (VM) avec une politique d'affinité

Supposons que nous voulions lancer 4 machines virtuelles avec une politique d'affinité, exécutez la commande suivante "openstack server create ” commande

Syntaxe :

# openstack server create –image –flavor –security-group –nic net-id= –hint group= –max  

Exemple :

# serveur openstack créer --image Cirros --flavor m1.small --security-group default --nic net-id=37b9ab9a-f198-4db1-a5d6-5789b05bfb4c --hint group="a9847c7f-b7c2-4751 -9c9a-03b117e704ff" --max 4 test d'affinité

Sortie de la commande ci-dessus,

Vérifions si les machines virtuelles sont lancées sur le même nœud de calcul ou non, exécutez la commande suivante

# liste de serveurs openstack --long -c Nom -c État -c Hôte -c "État de l'alimentation" | grep -i test d'affinité

Cela confirme que notre politique d'affinité fonctionne correctement car toutes les machines virtuelles sont lancées sur le même nœud de calcul.

Testons maintenant la politique d'anti-affinité

Lancer des machines virtuelles (VM) avec une politique d'anti-affinité

Pour la politique d'anti-affinité, nous allons lancer 4 machines virtuelles, dans la commande "openstack server create" ci-dessus, nous devons remplacer l'ID du groupe de serveurs anti-affinité. Dans notre cas, nous utiliserons l'identifiant du groupe de serveurs de base de données.

Exécutez la commande openstack suivante pour lancer 4 machines virtuelles sur différents ordinateurs avec une politique d'anti-affinité,

# serveur openstack créer --image Cirros --flavor m1.small --security-group default --nic net-id=37b9ab9a-f198-4db1-a5d6-5789b05bfb4c --hint group="498fd41b-8a8a-497a -afd8-bc361da2d74e" --max 4 test d'anti-affinité

Sortie

Utilisez la commande openstack ci-dessous pour vérifier si les machines virtuelles sont lancées sur différents nœuds de calcul ou non

# liste de serveurs openstack --long -c Nom -c État -c Hôte -c "État de l'alimentation" | grep -i test anti-affinité

La sortie ci-dessus confirme que notre politique anti-affinité fonctionne également correctement.

Remarque : Le quota par défaut pour le groupe de serveurs est de 10 pour chaque locataire , cela signifie que vous pouvez créer jusqu'à 10 groupes de serveurs au sein du projet, qui peuvent régir plus de 10 machines virtuelles.

Utilisez la commande ci-dessous pour afficher le quota du groupe de serveurs pour un locataire spécifique, remplacez l'ID de locataire qui convient à votre configuration

# quota d'openstack afficher f6852d73eaee497a8a640757fe02b785 | grep -i groupe_serveur| membres_groupe_serveur | 10      || groupes_serveurs        | 10      |#

Pour mettre à jour le quota du groupe de serveurs, exécutez les commandes suivantes

# nova quota-update --server-group-members 15 f6852d73eaee497a8a640757fe02b785# nova quota-update --server-groups 15 f6852d73eaee497a8a640757fe02b785

Maintenant, relancez la commande de quota d'openstack pour vérifier le quota du groupe de serveurs

# quota d'openstack afficher f6852d73eaee497a8a640757fe02b785 | grep -i groupe_serveur| membres_groupe_serveur | 15     || groupes_serveurs        | 15     |#

C'est tout, nous avons mis à jour avec succès le quota du groupe de serveurs pour le locataire. Ceci conclut également l'article, n'hésitez pas à le partager avec vos amis techniques.


Linux
  1. Comment créer une sauvegarde

  2. Qu'est-ce qu'un serveur Web et comment fonctionne un serveur Web ?

  3. Comment créer un hôte virtuel Nginx (bloc serveur)

  4. Comment créer une image Windows pour OpenStack

  5. Comment installer CVS et créer un référentiel CVS sur un serveur Linux

Comment créer et utiliser un fichier d'échange sous Linux

Comment créer et configurer VirtualHost sur le serveur OpenLiteSpeed

Comment créer un serveur Minecraft sur Ubuntu 20.04

Comment créer et gérer des machines virtuelles dans KVM

Comment créer un utilisateur Sudo sur Ubuntu et Debian

Comment créer un nouveau serveur cloud Atlantic.Net