XenServer - Pools et haute disponibilité (HA)

Page 1 / 5
  • Publié le : 27 octobre 2016 à 12:17
  • Par Lionel Eppe

Dans un environnement de production, il est souvent important d'avoir une certaine souplesse concernant ses serveurs. Pour cela, nous allons utiliser le système de pools de XenServer.
Ensuite, il est aussi primordial de fournir la meilleure disponibilité possible. Ce qui est souvent possible en configurant la haute disponibilité (HA) de la solution utilisée.

Dans ce tutoriel complet, nous allons vous expliquer comment :

  • créer un pool homogène de serveurs (serveurs possédant le même matériel et surtout le même processeur (CPU)).
  • créer un pool hétérogène de serveurs : pour pouvoir créer un pool de serveurs utilisant un matériel différent, ou en tout cas, un processeur différent.
  • mettre en place la haute disponibilité (HA).

Créer un pool de serveurs permet d'obtenir une certaine flexibilité ainsi qu'une tolérance de panne dans le cas où un de vos serveurs XenServer tomberait en panne ou que vous devriez le mettre en maintenance.
En effet, grâce au pool, il est possible de lancer une machine virtuelle sur le serveur de son choix.
Néanmoins, pour que cela soit possible, vous devrez utiliser un serveur de stockage externe (NAS, NFS, iSCSI, ...) qui sera partagé entre les différents serveurs du pool.

  1. Présentation
  2. Informations importantes à savoir
  3. Configuration utilisée
  4. Synchroniser la date/heure de vos serveurs via NTP
  5. Créer un pool homogène de serveurs (même matériel)
  6. Créer un pool hétérogène (matériel différent)
  7. Ajouter un stockage partagé de type NFS
  8. Ajouter un stockage partagé de type iSCSI
  9. Activer le multipathing pour obtenir de meilleures performances
  10. Installation d'une machine virtuelle
  11. Lancer ou migrer une machine virtuelle d'un serveur à l'autre
  12. Configurer la HA : haute disponibilité
    1. Liaison des réseaux (cartes réseau) de vos serveurs XenServer
    2. Configuration des VM pour être agiles
    3. Activer la HA : haute disponibilité
    4. Tester la HA
    5. Désactiver la HA pour arrêter les serveurs
  13. Conclusion

1. Présentation

Pourquoi utiliser les pools de serveurs ?

Pour obtenir de la flexibilité.
Lorsque vous créez un pool de serveurs :

  • vous devrez stocker vos machines virtuelles sur des stockages partagés (serveurs NFS, iSCSI, ...)
  • vous serez en mesure de démarrer vos machines virtuelles sur n'importe quel serveur du pool
  • vous serez aussi en mesure de déplacer une machine virtuelle d'un serveur à un autre (technologie appelée XenMotion), même si celle-ci tourne actuellement. Notez qu'il y a aura tout de même un court instant d'indisponibilité du service hébergé par la machine virtuelle concernée. (Le temps de la transition entre les 2 serveurs.
  • vous pourrez aussi mettre en place la haute disponibilité pour ce pool, si vous le souhaitez. La haute disponibilité n'est pas possible si vos serveurs ne sont pas dans le même pool.

Quelle est la différence entre un pool homogène et un pool hétérogène ?

Pool homogène :
Un pool homogène signifie que tous les serveurs XenServer du pool devront avoir un matériel identique. Et notamment le même modèle de processeur.
Si ce n'est pas le cas, la création du pool homogène ne fonctionnera pas.

De plus, le pool homogène est conseillé, et notamment pour profiter au mieux des performances que vous pourrez obtenir avec votre matériel.

Pool hétérogène :
Un pool hétérogène signifie qu'au moins un des serveurs du pool possède un matériel différent, ou qu'il utilise au moins un processeur différent de ceux présents dans vos autres serveurs.
Dans ce cas, la création du pool ne sera pas possible dans un 1er temps.

Dans le cas du pool hétérogène, vous devrez masquer les fonctionnalités d'un ou plusieurs processeurs pour que ceux-ci utilisent les mêmes fonctionnalités et qu'ils soient donc compatibles entre eux.
Ce qui signifie que vous risquez peut-être de perdre en performances. Néanmoins, cela fonctionnera aussi.

2. Informations importantes à savoir

Voici quelques informations importantes tirées du fichier "XenServer 6.5.0 Service Pack 1 Administrator's Guide" de Citrix.
La documentation officielle de Citrix XenServer 6.5.0 est disponible sur : docs.vmd.citrix.com

  • Un pool peut contenir jusqu'à 16 serveurs XenServer.
  • Chaque pool possèdera un serveur maître auquel XenCenter se connectera. Les autres serveurs seront découverts à partir du serveur maître.
  • Si le serveur maître n'est plus disponible (par exemple, en panne), un autre serveur maître sera automatiquement désigné parmi les autres serveurs du pool.
  • Les serveurs qui rejoindront le pool devront utiliser la même version de XenServer avec les mêmes mises à jour installées.
  • Le serveur que vous souhaitez ajouter au pool ne devra pas posséder de stockages partagés. En effet, celui-ci devra être ajouté au pool et non à un serveur en particulier.
  • Il est recommandé de synchroniser vos serveurs XenServer avec un serveur de temps (NTP) pour qu'ils utilisent tous la même date / heure.
  • Il est recommandé d'utiliser le même matériel pour les serveurs XenServer qui feront partie du même pool. (Cela évitera des manipulations supplémentaires, et vous pourrez profiter au mieux des performances offertes par votre matériel et vos processeurs)
  • Les serveurs que vous souhaitez ajouter au pool ne doivent pas utiliser une interface de gestion en mode "bonded" (bonded management interface). Si c'est le cas, vous devrez retirer ce "bond" pour le remettre après avoir ajouté votre serveur dans le pool.

Ensuite, vous devrez aussi définir des adresses IP statiques sur tous vos serveurs :

  • les serveurs XenServer
  • les serveurs de stockage externes (NFS, iSCSI, ...)

Pour finir, pour la haute disponibilité (HA), Citrix recommande de l'activer uniquement si votre pool contient au moins 3 serveurs XenServer.
Pour ce tutoriel, nous n'utiliserons que 2 serveurs avec la haute disponibilité, mais en production, il sera préférable d'en posséder au moins 3 dans votre pool de serveurs XenServer.

3. Configuration utilisée

Pour ce tutoriel, nous allons utiliser :

  • IP 10.0.0.101 et 10.0.0.102 : 2 serveurs* XenServer 6.5.0 possédant exactement le même matériel, et surtout le même processeur.
  • IP 10.0.0.103 : un serveur XenServer 6.5.0 avec les mêmes mises à jour que les 2 autres, mais avec un matériel différent et donc aussi un processeur différent. (Pour l'exemple du pool hétérogène)
  • IP 10.0.0.111 : un serveur NFS pour le stockage partagé dont vous aurez besoin pour vos pools de serveurs. (Compatible, mais pas conseillé pour la HA)
  • IP 10.0.0.112 : OU un serveur iSCSI pour la même raison. (Recommandé pour obtenir le support du multipathing. Ce qui est recommandé par Citrix pour la HA)

* Nos serveurs XenServer possèdent 2 cartes réseau chacun pour respecter au mieux les exigences de la HA indiquées dans leur documentation officielle.
En effet, comme vous le verrez plus tard, Citrix indique dans sa documentation qu'il faudrait toujours utiliser des cartes réseau liées (ce qui implique de doubler leur nombre) pour utiliser la haute disponibilité dans les meilleures conditions.