Consejos para la Virtualización de Servidores y Ambientes de Tecnologías de Información
La virtualización de servidores ha ido creciendo en popularidad por ya más de una década y ya no se considera como un tema popular, sino que se ha vuelto una práctica estándar. Pero cuáles son los consejos más recientes para planear, implementar y mantener un proyecto de virtualización?
-
¿Cuáles son los grandes desafíos cuando se pasa de un ambiente físico a un ambiente virtualizado?
El mayor desafío de la virtualización es el compartir recursos a través de la infraestructura y las aplicaciones.
Al diseñar una plataforma virtualizada, se trata de equilibrar los recursos que compiten entre si y lo más probable es que se tengan cuellos de botella, pero lo que se debe hacer es mover los cuellos de botella a donde tengan el menor impacto en las aplicaciones. Por ejemplo, se debe considerar la provisión de red tanto para el tráfico WAN externo como para el tráfico de almacenamiento. Si se están consolidado 100 máquinas físicas cada una con una interfaz de 1Gb, en sólo 10 nodos de hipervisor, es probable que necesite una red de al menos 10Gb por hipervisor para soportar el tráfico condensado.
Problemas similares existen con el Almacenamiento. Muchos ambientes virtualizados se provisionan desde un arreglo centralizado y esto es un cuello de botella para los sistemas virtuales. Los discos no pueden mantener las escrituras de entrada salida para atender a todas las máquinas virtuales y el desempeño se empezará a ver afectado, especialmente aplicaciones de bases de datos.
Otro tema importante es que nos podemos topar con aplicaciones de seguridad de hardware que van conectados vía USB y es probable que no se atraviese la capa de virtualización.
Otro factor es que ocasionalmente algún software no soporte la virtualización y no pueda darnos soporte en ambientes de este estilo.
-
¿Qué soluciones se pueden dar para los retos anteriores?
Uno de los mejores caminos para mitigar estos temas, es hacer un análisis de los servidores físicos y planear como se realizará la virtualización de la infraestructura. Antes de hacer cualquier decisión de virtualización, es necesario conocer cuánto ancho de banda usa cada servidor para el tráfico WAN, el uso de CPU y memoria durante horas normales y también conocer los picos y la cantidad de entrada/salida de los discos de cada uno de los servidores.
También vale la pena asegurarse de que se han mapeado adecuadamente los escenarios de falla dentro del entorno virtualizado y que hay recursos de hipervisor disponibles para admitir al menos la falla de un nodo de hipervisor físico para que las máquinas virtuales que se ejecutan tengan recursos para migrar sin demasiado impacto en el rendimiento de las máquinas virtuales y las aplicaciones que ya se ejecutan en esos nodos.
-
¿Cuáles son las cosas comunes que la gente hace mal cuando instala, configura, mantiene un ambiente virtualizado?
Las cosas usuales que van mal cuando se libera un servidor virtualizado puede ser resumido en:
-
Un balanceo inapropiado entre recursos de los nodos.
-
Desajustes entre los requerimientos de almacenamiento.
-
Muchas redes y muchos switches virtuales
La configuración incorrecta de vCPU, RAM o almacenamiento también es común. La mayoría de los problemas son cuando un administrador ha comprometido el almacenamiento compartido. Puede configurar unidades dinámicas grandes que no ocupen mucho espacio al principio, pero si se dejan crecer sin control, puede quedarse sin espacio para todas las máquinas virtuales sin la planificación adecuada. También se debe prestar mucha atención a la calidad y estabilidad del hardware para que no cree un único punto de falla peligroso en la red al consolidar todos los servidores. Siempre se debe pensar en hardware redundante.
-
¿Qué tendencias de virtualización de los primeros días se han dejado de utilizar?
El principio básico de la virtualización sigue siendo el mismo que cuando VMware presentó su producto de estación de trabajo en 1999 y ESX en 2001. Hemos visto aumentos de rendimiento y mayores demandas en el almacenamiento en particular. Probablemente el mayor cambio se haya producido en las áreas de administración de virtualización, redes y migración de máquinas virtuales. En los primeros días, las máquinas virtuales tendían a ser muy estáticas: se virtualizaba un servidor físico y tenía varias máquinas virtuales ejecutándose dentro de ese servidor que no se movían a ningún lado; y si el servidor físico fallaba, todas las máquinas virtuales en ese servidor también fallarían. La introducción de productos como vMotion abordó esto y proporcionó grandes agrupaciones de hipervisores donde las máquinas virtuales podían migrar fácilmente entre los servidores físicos en caso de falla; esto se ha llevado más allá con vMotion y Hyper-Vs Replica de VMware permitiendo que las máquinas virtuales se repliquen en tiempo casi real para separar los clústeres en ubicaciones separadas físicamente y para abordar el riesgo de una falla completa del clúster.
-
¿Cuáles son los retos actuales en materias de virtualización?
Las mayores preocupaciones, y que resultaron ser infundadas, han girado en torno a la seguridad del uso de la virtualización y los riesgos de tener varias máquinas virtuales ejecutándose dentro de la misma infraestructura física.
En general, se ha descubierto que el aislamiento de recursos y el aislamiento de máquinas virtuales, es completamente seguro y generalmente surgen problemas cuando estos se configuran incorrectamente durante la implementación. Un entorno virtual correctamente diseñado con aislamiento de red y aislamiento de almacenamiento (si es necesario) es muy seguro.
Siempre se ha hablado de malware/virus que podrían atacar al hipervisor, pero hasta el momento no se ha visto ninguno. Podría ser muy difícil programar tal cosa.
-
¿En qué contexto debería optar por un producto de virtualización menor y / o específico de la aplicación, en lugar de utilizar los Big Boys (Vmware, HyperV, etc)?
En el 99 por ciento de los casos de uso, la virtualización con Hyper-V, VMware o KVM / Xen va a ser el camino a seguir, y la decisión depende de las habilidades presentes para administrar esas plataformas, así como la disposición por pagar los costos de la licencia (que va de KVM/Xen a Hyper-V y a VMware como el más caro).
VMware tiene excelentes herramientas de administración y una trayectoria en la provisión de virtualización de hardware, pero tiene un precio relativamente alto, especialmente si está implementando una solución grande y robusta.
Si eres un usuario principalmente de entorno Windows y la mayoría de las máquinas virtualizadas van a ejecutar Windows Server, entonces puede ser preferible un entorno Hyper-V. Los costos de licencia pueden ser menores si se implementan correctamente con Windows Data Center Edition o con Windows Server Hyper-V Core, y las interfaces de administración serán familiares para los usuarios.
KVM y Xen son excelentes plataformas de hipervisor de fuente abierta, pero carecen de interfaces de gestión. Si bien existen opciones para abordar esto, como ir a un entorno OpenStack o usar un front-end como OnApp, esto agrega cierta complejidad al diseño si no se tiene experiencia previa en el uso de esas herramientas o software de código abierto en general.
-
¿En qué contexto se debería optar por no virtualizar un servidor?
La mayoría de las cargas de trabajo pueden ser virtualizadas, pero si se tienen aplicaciones con un uso particularmente pesado de CPU/RAM o E/S de disco muy pesadas, entonces puede ser mejor tenerlas como servidores independientes dentro de un entorno virtualizado más amplio. También se puede tener el servidor físico implementado como un hipervisor, pero con solo una máquina virtual ejecutándose en él, lo que puede ser una buena forma de garantizar que los recursos necesarios estén disponibles para esa aplicación mientras mantiene los beneficios de la administración y la migración virtualizados que el medio ambiente puede traer.
Del mismo modo, las aplicaciones Legacy pueden ser un problema para poner en un entorno virtual; no todas las aplicaciones se acoplarán fácilmente con las CPU virtuales o las NIC virtuales, ya que se han diseñado para hablar con el hardware físico en sí. Debido a la madurez del mercado de virtualización, estas aplicaciones son cada vez menos preocupantes.
En general, si se planea usar todos los recursos para una función específica de alto uso de CPU o alta I/O, como un servidor de muchas transacciones de base de datos, hay pocas razones para virtualizarlo. La virtualización consiste en compartir el hardware subyacente con otros equipos y aplicaciones.
-
¿Qué otro consejo se tiene para las personas a cargo de implementar y mantener proyectos de virtualización de servidores?
Sin duda, lo principal es tener un plan de crecimiento. Durante la fase de diseño, después de tener su evaluación comparativa del entorno existente, hay que asegurarse de planificar cómo crecerá la plataforma con nuevos hipervisores o almacenamiento adicional, de forma que se minimice el impacto sobre el ambiente.
Con los entornos virtualizados, existe la expectativa de una disponibilidad mucho mayor, y debe poder agregar otro conjunto de discos u otros cuatro hipervisores sin tener que volver a diseñar toda la plataforma, porque no se planeó que hubiera suficientes puertos de conmutación para la versión inicial.
Además, se debe asegurar el tener una buena estrategia de respaldo. Aunque ahora todo está virtualizado y es mucho más resistente a la falla de un componente físico de la infraestructura, el hardware no tiene palabra de honor. Tener todo virtualizado abre algunas otras estrategias de copia de seguridad con instantáneas de máquinas virtuales y tecnologías como dispositivos de respaldo, que pueden hacer que realizar copias de seguridad, administrar las copias de seguridad y restaurarlas sea mucho más fácil que cuando todo estaba en sus servidores individuales.
Bibliografía
Artículo tomado de: