bonnes solutions de basculement / haute disponibilité pour linux? [fermé]


9

J'ai plusieurs cas où j'ai besoin de migrer des applications d'un serveur à un autre en cas de panne (blocage ou panne du serveur).

Sur Solaris, nous le faisons avec VCS (Veritas Cluster Server). Quelles options sont disponibles pour Linux?

Veuillez indiquer le niveau d'effort d'installation / maintenance ou le coût (le cas échéant) pour chacun.

- Plus de détails ajoutés -

Pour donner une idée du niveau de complexité:

  • le serveur défaillant peut se bloquer ou se bloquer sans préavis, peut toujours être «capable de ping»
  • le serveur de récupération doit démarrer ses applications en cas de basculement
  • une fois que le serveur a démarré / redémarré, il devient passif pour ne pas interférer avec le serveur de récupération.

Il s'agit d'un nœud de collecte de données ou de calcul, et non d'une base de données, des solutions plus simples pourraient donc fonctionner.

- encore plus de détails (désolé) -

le stockage partagé n'est pas une option, mais pas beaucoup d'état (le cas échéant) doit migrer d'un serveur à l'autre. Nous gardons les deux serveurs synchronisés via rsync.

Merci beaucoup pour tous les messages jusqu'à présent.

Réponses:


10

http://linux-ha.org/ pour tous vos besoins de haute disponibilité. Comme le dit la chanson, les meilleures choses de la vie sont gratuites.


pouvez-vous recommander un bon livre?
slf

4

J'ai utilisé une variété de solutions de cluster sur Linux. Je suis également un partisan de la gestion de la configuration, donc je vais ajouter un peu à ce sujet dans mes descriptions (Chef ou Puppet, c'est-à-dire)

Veritas Cluster Server (VCS). Cela fait un moment, mais nous avons déployé quelques clusters Linux VCS sur RHEL 3.0. J'espère qu'il est disponible sur RHEL 5.0. Vous devez être conscient de la difficulté de la mettre en place, en tant que territoire familier. Comme vous le savez peut-être, VCS coûte cher. Pour l'anecdote, VCS n'est pas bien adapté pour être installé par la gestion de la configuration.

En parlant de RHEL, Red Hat Cluster Suite a beaucoup évolué depuis sa sortie originale avec RHEL 2.1. La phase d'installation / configuration est assez simple, et la documentation est très complète et utile, et comme VCS, vous pouvez acheter une assistance auprès du fournisseur. Pour les produits HA commerciaux, le RHCS a un prix raisonnable. J'utiliserais uniquement la gestion de la configuration pour installer les packages et les maintenir "à la main" via l'interface Web. De plus, j'ai entendu parler de certaines personnes l'utilisant sur des plates-formes non Red Hat, bien que je n'ai pas d'expérience directement avec cela.

Linux-HA (drbd / heartbeat) est également très bien, bien que venant de VCS, la configuration puisse sembler simpliste, mais lourde. C'est assez facile à automatiser avec un outil de gestion de configuration.

Comme preuve de concept, j'ai installé un cluster Linux avec HACMP d'IBM - leur logiciel de clustering AIX. Je ne recommanderais pas cela, car je me souviens que c'est plus cher que même VCS. IBM a des procédures spécifiques pour installer et maintenir HACMP, je n'utiliserais pas la gestion de configuration ici.


4

Michael a raison de dire que la communauté est un peu fracturée en ce moment et que la documentation est un peu clairsemée.

En fait, tout est là, c'est tout simplement impossible à comprendre. Ce que vous voulez vraiment, c'est l'ebook "Explication de la configuration du pacemaker" ... ( Lien vers le PDF ). Vous aurez envie de le lire environ une douzaine de fois, puis essayez de l'implémenter, puis lisez-le encore une douzaine de fois afin que vous puissiez le faire.

La meilleure implémentation prise en charge des services de cluster pour Linux à ce stade sera probablement SLES11 de Novell et son extension de haute disponibilité (HAE). Il est JUSTE sorti il ​​y a un mois ou deux, et il est livré avec un joli manuel épais de 200 pages qui décrit comment le configurer et faire fonctionner les choses. Novell a également excellé dans la prise en charge des configurations de stimulateur cardiaque sous diverses formes.

Au-delà de cela, il y a l'implémentation de RHEL5, qui a le même package et une documentation décente, mais je pense que c'est plus cher que SLES. Du moins, c'est pour nous.

J'éviterais Heartbeat en ce moment et j'irais avec Pacekmaker / OpenAIS car ils seront beaucoup mieux soutenus à l'avenir. TOUTEFOIS, l'état actuel de la communauté est tel qu'il y a quelques experts, il y a quelques personnes qui la dirigent en production, et il y a une tonne de gens qui sont complètement ignorants. Rejoignez la liste de diffusion Pacemaker et faites attention à un homme nommé Andrew Beekhof.

Modifier pour fournir les détails demandés:

Pacemaker / OpenAIS utilise une opération de «surveillance» sur une «ressource primitive» (par exemple, nfs-server) pour garder une trace de ce que fait la ressource. Si l'exemple de serveur NFS ne répond pas au reste du cluster pendant X secondes, le cluster exécutera une opération STONITH (Shoot The Other Node In The Head) pour arrêter le nœud principal, en faisant passer le nœud secondaire en actif. Vous décidez dans la configuration quoi faire apparaître par la suite et les actions associées à prendre. Les détails d'implémentation à partir de là dépendent du service que vous essayez de faire basculer, des fenêtres d'exécution pour certaines opérations (telles que la promotion du nœud principal en maître) et le tout est à peu près aussi configurable que possible.


1

La communauté Linux HA est un peu partitionnée pour le moment.

Les outils anciennement connus sous le nom de Linux HA sont actuellement Pacemaker et OpenAIS , ils sont le plus souvent exécutés en combinaison avec DRBD lorsqu'une architecture de partage rien est nécessaire.

Je suggère de me procurer un bon livre sur ce sujet avant de plonger, car c'est un domaine assez complet et l'état des projets n'est pas nécessairement aussi convivial que certaines solutions de fournisseurs.

Il existe également des solutions Linux par certains des fournisseurs de logiciels de cluster, mais je ne peux pas vous en dire beaucoup sur eux, car je ne les ai jamais utilisés moi-même.


1
Pourriez-vous suggérer un bon livre ou deux sur ce sujet?
Matt Simmons

1

Avec Linux, nous avons implémenté le clustering avec heartbeat et drbd. Heartbeat vérifie l'état du serveur. DRBD est utilisé pour la synchronisation des données entre les serveurs. Nous avons un service Oracle exécuté sur un serveur et apache sur un autre serveur. Lorsque le serveur exécutant Oracle échoue, Heartbeat détecte la même chose et restaure le service Oracle sur le serveur exécutant Apache. et vice versa. Ont utilisé cette configuration à de nombreuses autres fins et ont été fiables jusqu'à ce jour.


1

Red Hat Cluster Suite fera ce que vous voulez pour à peu près toutes les applications possibles. En combinaison avec GFS et Cluster LVM, vous pouvez avoir un stockage partagé solide.

La maintenance n'est pas beaucoup plus difficile que de maintenir les boîtes individuelles en marche. La migration des applications facilite, en fait, la correction des cases individuelles.

RHCS est livré avec un frontal web (Luci) et un frontal GTK (system-config-cluster) pour rendre la configuration et la migration cliquables. Il vous permettra de configurer des domaines de basculement par application, des politiques de récupération, des clôtures, le tout à partir d'une seule console de gestion Web.

Compte tenu du fait que RHCS a en fait une option de support assez solide, je choisirais RHCS.

Je ne sais pas combien cela vous coûterait, mais je pense que c'est de l'ordre de plusieurs milliers de dollars.


1

UltraMonkey , sa construction en partie au-dessus du cadre Linux-HA. Je l'ai toujours considéré comme une solution d'équilibrage de charge plutôt qu'un véritable cluster, mais il gère bien le basculement.


Est-ce toujours mis à jour? le site Web dit:Copyright © 2000-2005, Horms Last Updated: Sat Mar 4 16:33:57 2006 +0900
NickW

0

Nous utilisons Linux Virtual Server et keepalived pour notre haute disponibilité. keepalived peut soit faire VRRP sur les hôtes eux-mêmes (ce qui, je crois, dépend de la mort de l'autre serveur), soit le configurer sur un hôte distinct pour effectuer l'équilibrage de charge, qui peut avoir des vérifications de disponibilité du service. Il peut être possible de configurer les vérifications de service dans la première situation, mais je ne l'ai pas vérifié. La deuxième situation est particulièrement bonne si vous pouvez faire fonctionner les deux serveurs en même temps, sinon vous pouvez effectuer un basculement manuel.


0

J'ai écrit un équilibreur de charge basé sur logiciel pour TCP qui ne nécessite pas de machine distincte. Il partage une seule adresse IP en l'annonçant sur une adresse de niveau liaison multicast et en négociant entre les machines pour éviter que deux machines ne desservent la même connexion TCP.

L'inconvénient est qu'il n'est pas vraiment prêt pour la production - mais si vous voulez le tester sur votre réseau de test, je serais heureux.

La grappe moelleuse est là

Je ne détecte pas nécessairement une situation "vivante mais malade", mais j'effectue un équilibrage de charge entre les serveurs membres (si le processus de l'espace utilisateur meurt, les autres nœuds remarqueront et supprimeront le nœud défaillant)


0

Ce n'est pas gratuit, mais ceux qui n'ont pas le temps ou l'expertise pour installer leur propre solution HA sur Linux, la réponse est sur www.rapidscaleclusters.com. En quelques minutes, vous êtes opérationnel, facile à installer et à exécuter, il est également pris en charge.


Je ne sais pas pourquoi quelqu'un a noté cela ... cela ressemble à une solution viable (bien qu'il y ait toujours des problèmes techniques ... au moins cela ne ressemble pas à un "service" qui a été ma première impression).
ericslaw

0

Je travaille sur un gestionnaire de cluster de basculement open source écrit en script shell. Il est en bon état même s'il peut manquer une intégration dont vous aurez besoin. Vérifiez-le et faites-moi savoir s'il y a une fonctionnalité manquante que vous aimeriez voir et utiliser: https://github.com/nackstein/back-to-work/

si vous êtes bon en programmation shell (shell POSIX) vous êtes invités à rejoindre le développement du projet: D

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.