Définition
La migration dynamique est un processus qui consiste à déplacer une machine virtuelle depuis l'hôte source vers un hôte de destination sans la déconnecter. La durée entre la suspension de l'ancienne machine et le démarrage de la nouvelle est très courte, ce qui permet d'éviter les interruptions de service pendant les migrations. La migration dynamique est notamment utilisée dans le cadre de la maintenance planifiée ou pour équilibrer les ressources des charges de travail. Elle comprend le transfert de la mémoire, de la connectivité réseau et du stockage de la machine virtuelle vers une nouvelle destination au sein du cluster.
Types de migration de machines virtuelles
Pour migrer des machines virtuelles, il existe plusieurs méthodes. Deux techniques sont plus couramment utilisées : la migration dynamique et la migration à froid.
Migration dynamique (ou à chaud)
Dans le cadre de ce processus, la machine virtuelle continue de s'exécuter sur l'hôte source pendant que les pages de sa mémoire sont transférées vers l'hôte de destination. Une fois la migration presque terminée, la machine virtuelle se met brièvement en pause avant de reprendre sur l'hôte de destination. Dans la mesure où la migration dynamique n'implique pas l'arrêt total des machines virtuelles, les perturbations restent minimales, voire imperceptibles. Cette option est idéale pour les machines virtuelles qui nécessitent une disponibilité permanente. Si la modification des pages de mémoire d'une machine virtuelle s'effectue plus rapidement que leur transfert, par exemple pour les machines virtuelles avec de nombreuses entrées/sorties (charge d'E/S élevée), alors la migration à froid est à privilégier.
Migration à froid
Ce type de migration est un processus non dynamique. Il implique d'arrêter une machine virtuelle en cours d'exécution avant de la déplacer de l'hôte source à l'hôte de destination. Pendant la période d'arrêt, la configuration et la mémoire de la machine sont copiées vers l'hôte de destination, puis son exécution reprend sur le nouvel hôte. Ce processus entraîne des temps d'arrêt qui rendent le système temporairement indisponible ou hors d'usage. Il s'agit néanmoins d'un processus de migration fiable et pertinent pour les machines virtuelles dont la charge de mémoire est élevée.
Migration intermédiaire
Dans le cadre de ce processus de migration, la plupart des données des machines virtuelles sont copiées lors d'une étape de copie préalable qui se déroule pendant leur exécution. Les temps d'arrêt des machines sont donc limités. À l'étape de basculement, les machines virtuelles sont arrêtées le temps de copier les données restantes.
Ressources Red Hat
Utilité de la migration des machines virtuelles
Il peut être utile de migrer des machines virtuelles dans les cas suivants :
- Équilibrage de charge : les machines virtuelles peuvent être migrées vers des machines hôtes moins utilisées si l'hôte source devient surchargé ou si un autre hôte sous-utilisé est disponible. L'équilibrage de charge permet d'améliorer la capacité et les performances réseau des machines virtuelles.
- Indépendance matérielle : l'hyperviseur facilite l'indépendance matérielle, car il isole le système d'exploitation et les ressources des machines virtuelles. Puisqu'elles sont exécutées en tant qu'environnements isolés, les machines virtuelles ne dépendent d'aucun équipement matériel spécifique. Il est souvent possible de migrer une machine virtuelle depuis un composant matériel vers un autre sans aucun temps d'arrêt, bien que certains cas présentent des limites, par exemple lors du changement d'architecture du processeur.
- Économies d'énergie : les machines virtuelles peuvent être redistribuées vers d'autres hôtes, tandis que les systèmes hôtes non utilisés peuvent être éteints pour économiser de l'énergie et réduire les coûts en période de faible utilisation.
- Migration géographique : les machines virtuelles peuvent être migrées vers un autre emplacement physique afin de réduire la latence ou répondre à d'autres besoins, tels que l'équilibrage pour la tolérance aux pannes ou la récupération après sinistre.
Outils courants de migration dynamique des machines virtuelles
Toutes les plateformes de virtualisation couramment utilisées incluent des outils de migration dynamique. Voici quelques exemples de ces technologies :
Red Hat® OpenShift® Virtualization : basée sur le projet KubeVirt, la solution OpenShift Virtualization intègre un outil de migration dynamique qui permet de migrer une machine virtuelle depuis un nœud vers un autre au sein d'un cluster OpenShift.
VMware vSphere vMotion : cette technologie de migration dynamique de VMware élimine les temps d'arrêt tout en permettant de déplacer une machine virtuelle en cours d'exécution depuis un serveur physique vers un autre.
Hyper-V (Microsoft Windows Server) : cette fonction de Windows Server permet de migrer des machines virtuelles de manière dynamique depuis un hôte Hyper-V vers un autre.
Nutanix : la fonction de migration dynamique de Nutanix AHV permet de déplacer une machine virtuelle invitée depuis un hôte AHV vers un autre ou vers un cluster si l'hôte choisi dispose des ressources nécessaires.
Étapes de la migration dynamique
La migration dynamique s'effectue en plusieurs grandes étapes, qui peuvent varier en fonction de la plateforme et des cas d'utilisation. Voici les étapes de la migration dynamique avec OpenShift Virtualization :
Étape 1 : préparation
Le nœud source prépare la machine virtuelle en vue de la migration, tandis que l'ordonnanceur au niveau du cluster, c'est-à-dire l'ordonnanceur intégré à OpenShift dans ce cas, choisit le nœud de destination souhaité. Puisque la migration dynamique dépend du stockage partagé, la source et la destination montent le même volume de stockage (ou y accèdent) au même moment lors du stockage de l'image de la machine virtuelle.
Étape 2 : demande
Le nœud source envoie ensuite une demande de migration au nœud de destination. Celui-ci commence à charger l'image de la machine virtuelle et réserve la taille de conteneur correspondante. Cette étape nécessite également la mise en place d'une plateforme de virtualisation pour permettre la distribution des ressources des machines virtuelles entre les deux environnements et leur exécution sans interruption. Si aucune ressource n'est disponible, la machine virtuelle continue de s'exécuter sur le nœud source sans interruption.
Étape 3 : transfert
L'hyperviseur, un logiciel qui crée et exécute les machines virtuelles, copie la mémoire depuis le nœud source vers la destination. Dans chacun de ces nœuds se trouve une copie en pause de la machine virtuelle, mais le nœud source demeure le nœud principal à utiliser pour poursuivre la migration en cas de problème.
Étape 4 : finalisation
Une fois le transfert effectué, le nœud de destination signale au nœud source qu'il a reçu l'image du système d'exploitation et exécuté l'opération de migration. Le nœud de destination devient alors le nœud principal. Le nœud source peut maintenant arrêter la machine virtuelle d'origine.
Étape 5 : fin du processus
La migration dynamique prend fin une fois que le nouveau nœud principal est défini. La machine virtuelle migrée s'exécute sur le nœud de destination et l'exploitation se poursuit comme d'ordinaire.
Nos solutions
Notre gamme de produits pour les machines virtuelles et la virtualisation est conçue pour faciliter le processus de migration dynamique.
La solution Red Hat® OpenShift® Virtualization fournit une plateforme unifiée et évolutive pour migrer les machines virtuelles traditionnelles. Fonction intégrée à la plateforme Red Hat OpenShift, elle permet d'exécuter et de gérer les charges de travail des machines virtuelles parallèlement aux charges de travail des conteneurs. Avec cette solution, les entreprises peuvent toujours utiliser les technologies de virtualisation dans lesquelles elles ont déjà investi tout en modernisant leur environnement à leur rythme grâce aux outils cloud-native de Red Hat OpenShift. Les équipes peuvent déployer et gérer les machines virtuelles parallèlement aux conteneurs sur une seule et même plateforme. En outre, la boîte à outils de migration pour la virtualisation permet de migrer les charges de travail existantes depuis la plateforme actuellement utilisée. Cette boîte à outils donne accès aux charges de travail exécutées sur des machines virtuelles tout en permettant le développement de nouvelles applications cloud-native.
Pour accélérer la migration à grande échelle, la solution Red Hat Ansible Automation Platform peut automatiser l'orchestration des machines virtuelles et de l'infrastructure informatique environnante. En association avec Red Hat OpenShift Virtualization, elle permet d'accélérer la migration des machines virtuelles et facilite la gestion, l'exploitation et la modernisation des environnements virtuels. Cette solution réduit également le risque d'erreurs humaines et améliore la cohérence tout au long de la migration et de la gestion continue des charges de travail des machines virtuelles.
Le blog officiel de Red Hat
Découvrez les dernières informations concernant notre écosystème de clients, partenaires et communautés.