Que se passe-t-il lorsqu'une machine physique tombe en panne dans un environnement virtuel? [fermé]

12

Je commence la virtualisation, alors soyez indulgent avec moi.

Dans les environnements virtuels, les applications s'exécutent dans la couche d'un hyperviseur. Ainsi, une seule machine physique peut contenir plusieurs machines virtuelles exécutant plusieurs applications.

Jusqu'ici tout va bien?

Que se passe-t-il donc lorsqu'une machine physique tombe en panne? Cela ne ferait-il pas échouer de nombreuses applications à partir d'une seule machine?

Je cherche à développer un cloud privé avec OpenStack , mais je veux d'abord comprendre pleinement la virtualisation.

Sherif
la source

Réponses:

14

Les détails dépendent de la solution de virtualisation exacte que vous utilisez, mais l'idée est que vous avez une batterie virtuelle, où il y a un certain nombre d'hôtes physiques avec plusieurs machines virtuelles chacune. Vous utilisez ensuite une partie de l'efficacité que vous avez acquise en ne nécessitant pas d'hôte physique pour chaque machine virtuelle afin de disposer de suffisamment de temps système pour couvrir le cas où une machine physique tombe en panne.

En outre, vous pouvez localiser les disques durs virtuels pour chaque machine virtuelle sur un SAN commun (redondant). Les hyperviseurs de chaque hôte physique peuvent être configurés pour communiquer entre eux et partager la mémoire de différentes machines virtuelles. Il y a une certaine latence, et une grande partie de la mémoire sera sauvegardée sur disque, mais si l'un des hôtes physiques tombe en panne, vous n'attendez même pas que les machines virtuelles de cet hôte redémarrent. Au lieu de cela, ces machines virtuelles seront automatiquement réparties entre les hôtes restants. Le but ultime est que ces machines reprennent presque là où elles se sont arrêtées, avec peu ou pas de temps d'arrêt. Dans un sens, toutes vos machines virtuelles s'exécutent déjà sur au moins deux hôtes physiques. Dans la pratique, les hyperviseurs ne peuvent actuellement effectuer ce type de migration qu'une machine à la fois, lorsqu'ils savent que cela arrive avant que l'hôte ne tombe en panne ... mais ne vous y trompez pas: la migration instantanée en cas de défaillance matérielle est l'objectif ultime pour tous les principaux hyperviseurs.

C'est pourquoi vous voyez parfois un serveur virtualisé sur un seul hôte physique dans une batterie de serveurs. Vous pouvez ne pas gagner en efficacité matérielle (vous pouvez même perdre des performances), mais vous compensez en termes de cohérence de gestion et de haute disponibilité intégrée.

Joel Coel
la source
thnx pour votre réponse joel ... J'ai 2 questions ... l'environnement virtuel considère-t-il les machines physiques comme un pool de ressources unique? cela aide-t-il à satisfaire le libre-service à la demande? La vitualisation aide-t-elle également à utiliser les ressources?
Sherif
1
@Sherif: Fondamentalement, oui et oui. Si vous souhaitez comprendre cela plus en détail, consultez l'article Wikipedia , il traite brièvement de la migration et du basculement des machines virtuelles. Si vous avez encore des questions, posez une question plus spécifique.
sleske
1
Êtes-vous sûr de la partie mémoire partagée? D'après ma compréhension, une machine virtuelle défaillante en raison d'une défaillance matérielle sera redémarrée sur un autre hôte. Cela peut être considéré comme un redémarrage complet ou une restauration de point de contrôle, selon la configuration de l'hyperviseur, mais l'état de la mémoire d'origine ne peut pas être récupéré. Pour vspere: vmware.com/products/vsphere/features/high-available En guise de remarque, certains projets ont été lancés pour KVM pour permettre une véritable mémoire partagée et redondante parmi une collection d'hôtes matériels , mais ils ont été abandonnés.
shodanshok
1
La migration des machines virtuelles ne peut se produire que si la machine physique a la possibilité de transférer le contrôle avant de tomber. Si la machine physique échoue sans cérémonie, la machine virtuelle devra être redémarrée sur une autre machine. Si vous avez un serveur sans état, ce processus de transfert est trivial, car vous pouvez simplement faire tourner une autre machine. Pour les machines avec des états persistants, vous devez disposer d'un schéma qui peut récupérer les données persistantes de la machine physique défaillante.
Lie Ryan
13

Tous les serveurs virtuels s'exécutant sur un hôte physique seront mis hors ligne si l'hôte a une sorte d'échec.

Cela dit, la plupart des plates-formes offrent une solution à haute disponibilité pour une seule machine virtuelle. D'autres fois, un système est construit avec plusieurs nœuds pour éviter toute interruption de service en cas de panne d'un nœud.

Si deux nœuds de machine virtuelle constituent un service hautement disponible, il est possible de configurer l'hyper visière pour garantir que les deux nœuds ne dépendent pas de la même infrastructure physique (tolérance aux pannes). Cela pourrait être plus qu'une simple tolérance aux pannes du serveur physique, y compris différents chemins de réseau, jusqu'à un emplacement géographiquement disparate.

blaughw
la source
2
AWS par exemple, en fonction du service, réplique le service sur les zones de disponibilité (zones physiques) en cas de catastrophe naturelle dans cette zone qui perturbera les machines physiques.
Michael Bailey
l'environnement virtuel considère-t-il les machines physiques comme un pool de ressources unique? cela aide-t-il à satisfaire le libre-service à la demande? La vitualisation aide-t-elle également à utiliser les ressources? et merci beaucoup pour vos efforts
Sherif
5

Vous avez raison en supposant que si la machine physique tombe en panne, les machines virtuelles deviennent indisponibles.

Mais openstack peut s'en occuper et démarrer les machines virtuelles du serveur physique défaillant sur un autre serveur ou vous pouvez utiliser un système d'hyperviseur qui est déjà distribué, je pense que vsphere peut le faire.

Vous devriez lire la documentation openstack sur HA pour plus d'informations.

Henrik Pingel
la source
2

Concernant votre question - oui, vous perdrez l'accès à toutes les machines de cet hôte physique. Bien sûr, cela dépend du composant défaillant. Si c'est un disque - c'est une sorte de problème, si c'est une carte mère - c'est beaucoup plus facile. En général, la récupération matérielle est plus facile car l'hyperviseur est indépendant du matériel. À l'heure actuelle, il existe de nombreuses technologies spécifiques aux fournisseurs que vous pouvez utiliser pour disposer de services hautement disponibles.

Pools de ressources (vmware) - sont pas en mesure d'agréger plusieurs ressources d'accueil physiques (cpu, mémoire, etc.) comme quelqu'un mentionné ci - dessus, donc si vous avez 2 hôte physique (disons quad cores de 1CPU sans hyperthreading - 8GBRAM chacun) il pas être possible d'avoir 5vCPU-12Gb VM là-bas. Les pools de ressources sont logiques, ils ne peuvent pas créer de systèmes de supercalcul. À l'heure actuelle, c'est un moyen de contrôler l'utilisation des ressources.

Disponibilité (vmware) - il est possible d'utiliser des technologies telles que la haute disponibilité (HA) qui vous permet d'avoir une récupération automatisée (basée sur mon expérience dans un délai de 1 à 2 minutes ) de toutes les machines virtuelles du cluster automatiquement, SI vous utilisez Storage Array (NAS, iSCSI, FC) et y conserver tous les fichiers VM. De plus, HA ne fonctionne qu'en cas de défaillance du CPU, de la RAM, de la carte mère, il est évident que cela ne fonctionnera pas si Storage Array tombe en panne. Pour éviter les pannes de RAID / contrôleurs, les gens utilisent la réplication, la mise en miroir des LUN de stockage, etc.

Si la récupération dans un délai de 1 à 2 minutes n'est pas une option, il existe des technologies telles que la tolérance aux pannes (FT) qui permettent d'obtenir un temps d'arrêt ZÉRO de la machine virtuelle en cas de défaillance en conservant une copie fantôme (en cours d'exécution) de la machine virtuelle configurée. Mais cette technologie comporte également de nombreuses restrictions - le problème de la tolérance de pannes des VM avec plusieurs vCPU n'est pas entièrement résolu.

Dans l'ensemble, chaque solution dépend de votre objectif.

Dmitry Savinkov
la source