Comprendre les principes de Nutanix

Que sont les nœuds, les blocs et les clusters ?

Nœud

Un nœud est un serveur x86 avec des ressources de calcul et de stockage. Un seul cluster Nutanix exécutant AHV peut avoir un maximum de 32 nœuds. Un seul cluster (non mixte) exécutant ESXi peut avoir un maximum de 48 nœuds, tandis qu’un seul cluster Hyper-V peut avoir un maximum de 16 nœuds. Différentes plates-formes matérielles sont disponibles pour répondre aux différents besoins de charge de travail pour le calcul et le stockage.

Trois types de nœuds sont disponibles : HCI, calcul et stockage.

  • Un nœud HCI est le type de nœud le plus courant. Il comprend le processeur, la mémoire et le stockage dans un seul châssis physique.
  • Un nœud de stockage uniquement (SO) a la capacité minimale du processeur, mais une quantité importante de stockage intégré.
  • Un nœud de calcul uniquement (CO) possède le strict minimum de stockage intégré, mais une quantité importante de CPU et de mémoire.

Remarque : un nœud HCI peut exécuter n’importe quel hyperviseur pris en charge : AHV, VMware ESXi ou Hyper-V. Cependant, les nœuds SO et CO prennent uniquement en charge AHV.

Pour plus d’informations, consultez les pages Storage-Only Node Configuration et Compute-Only Node Configuration du Prism Web Console Guide, sur le portail de support Nutanix.

Block

Dans un cluster Nutanix typique, un bloc est un châssis qui contient un à quatre nœuds et contient l’alimentation, le refroidissement et le fond de panier pour les nœuds. Le nombre de nœuds et de lecteurs dépend du matériel choisi pour la solution.

Cluster

Un cluster Nutanix est un regroupement logique de composants physiques et logiques. Un seul cluster Nutanix peut être composé d’un, deux, trois, quatre nœuds ou plus, et ces nœuds peuvent être hébergés dans un ou plusieurs blocs. Puisqu’un cluster est à la fois un regroupement physique et logique, il est possible que les nœuds d’un même bloc appartiennent à différents clusters.

Rejoindre plusieurs nœuds dans un cluster permet de regrouper les ressources. Par exemple, tout le matériel de stockage d’un cluster (c’est-à-dire tous les SSD et HDD) est présenté comme un pool de stockage unique.

Composants du cluster Nutanix

Le cluster Nutanix a une architecture distribuée, ce qui signifie que chaque nœud du cluster partage la gestion des ressources et des responsabilités du cluster. Dans chaque nœud, il existe des composants logiciels (également appelés services AOS) qui exécutent des tâches spécifiques essentielles aux opérations du cluster.

Tous les composants s’exécutent sur plusieurs nœuds du cluster et dépendent de la connectivité entre leurs homologues. La plupart des composants dépendent également d’autres composants pour obtenir des informations.

La figure suivante est une liste détaillée de tous les composants du cluster. Il met en évidence le rôle joué par chaque composant (par exemple, Prism est responsable de l’interface utilisateur et des API ; Genesis gère la gestion des composants ; Arithmos est responsable des statistiques ; etc.) et les connexions et les relations entre les composants.

Acropolis

Un follower Acropolis tourne sur chaque CVM avec un leader Acropolis. Le suiveur Acropolis est responsable de la collecte et de la publication des statistiques et fournit des fonctionnalités de proxy VNC. Le leader d’Acropolis est responsable de la collecte et de la publication des statistiques, de la planification et de l’exécution des tâches, du placement et de la planification des machines virtuelles, du contrôleur de réseau et du proxy VMC.

Genesis

Genesis est un processus qui s’exécute sur chaque nœud et qui est responsable de toutes les interactions de services (démarrage/arrêt/etc.) ainsi que de la configuration initiale. Genesis est un processus qui s’exécute indépendamment du cluster et ne nécessite pas que le cluster soit configuré/en cours d’exécution. La seule exigence pour que Genesis fonctionne est que Zookeeper soit opérationnel.

Zookeeper

Zookeeper stocke des informations sur tous les composants du cluster (matériels et logiciels), y compris leurs adresses IP, leurs capacités et leurs règles de réplication de données, dans la configuration du cluster.

Zookeeper est actif sur trois ou cinq nœuds, selon le facteur de redondance (nombre de copies de blocs de données) appliqué au cluster. Zookeeper utilise plusieurs nœuds pour empêcher que des données obsolètes ne soient renvoyées à d’autres composants. Un nombre impair fournit une méthode pour rompre les liens si deux nœuds ont des informations différentes.

Parmi ces nœuds, Zookeeper élit un nœud comme leader. Le leader reçoit toutes les demandes d’informations et s’entretient avec ses nœuds suiveurs. Si le chef ne répond plus, un nouveau chef est automatiquement élu.

Zookeeper n’a aucune dépendance, ce qui signifie qu’il peut démarrer même si aucun autre composant du cluster n’est en cours d’exécution.

Zeus

Zeus est une interface pour accéder aux informations stockées dans Zookeeper et est la bibliothèque Nutanix que tous les autres composants utilisent pour accéder à la configuration du cluster.

Un élément clé d’un système distribué est une méthode permettant à tous les nœuds de stocker et de mettre à jour la configuration du cluster. Cette configuration inclut des détails sur les composants physiques du cluster, tels que les hôtes et les disques, et les composants logiques, tels que les conteneurs de stockage.

Medusa

Les systèmes distribués qui stockent des données pour d’autres systèmes (par exemple, un hyperviseur qui héberge des machines virtuelles) doivent avoir un moyen de savoir où se trouvent ces données. Dans le cas d’un cluster Nutanix, il est également important de savoir où les répliques de ces données sont stockées.

Medusa est une couche d’abstraction Nutanix qui se trouve devant la base de données contenant les métadonnées. La base de données est distribuée dans une topologie en anneau sur plusieurs nœuds du cluster pour la résilience, à l’aide d’une forme modifiée d’Apache Cassandra.

Cassandra

L’implémentation de Cassandra par Nutanix utilise une version d’Apache Cassandra qui a été modifiée pour des performances élevées et une mise à l’échelle automatique à la demande. Cassandra stocke toutes les métadonnées sur les données de la machine virtuelle invitée dans un conteneur de stockage Nutanix.

Cassandra s’exécute sur tous les nœuds du cluster. Ces nœuds communiquent entre eux une fois par seconde à l’aide du protocole Gossip, garantissant que l’état de la base de données est à jour sur tous les nœuds. Cassandra dépend de Zeus pour recueillir des informations sur la configuration du cluster.

Stargate

Un système distribué qui présente le stockage à d’autres systèmes (tel qu’un hyperviseur) a besoin d’un composant unifié pour recevoir et traiter les données qu’il reçoit. Le cluster Nutanix dispose d’un composant logiciel appelé Stargate qui gère cette responsabilité. Toutes les demandes de lecture et d’écriture sont envoyées via un vSwitch interne au processus Stargate exécuté sur ce nœud. Stargate dépend de Medusa pour collecter les métadonnées et de Zeus pour collecter les données de configuration du cluster. Du point de vue de l’hyperviseur, Stargate est le point de contact principal du cluster Nutanix.

Curator

Un nœud leader Curator analyse périodiquement la base de données de métadonnées et identifie les tâches de nettoyage et d’optimisation que Stargate doit effectuer. Curator partage les métadonnées analysées sur d’autres nœuds Curator.

Le conservateur dépend de Zeus pour savoir quels nœuds sont disponibles et de Medusa pour collecter les métadonnées. Sur la base de cette analyse, il envoie des commandes à Stargate.