David Bohm

Hay dos frases que definen mi manera de pensar:
Realmente no hemos prestado mucha atención al pensamiento como un proceso; hemos participado en pensamientos, pero sólo hemos prestado atención al contenido, no al proceso.
La capacidad de percibir o pensar de manera diferente es más importante que el conocimiento adquirido.
Ambas son de David Bohm.

sábado, 2 de junio de 2018

Implantación de soluciones de alta disponibilidad en una empresa (parte 1)

SELECCIÓN DE EMPRESA DE SERVICIO

Dentro de las empresas que ofrecen productos o servicios de alta disponibilidad, entre las innumerables opciones que tenemos en el mercado, podríamos destacar Amazon, Cisco, Facebook, Google, IBM o Microsoft.

Para este artículo, vamos a seleccionar Microsoft, seleccionaremos dos servicios de alta disponibilidad  y describiremos sus principales características ofrecidas por el proveedor.

El porque de elegir este Proveedor, quizás vale mas una imagen que mil palabras, la tabla periódica de Microsoft de su aplicaciones y herramientas muestran su gran versatilidad:


ALTA DISPONIBILIDAD Y VIRTUALIZACIÓN

Alta disponibilidad significa poner un servicio a disposición de los usuarios con la expectativa de que podrán acceder a ese servicio en todo momento, por lo general porque se ha hecho algún esfuerzo para garantizar un funcionamiento continuado.

Cuando alguien dice alta disponibilidad, normalmente se refiere a alguna forma de clusterización de servidores. Los clusters de servidores son un conjunto de dos o más servidores configurados y gestionados como un único recurso. Existen muchos tipos de cluster, se puede tener un clúster de balanceo de carga, donde los recursos físicos del servidor se utilizan en función de las necesidades del cliente, o un clúster de conmutación por error (failover), utilizando un único miembro del clúster (o "nodo") a la vez y reservando el otro hasta que falle el primario, clusteres enfocados al alto rendimiento por ejemplo.

Microsoft Windows Server proporciona clustering basado en host "tradicional" con las opciones que Hyper-V pone a su disposición para la conmutación por error y el equilibrio de carga. También hay algunas consideraciones únicas que Hyper-V aporta a la construcción de servicios de alta disponibilidad. Veamos algunas.

CLUSTERING

Los clústeres de conmutación por error constan de un único nodo que normalmente gestiona todas las solicitudes de los clientes, denominado nodo primario. También hay uno o más nodos que están en gran parte inactivos a menos que el nodo primario se desconecte. Éstos se denominan nodos secundarios.

En un clúster con balanceo de carga, todos los nodos participan activamente en el servicio de las peticiones de los clientes. En la mayoría de los casos, un clúster de carga balanceada también puede servir como un clúster de conmutación por error. Uno o más nodos del cluster de carga balanceada típicamente pueden fallar sin que los otros nodos sean impactados.

En cualquier clúster, un reto importante es determinar el estado de un miembro de nodo (particularmente en clústeres de conmutación por error) y determinar qué nodo de un clúster controla actualmente una aplicación en clúster y sus datos. La mayoría de las veces, se utiliza una red con un conjunto físicamente separado de tarjetas de red que comunican una señal para determinar el estado de cada nodo.

Desde Windows Server 2000, Microsoft ha incorporado la capacidad de crear un clúster de conmutación por error en las ediciones Enterprise y Datacenter. El proceso se simplifica mucho a partir de Windows Server 2008. Utiliza un enfoque basado en asistente para la validación y configuración de nodos.

La parte de validación del asistente de configuración comprueba los nodos, así como el almacenamiento y las conexiones de red disponibles para garantizar que la infraestructura admita el clúster. También comprueba las aplicaciones para asegurarse de que son compatibles con un entorno en clúster. Esto confirmará que el hardware del servidor es suficiente para soportar un entorno de clúster antes de realizar los pasos necesarios para configurar el clúster.

Microsoft Network Load Balancing permite que varios recursos de red formen parte de un grupo con un nombre de red común. Cuando los clientes solicitan ese recurso de red, uno de los nodos responde. El servidor que responde está determinado por un algoritmo que selecciona los servidores para que cada uno procese un cierto porcentaje configurable de las peticiones del cliente.


ALTA DISPONIBILIDAD PARA HYPER-V

Con la agrupación en clúster Hyper-V, es importante determinar qué capa de la pila de virtualización se está agrupando. Suponiendo que el ordenador físico cumpla los requisitos necesarios comoacceso al almacenamiento conectado, una interfaz de red dedicada, etc., el host puede estar en un cluster.

También se puede agrupar las máquinas virtuales mismas ("invitados") en un único host. El uso de redes virtuales e iSCSI virtual para el quórum y otro tipo de almacenamiento conectado le permite crear clústeres de invitados, incluso si el hardware del host no lo admite normalmente. También se pueden alojar huéspedes Hyper-V como nodos a través de múltiples hosts físicos, siempre y cuando todos los hosts sean capaces de ser agrupados.

Con la virtualización Hyper-V, se puede crear soluciones de conmutación por error extremadamente robustas, sobre todo en Windows 2016 server, en el que Hyper-V a recibido por parte de Microsoft un tuneado total de sus funcionalidades. Cada host físico puede contener varias maquinas virtuales, siendo cada una de ellas un nodo miembro de un clúster de conmutación por error. Los hosts físicos también pueden ser parte de un clúster de conmutación por error. Por lo tanto, es importante tener en cuenta el almacenamiento y los recursos al colocar las máquinas virtuales.

Se puede monitorizar cada maquina virtual por separado, por lo que se tiene la opción de distribuir las maquina virtuals a través de los nodos físicos de su cluster. Esto le proporcionará a Windows un mayor rendimiento, pero también puede hacer que sea más difícil planificar las necesidades de capacidad de almacenamiento.

Otra ventaja que ofrecen las maquina virtuales de agrupamiento de network load balancing es la capacidad de hacer que sus servicios estén altamente disponibles. Network load balancing puede utilizarse dentro de un único host o a través de múltiples hosts para proporcionar disponibilidad de servicio. Además del balanceo de carga, network load balancing permite que los nodos de miembros sean sacados del cluster para mantenimiento o en caso de fallo.

Las máquinas virtuales que son nodos en un clúster de conmutación por error a través de la función network load balancing obtienen alta disponibilidad por sus cargas de trabajo durante su mantenimiento. Si la maquina virtual requiere actualización u otras formas de mantenimiento, puede transferir la carga de trabajo a otra maquina virtual en el host o en un host diferente incluso realizando el cambio en caliente.

ALGUNAS MEJORAS DE HYPER-V EN WINDOWS 2016

A continuación resumimos algunas de las principales características nuevas o mejoradas de Hyper-V en esta última versión de Windows Server:

Asignación Discreta de Dispositivos (DDA): Esto permite a los usuarios tomar algunos de los dispositivos PCI Express en sus PCs y pasarlos directamente a la maquina virtual. Esta función de mejora del rendimiento, permite a la maquina virtual acceder directamente al dispositivo PCI, por lo que evita la pila de virtualización. Dos tipos de dispositivos PCI clave para esta función son las GPU y los controladores de memorias SSD.

Protección de los recursos del host: Con esta característica, se evitará que la maquina virtual utilice más recursos de los que le han sido asignados. Si se detecta una máquina virtual monitorizando las máquinas virtuales para detectar exceso de actividad, será castigada, con menos recursos para asegurar que el rendimiento de otras máquinas virtuales no se vea afectado.

Cambios "calientes" en los adaptadores de redes virtuales y en la memoria virtual de la máquina: Estas capacidades le permitirán añadir o quitar el adaptador, aunque ojo sólo para las maquina virtuales de generación 2, sin tener que apagarlas y reiniciarlas, además de permitir ajustar la memoria incluso si la memoria dinámica no ha sido habilitada, esto último funciona tanto para las maquina virtuales de generación 1 como para las de generación 2.

Virtualización anidada: Esto  permite ejecutar Hyper-V en una maquina virtual hija, por lo que puede ser un servidor host. En última instancia, puede tener un Servidor Hyper-V ejecutándose sobre un Servidor Hyper-V. Esto podría ser muy útil para el desarrollo, las pruebas y la formación, pero no parece algo aplicable en entornos de producción.

Puntos de comprobación de la maquina virtual de producción: Anteriormente conocidos como instantáneas, los puntos de comprobación de versiones anteriores de Hyper-V tomaban una instantánea del estado de la maquina virtual, que es útil para restauraciones. Pero esos puntos de control "estándar" no utilizan el servicio Volume Shadow Copy Service, por lo que no son aptos para el uso de copias de seguridad en producción. Los nuevos puntos de control de producción funcionan con esta característica, por lo que ahora pueden ser ejecutados en producción.

Blindaje de las máquinas virtuales: El módulo virtual Trusted Platform Module (TPM) permite cifrar la maquina virtual con la tecnología BitLocker de Microsoft de la misma manera que un trusted platform module físico permite cifrar la unidad física de un PC. Las maquinas virtuales blindadas se cifran con BitLocker (u otra herramienta de cifrado), también mediante un trusted platform virtual. En ambos casos, las máquinas virtuales obtienen la capacidad de trusted platform module para evitar el acceso malintencionado al equipo.

PowerShell Direct: Permite administrar de forma remota una máquina virtual que ejecuta Windows 10 o Windows Server 2016 mediante comandos PowerShell sin preocuparse por la configuración de red o la configuración de administración remota del host o de la máquina virtual. Extremadamente útil para el scripting de mantenimiento de servidores.

UN EJEMPLO

Se puede instalar un sistema SAP de alta disponibilidad con Microsoft Failover Clustering. El software Failover Clustering mejora la disponibilidad del sistema y lo protege contra fallos y tiempos de inactividad imprevistos, permitiendo su funcionamiento las 24 horas del día, los 365 días del año.
Una alta disponibilidad, permite que los componentes críticos del sistema, conocidos como Puntos Únicos de Fallo, sean cambiados automáticamente de una máquina a otra, si surgen problemas de hardware o software en una máquina. Con la ayuda de esta conmutación o también denominado  failover el sistema puede seguir funcionando.

Además de habilitar la conmutación por error (failover) cuando se producen problemas de hardware, también se puede utilizar Failover Clustering para evitar el tiempo de inactividad se cuando realiza el mantenimiento esencial del sistema. Si se necesita mantener un host por ejemplo, un nodo de clúster de conmutación por error, se puede cambiar deliberadamente los recursos del clúster a otro host  y operarlo allí temporalmente mientras se realiza el mantenimiento. Una vez finalizados los trabajos de mantenimiento, se puede volver a trasladar fácilmente los recursos a su nodo original y continuar operándolos allí. Esto se realiza de forma sencilla y rápida con un sistema de clustering basado en máquinas virtuales.

Cuando se configura el sistema SAP con Microsoft Failover Clustering, se combinan los pasos de instalación estándar con los pasos específicos del cluster, se dispone de las siguientes opciones para instalar un sistema SAP de alta disponibilidad con Microsoft Failover Clustering:


  • Instalar un sistema SAP en un cluster de failover de Microsoft.
  • Instalar un sistema SAP en dos clusters de conmutación por error de Microsoft.
  • Instalar varios sistemas SAP en uno o más clústeres de conmutación por error de Microsoft con dos o más nodos de clústeres de conmutación por error de Microsoft.

Además se dispone de las opciones siguientes para instalar la instancia de base de datos con un sistema SAP de alta disponibilidad:

  • La instancia de base de datos se instala en el mismo clúster de conmutación por error que el Sistema SAP.
  • La instancia de base de datos se instala en un host o clúster diferente, ya sea en el mismo sistema operativo o en uno diferente.

Además se puede utilizar soluciones de alta disponibilidad de terceros para mejorar la disponibilidad de su instancia de base de datos.

CONCUSIONES

Como se puede observar las combinaciones son muchas con respecto al sistema operativo y las aplicaciones a clusterizar y virtualizar.

Realizando una buena combinación de estos elementos comentados en una herramienta como un ERP, SCADA o una aplicación a medida, podemos conseguir una alta disponibilidad que asegure el acceso de los usuarios a la herramienta y por lo tanto evitar una pérdida económica.

Con respecto a clusterización y virtualización, Microsoft a mejorado mucho en las últimas versiones. En la versión 2012 R2 y sobre todo en la 2016 ha intensificado las prestaciones, y aunque no es comparable a otras utilidades de otros fabricantes, realmente da un rendimiento y funcionalidades dignas de utilizar en un entorno de producción exigente.

LINKS CONSULTADOS

https://es.wikipedia.org/wiki/Hyper-V
https://technet.microsoft.com/es-es/library/mt697594(v=exchg.160).aspx
https://technet.microsoft.com/es-es/library/dn632408.aspx
https://technet.microsoft.com/es-es/library/bb510695(v=sql.105).aspx
https://docs.microsoft.com/es-es/sql/sql-server/failover-clusters/high-availability-solutions-sql-server
https://docs.microsoft.com/es-es/azure/sql-database/sql-database-high-availability
https://www.microsoft.com/es-es/cloud-platform/server-virtualization


https://docs.microsoft.com/es-es/virtualization/hyper-v-on-windows/user-guide/nested-virtualization

SaluDOS.

No hay comentarios:

Publicar un comentario