Suscríbase al feed

Muchas empresas y entidades están trasladándose de las plataformas de virtualización tradicionales a las soluciones de nube híbrida. Hace poco, un grupo de ingenieros de Red Hat emprendió este camino y llevó a cabo una migración a gran escala de Red Hat Virtualization a Red Hat OpenShift, para lo cual utilizó el kit de herramientas de migración para virtualización, una herramienta avanzada para trasladar las cargas de trabajo virtuales a OpenShift.

Nuestro entorno de Red Hat Virtualization ejecutó con éxito cientos de máquinas virtuales (VM) durante más de una década, de las cuales los ingenieros utilizaron algunas para las tareas de desarrollo y pruebas, y otras para las cargas de trabajo de producción. Sin embargo, debido a que la solución se acercaba al final de su vida útil, decidimos que era hora de migrar nuestras máquinas virtuales a OpenShift.

Teniendo en cuenta las características de las máquinas virtuales que se ejecutaban en Red Hat Virtualization y nuestro deseo de reducir las interrupciones para los usuarios finales, optamos por seguir utilizando las cargas de trabajo integradas en ellas en OpenShift mediante OpenShift Virtualization. Para lograrlo, la transición se realizó con la versión 2.4 del kit de herramientas de migración para virtualización, la cual era la versión más avanzada en ese momento y ofrecía funciones de migración optimizadas.

La transición de Red Hat Virtualization a OpenShift presentó una serie de desafíos, tanto para nosotros como para los usuarios. A lo largo de este artículo, explicaremos el modo en que los abordamos y ofreceremos más información sobre nuestra experiencia.

Preparación y planificación

Para que la migración tuviera éxito, era esencial realizar una planificación minuciosa.Cuando comenzamos a planificar este proceso, nos dimos cuenta de que nos enfrentábamos a varios desafíos.

En primer lugar, teníamos que asegurarnos de que el clúster de destino de OpenShift tuviera suficientes recursos para hacer frente a las cargas de trabajo migradas. Para ello, identificamos las máquinas virtuales que no se habían utilizado recientemente en Red Hat Virtualization y aquellas cuyos propietarios habían solicitado que no se migraran al nuevo entorno. Estas máquinas virtuales no se incluyeron en la migración. Luego, nos aseguramos de contar con el espacio de almacenamiento suficiente en OpenShift para los discos de las máquinas virtuales que planeábamos trasladar, así como de que hubiera suficientes direcciones IP para asignar a aquellas máquinas que buscábamos migrar en la VLAN de destino en OpenShift.

En segundo lugar, nos dimos cuenta de que necesitábamos establecer una conexión entre el modelo de preparación que utilizábamos en Red Hat Virtualization y el del entorno de OpenShift Virtualization. En Red Hat Virtualization, los administradores asignaban máquinas virtuales nuevas a los usuarios; por otro lado, en OpenShift Virtualization, los administradores asignaban a los proyectos a los usuarios, quienes se encargaban de crear las máquinas virtuales.

En tercer lugar, en el kit de herramientas de migración para virtualización, los proveedores de origen y destino se configuran con credenciales de usuario, de modo que puedan definir un proveedor de origen desde el cual migrar las máquinas virtuales para las que tienen permisos y uno de destino en el que crear máquinas virtuales por ellos. Nosotros optamos por migrar todas las máquinas virtuales al mismo tiempo, en lugar de pedir a cada usuario que lo hiciera por su cuenta. Por lo tanto, tuvimos que operar con usuarios que tenían privilegios de administrador en ambas plataformas, lo cual les permitía acceder a todas las máquinas virtuales en Red Hat Virtualization y crear nuevas en todos los proyectos en OpenShift.

Descubrimos que no era una tarea sencilla buscar las máquinas virtuales de uso reciente, en nuestro caso durante el último año, y el tamaño de sus discos para determinar si el clúster de OpenShift de destino tenía la capacidad de almacenamiento suficiente. Además, conseguir que sus propietarios crearan los proyectos correspondientes en OpenShift para conectar el modelo de preparación diferente suponía un esfuerzo adicional. Para hacer frente a estos desafíos, implementamos scripts de Python.

El primer grupo de scripts recopiló datos de Red Hat Virtualization con un SDK de oVirt y, a partir de ellos, identificamos las fechas de uso más recientes de las máquinas virtuales y filtramos aquellas que no se habían utilizado durante el último año. Una vez que tuvimos la lista definitiva de las que se migrarían, recopilamos información sobre el tamaño de sus discos y sus propietarios. Los datos que obtuvimos de Red Hat Virtualization indicaron que no contábamos con el espacio de almacenamiento suficiente en el clúster de OpenShift para guardar la información de los entornos migrados. Para solucionarlo, agregamos una nueva clase de almacenamiento para aumentar la capacidad.

Se utilizó un segundo grupo de scripts para preparar los proyectos en el clúster de OpenShift con la API de Kubernetes. A partir de los datos que obtuvimos del primer grupo de scripts, identificamos el conjunto de propietarios de las máquinas virtuales migradas y, para cada uno de ellos, creamos un proyecto en el clúster y lo asignamos a estos propietarios tras otorgarles la función ClusterRole con permisos de administrador.

Para ilustrar este caso, consideremos una máquina virtual llamada shared_vm que es propiedad de dos usuarios de Red Hat Virtualization, Alice y Bob. En OpenShift, creamos un proyecto denominado alice-bob-ns, en el que ambos tienen permisos. Luego migramos shared_vm al proyecto alice_bob_ns. También se pueden trasladar otras máquinas virtuales que sean propiedad de Alice y Bob en Red Hat Virtualization al mismo proyecto, alice_bob_ns y, a su vez, es posible asignar a ambos usuarios a otros proyectos distintos, ya sean de propiedad exclusiva o de terceros. Este enfoque nos permite abordar los diferentes modelos de preparación del sistema en los entornos de Red Hat Virtualization y OpenShift.

Una vez resuelto este problema, pasamos a migrar las máquinas virtuales.

Ejecución

La migración propiamente dicha constó de varios pasos:

  1. La implementación del kit de herramientas de migración para virtualización permite migrar máquinas virtuales al clúster en el que se ejecuta o a los clústeres remotos de OpenShift que se agregan como proveedores de destino. En nuestro caso, todos estos entornos se migraron a un único clúster, por lo que instalamos en él el operador del kit de herramientas de migración para virtualización.
  2. Al momento de configurar el clúster de OpenShift para la migración, utilizamos un usuario administrador en la propia consola web de la plataforma:
    1. Se crea un proyecto de gestión para el proceso de migración.
    2. Se crean el proveedor de origen de Red Hat Virtualization, el clúster local de OpenShift como proveedor de destino y las asignaciones de almacenamiento y red en el proyecto de gestión.
  3. Debido a la gran cantidad de planes de migración que se necesitaban para realizar la migración a los proyectos de destino, automatizamos su creación y realización con scripts que implementamos y que se ejecutaban con privilegios de administrador. Estos scripts llevaron a cabo las siguientes acciones:
    1. Crearon un plan de migración en frío por cada proyecto de destino. Elegimos esta opción porque no nos preocupaba el tiempo de inactividad de las máquinas virtuales y, además, suele ser más rápida que la migración en caliente.
    2. Crearon un plan de migración específico para activar los planes.

La mayoría de los planes de migración de máquinas virtuales se completaron con éxito; sin embargo, nos enfrentamos a dos desafíos interesantes durante el proceso.

En primer lugar, mientras esperábamos a que se completara la primera migración, nos dimos cuenta de que tardaba más de lo esperado. Esto se debía a que ejecutábamos varios planes de migración de manera simultánea.

En el kit de herramientas de migración para virtualización, podemos limitar la cantidad de traslados de las máquinas virtuales que se ejecutan de manera simultánea como parte de un mismo plan. Sin embargo, no es posible hacerlo cuando se trata de planes de migración diferentes. Por lo tanto, al ejecutar varios planes a la vez, consumimos el ancho de banda de la red, lo cual ralentizó los procesos de migración de las máquinas virtuales.

En nuestro caso, el tiempo que se tardó en trasladar todos los planes de migración tuvo mayor trascendencia que el tiempo de inactividad de cada máquina virtual migrada, por lo que esta elección no influyó en la duración total del proceso. No obstante, es posible que desee implementar los planes de manera progresiva o realizar migraciones en caliente cuando el tiempo total de la migración se ve afectado porque se consume el ancho de banda de la red, lo cual puede ocurrir si se agota el tiempo de espera de las migraciones de las máquinas virtuales o si es necesario reducir el tiempo de inactividad de cada una.

En segundo lugar, se produjeron fallas en 3 de las 120 migraciones de máquinas virtuales. Según nuestra investigación, fue como consecuencia de un error en la base del código. Logramos corregirlo rápidamente y, con una versión mejorada del kit de herramientas de migración para virtualización, pudimos trasladar con éxito todas las máquinas virtuales. La solución a este problema se incluye en la versión 2.5 del kit de herramientas de migración para virtualización.

Gracias a estos ajustes, migramos con éxito todas las máquinas virtuales a OpenShift.

Validación de las máquinas virtuales en OpenShift

Una vez que todas las migraciones se completaron correctamente con el kit de herramientas de migración para la virtualización, llevamos a cabo una serie de comprobaciones del estado de máquinas virtuales seleccionadas de forma aleatoria en OpenShift Virtualization. Luego, esperamos más comentarios de los propietarios. En general, recibimos observaciones positivas de los usuarios sobre las máquinas virtuales que migraron en OpenShift Virtualization, pero se informaron algunos problemas.

Uno de ellos estaba relacionado con que algunas máquinas virtuales no arrancaban y mostraban el mensaje "no operating system found" (no se encontró ningún sistema operativo). Tras realizar una investigación al respecto, descubrimos que este problema solo se producía en las máquinas virtuales con varios discos y únicamente cuando se elegía uno erróneo para arrancar. Lo solucionamos modificando el orden de arranque de las máquinas virtuales de manera manual para asegurarnos de que se iniciaran desde el disco correspondiente.Este problema se corrige en la versión 2.5 del kit de herramientas de migración para virtualización.

Además, se registraron algunas interrupciones del servicio. Durante la migración, las máquinas virtuales cambiaron su VLAN debido a limitaciones de la infraestructura, y algunas cargas de trabajo y servicios dentro de ellas eran inaccesibles cuando se iniciaban.Esto se debía a que los registros DNS estaban configurados con diferentes nombres de dominio completos (FQDN) y direcciones IP en la nueva VLAN. Para resolver este problema, se indicó a los usuarios que adaptaran las cargas de trabajo y los clientes externos a la nueva configuración de FQDN.

Aprendizajes

La transición desde los centros de datos tradicionales hacia las soluciones de nube híbrida supone todo un desafío. Los usuarios pueden elegir entre distintos enfoques, que son compatibles con diferentes herramientas. En este artículo, describimos el proceso de migración de las máquinas virtuales de Red Hat Virtualization a OpenShift, el cual realizamos de forma interna en Red Hat.

Para ello, fue necesario llevar a cabo una planificación minuciosa y exhaustiva, así como establecer una comunicación clara con todas las partes interesadas de la empresa. Si bien el kit de herramientas de migración para la virtualización ofrece herramientas que permiten facilitar las transiciones a OpenShift Virtualization, no siempre abarca todos los pasos técnicos que se requieren.

En este artículo, compartimos información sobre el uso del kit de herramientas de migración para virtualización junto con los scripts que implementamos para las operaciones que este no gestiona. Los scripts se encuentran disponibles en GitHub. Gracias a estas herramientas, pudimos migrar 120 máquinas virtuales con 12 TB de datos de manera efectiva, las cuales ahora se ejecutan con éxito en OpenShift.

A medida que Red Hat Virtualization llega al final de su vida útil, suponemos que muchas empresas se plantearán una migración similar. Confiamos en que nuestras herramientas y experiencia sirvan para que pueda migrar las máquinas virtuales a OpenShift con el kit de herramientas de migración para virtualización, el cual incorpora correcciones para los problemas mencionados en esta publicación y aporta muchas mejoras adicionales.


Sobre los autores

Joined Red Hat in 2020, initially as an engineer in the storage virtualization team. Later transitioned to work on diverse proof-of-concept and research projects centered around OpenShift as a virtualization platform and its orchestration. Currently part of the MTV team, dedicated to developing new features and capabilities, and implementing migrations from traditional virtualization platforms to OpenShift virtualization.

Read full bio

Arik is a hands-on engineering manager that leads the Migration Toolkit for Virtualization team. During his time at Red Hat since joining in 2012, Arik primarily contributed to Red Hat Virtualization, OpenShift Virtualization and other OpenShift projects as an individual contributor, prior to managing Red Hat Virtualization engineering teams.

Read full bio
UI_Icon-Red_Hat-Close-A-Black-RGB

Navegar por canal

automation icon

Automatización

Las últimas novedades en la automatización de la TI para los equipos, la tecnología y los entornos

AI icon

Inteligencia artificial

Descubra las actualizaciones en las plataformas que permiten a los clientes ejecutar cargas de trabajo de inteligecia artificial en cualquier lugar

open hybrid cloud icon

Nube híbrida abierta

Vea como construimos un futuro flexible con la nube híbrida

security icon

Seguridad

Vea las últimas novedades sobre cómo reducimos los riesgos en entornos y tecnologías

edge icon

Edge computing

Conozca las actualizaciones en las plataformas que simplifican las operaciones en el edge

Infrastructure icon

Infraestructura

Vea las últimas novedades sobre la plataforma Linux empresarial líder en el mundo

application development icon

Aplicaciones

Conozca nuestras soluciones para abordar los desafíos más complejos de las aplicaciones

Original series icon

Programas originales

Vea historias divertidas de creadores y líderes en tecnología empresarial