Question La virtualisation pour la résilience matérielle?


Quelqu'un peut-il me dire s'il est possible de regrouper plusieurs serveurs physiques pour exécuter un environnement de virtualisation résilient. Nos serveurs deviennent de plus en plus critiques pour nos clients et nous voulons faire tout ce qui est en leur pouvoir pour améliorer la résilience en cas de défaillance matérielle. J'ai utilisé des ordinateurs virtuels de bureau, mais je ne suis pas au courant des possibilités des ordinateurs virtuels au niveau de l'entreprise.

L'idéal serait d'avoir quelques serveurs physiques dans notre centre de données. Quelques ordinateurs virtuels sont partagés entre ces derniers pour exécuter un serveur Web, un serveur d'applications et un serveur de base de données. Si un serveur physique tombe en panne, les ordinateurs virtuels doivent basculer sur l’un des autres serveurs et continuer à fonctionner sans interruption.

Cela peut-il être accompli? Je me rends compte que même Google tombe de temps en temps, alors je ne cherche pas la perfection; juste une solution optimale.


5
2017-08-18 21:34


origine




Réponses:


C'est faisable, et nous faisons quelque chose de similaire, sans la partie automatique.

Comme @ewwhite l'a souligné, la clé consiste à disposer d'un pool de stockage partagé visible pour plusieurs serveurs hôtes. Ainsi, si un hôte tombe en panne, peu importe, car un autre hôte peut prendre le relais. Configurer le type de basculement automatique imperceptible et sans interruption dont vous parlez n'est pas facile (ni bon marché), et franchement beaucoup plus de problèmes que cela ne vaut la peine, du moins pour la grande majorité des cas d'utilisation existants. Le matériel moderne n'échoue pas souvent, à moins qu'il ne soit vraiment mal configuré. Vous aurez ainsi plus de temps pour vous assurer qu'il est correctement configuré et dans un environnement se situant dans les limites de ses capacités opérationnelles.

En réalité, nous utilisons les fonctions de basculement et de haute disponibilité de nos systèmes pour seulement deux choses. Le premier concerne la reprise après sinistre (si notre site principal tombe en panne d’alimentation, explose ou ce que vous avez, les éléments essentiels sont reproduits dans un second site) et le second consiste à éviter les fenêtres de maintenance. Nous utilisons des serveurs lames et ESX / vSphere. Entre la possibilité de basculer vers un site secondaire et la facilité d'utilisation de vMotion pour déplacer des ordinateurs virtuels entre des hôtes, il y a très peu de choses que nous ne pouvons pas faire sans interruption de service.

Je me concentrerais d'abord sur cette configuration. Une fois que vous êtes capable (manuellement) de faire échouer les choses, vous pouvez décider que le faire fonctionner automatiquement est plus coûteux et plus difficile que rentable. Cela semble assez facile et génial en théorie, mais en pratique, il peut être très pénible de tout faire fonctionner correctement en cluster ou dans une installation à invité distribué.


2
2017-08-18 22:50



C'est le genre d'information que je cherche. Je suis content que vous ayez mentionné des technologies spécifiques. Je vais regarder dans vMotion. Je me demande comment les fournisseurs de services en nuage font - comment divisent-ils les systèmes d’exploitation virtuels entre plusieurs serveurs physiques? C’est ce que je voudrais: une pile de serveurs, avec une baie de stockage et un logiciel de gestion distribué. Je pensais le déplacer vers le cloud, mais cela pose quelques problèmes pour le moment et je ne sais pas si cela fonctionnerait avec notre configuration. - Kev
La plupart des suites de virtualisation ont une forme de "migration en direct", semblable à VMotion de VMWare. C'est une jolie fonctionnalité clé. Donc qu'est-ce le nuage? Il ne s'agit que de la virtualisation à plus grande échelle, avec certains aspects de libre-service, de gestion et d'automatisation. - ewwhite
Les services de VMWare sont un peu déroutants pour moi. Par exemple, quelle est la différence entre HA et vMotion? J'ai également marqué ce message comme étant la réponse car c'était le premier qui donnait des informations spécifiques. Bien que les autres aient été très utiles aussi. Je pense que je vais commencer un nouveau sujet sur les comparaisons entre différents services. - Kev
@Kryptonite Fondamentalement, vMotion vous permet de déplacer une machine virtuelle invité d'un hôte à un autre (manuellement) sans interruption. La haute disponibilité / haute disponibilité est une option ESX qui démarrera une autre instance de votre machine virtuelle en cas de défaillance de l'hôte sur lequel elle est installée. (Il utilise vMotion pour le faire.) Et puis il y a FT / Fault Tolerance, qui conserve une deuxième copie de votre VM en cours d'exécution sur un hôte séparé (et garde tout synchronisé), de sorte que si un hôte échoue, la VM secondaire instantanément avec le même état du système et le même contenu en mémoire que la machine virtuelle en panne. - HopelessN00b


C'est une excellente raison de virtualiser. Alors que la disponibilité des applications, plutôt que la disponibilité d'un serveur individuel (physique), prend de plus en plus d'importance pour les entreprises, de nombreuses entreprises constatent qu'elles peuvent atteindre un niveau de fiabilité supérieur grâce à la virtualisation.

J'utiliserai VMWare et Xen à titre d'exemple, mais avec une forme de stockage partagé visible pour deux ou plusieurs systèmes hôtes, les invités virtualisés peuvent être distribués et équilibrés sur des serveurs physiques. L'accent commence à être mis sur la qualité de la solution de stockage partagé, la gestion et la mise en réseau / les interconnexions dans l'environnement.

Cependant, un peu de prudence ... Vous devez évaluer quel type de matériel et quelles situations environnementales constituent une menace. Un équipement de classe serveur de qualité comprend de nombreuses redondances (ventilateurs, alimentations, RAID, voire RAM) ... Le matériel moderne ne le fait pas juste échouer souvent. Évitez donc de réagir exagérément en créant un environnement inutilement complexe si la spécification de serveurs haut de gamme pouvait aider à éliminer 90% des problèmes potentiels.


6
2017-08-18 21:57



Je ne vois tout simplement pas comment cela répond à la question qui a été posée. - John Gardeniers
@JohnGardeniers Les entreprises virtualisent pour réduire l'impact des pannes matérielles sur la disponibilité des applications. Mais avoir un seul serveur "en panne" totalement et complètement est également un événement rare ... aussi, une analyse est nécessaire pour comprendre les points critiques de l'environnement du PO. - ewwhite
Pas sûr que je veuille espérer que les serveurs n'échoueront pas. Je veux juste pouvoir récupérer d'un échec aussi rapidement que possible. Si la virtualisation est le meilleur moyen de le faire pour le moment, je vais le faire. Sinon, je suis ouvert à d'autres idées. Pour mémoire, je ne spécifierais jamais un serveur sans RAID et deux alimentations. - Kev
@kryptonite Virtualization extrait le matériel de manière à ce que vos systèmes d'exploitation invités / machines virtuelles deviennent plus portables. Par exemple, dans un Configuration VMWare à 2 ou 3 hôtes avec stockage partagé et vMotionDans le pire des cas, en cas de défaillance d’un serveur individuel, les machines virtuelles s’exécutant sur ce serveur redémarrent rapidement sur un hôte sain. Comparez cela à la nécessité de trouver du matériel de rechange, de récupérer ou de restaurer des données. - ewwhite


VMware FT semble être ce que vous recherchez. Il conserve une "instance fictive" de chaque machine virtuelle en même temps que chaque machine virtuelle source et permet un basculement instantané entre les deux instances. Plus ici:

http://www.vmware.com/products/fault-tolerance/overview.html


4
2017-08-18 23:23



Cela semble bon. Je suppose que cela n'aurait de sens que si chaque miroir était sur une boîte physique différente? - Kev
Oui, ce qui consiste essentiellement à "regrouper" vos serveurs physiques. En conservant des clichés instantanés cohérents de vos machines virtuelles sur plusieurs serveurs physiques, les applications qui y sont exécutées deviennent résilientes et immunisées contre les pannes de tout hôte physique. - joeqwerty


La partie relative aux interruptions est tout à fait une question, surtout qu’aujourd’hui vous sortez de ce qui semble être des serveurs standard sans résilience?

La virtualisation est une option, mais pour une divulgation complète, vous devez prendre une décision éclairée entre les options suivantes:

  1. Petite interruption, dans l'ordre de quelques minutes.
  2. Pas d'interruption (parlaient millisecondes).

(2) est normalement très,

  1. Coûteux - vous avez besoin d'une capacité matérielle N + N. C'est à dire. pour chaque serveur que vous utilisez, vous avez un serveur de secours complet exécutant exactement le même logiciel, prêt à prendre la relève en cas de problème. Matériel échec.
  2. Contraignant - le logiciel que vous utilisez pour cela garantit que les machines sont "synchronisées", normalement sur Ethernet. Cela signifie que si votre réseau ralentit, il volonté ralentissez votre application pour vous assurer que les choses restent bloquées. Pour que cela n'arrive pas, ces machines avoir être dans le même centre de données pour obtenir tout type de performance.

La virtualisation avec VMware-FT est sur la solution. Xen a son équivalent avec everRun et l’équivalent en métal nu (pas d’hyperviseur).

(1) peut être tout ce dont vous avez besoin (Clustering)

  1. Selon l'application, cela peut offrir un échec égal à (2). Par exemple. Les serveurs NFS tels que NetApp peuvent offrir un basculement transparent et les clients continuent sans échec et avec une brève interruption.
  2. "Légèrement" plus tolérant vis-à-vis des échecs logiciels. Etant donné qu'aucune instruction CPU déterministe n'est à l'arrêt, un certain nombre de bogues, telles que les conditions de concurrence, ne seront pas déclenchées.
  3. Pourrait vous permettre d'exécuter différentes versions du logiciel. Par exemple mettez à niveau le nœud 1 du cluster vers le service pack 1 de Windows Server 2008, confirmez-le, mettez à niveau le nœud 2 vers le Service Pack de Windows Server 2008.

Je ne veux pas vendre le clustering contre la tolérance aux pannes, ni le bare metal contre l'hyperviseur, mais en ce qui concerne la haute disponibilité, nous espérons que ce qui précède illustre un grand nombre de questions auxquelles vous devez répondre avant de l'implémenter.

  1. Quel est le temps d'indisponibilité maximum toléré par les utilisateurs (soyez réaliste)
  2. Quels sont les domaines de panne que vous tolérerez? Serveur physique? Logiciel? Réseau de couche 2? Couche 3? Centre de données?
  3. Quelles sont les exigences de performance de l'application? La virtualisation n'est pas pour tout, et ce n'est que très récemment que des applications sensibles à l'horloge, telles qu'Active Directory, ont été utilisées sur des machines virtuelles (et ce n'est certainement pas une pratique courante). Que vous utilisiez ou non l'hyperviseur et les jeux de puces des latets, la virtualisation aura toujours un impact sur les performances, le débit et la latence.
  4. Budget que vous devez travailler dans.

Ces exigences peuvent être traduites par des choses comme MTTF et, en fonction du budget et des compétences de votre équipe, certaines solutions seront tout simplement imparables.


3
2017-08-20 15:31