Tema 14 Clustering

35
Tema 14. Clustering Tema 14 INADECO MCTS 70-432: Implementation Maintenance

Transcript of Tema 14 Clustering

Page 1: Tema 14 Clustering

Tema 14. Clustering

Tema 14

INADECO

MCTS 70-432: Implementation

Maintenance

Page 2: Tema 14 Clustering

Tema 14. Clustering

2 Cluster Server de Windows

Los clústeres de Windows permite a múltiples piezas de hardware el actuar como una plataforma única para la ejecución de aplicaciones. Cada pieza de hardware en un grupo que se llama un nodo de clúster.

Primero debe instalar los nodos del clúster con un sistema operativo como Windows Server 2003 o Windows Server 2008. Dependiendo de la edición que usted elija, diferentes números de nodos

son compatibles:

Cada clúster de Windows tiene un nombre distinto, junto con una IP asociada. El nombre de clúster está registrado en Domain Name System (DNS) y pueden ser resueltos en la red. Una base de datos de quórum se crea y contiene toda la información configuración para el clúster. Todos los nodos dentro de un clúster deben de estar en un mismo dominio de Windows. Es necesario crear una cuenta de dominio que se utiliza para el clúster como cuenta de administrador. Los elementos más complicados dentro de un clúster son los grupos y los recursos. Un grupo de clúster es un nombre lógico que se asigna a un recipiente que contiene uno o más recursos de clúster. Un recurso de un clúster consiste en todo lo que se permite configurar en un servidor. Ejemplos de recursos de un clúster son direcciones IP, nombres de red, discos duros, los servicios de Windows, y ficheros compartidos.

Un diagrama básico de un clúster de dos nodos se muestra a continuación.

Tipos de Clústeres

Windows Server 2003 y Windows Server 2008 soporta estándar clústeres y clústeres de nodo mayoritario.

Page 3: Tema 14 Clustering

Tema 14. Clustering

3 Estándar Clúster Server de Windows Un clúster estándar, que se muestra en la Figura anterior, tiene una base de datos de quórum única almacenada en un array de discos compartido. La unidad de quórum es accesible por un solo nodo en el clúster en cualquier momento. Todos los demás nodos del clúster no pueden acceder a la unidad. En el caso de una falla, otro nodo se hace con la propiedad de los recursos de disco que contiene la base de datos de quórum y luego continúa con las operaciones del cluster.

Conjunto de nodos mayoritario de Cluster Server La principal diferencia con la mayoría de conjunto de nodos de clúster es que una copia de la base de datos de quórum es almacenada localmente en cada nodo del clúster. NOTA LOCAL DEL QUÓRUM La ubicación de que el quórum es% SystemRoot% \ Cluster \ qOn%ResourceGUID% $% \%ResourceGUID% $ \ MSCS. Una parte se crea en cada nodo que se llama \ \%% NombreNodo \% ResourceGUID% $. No se debe modificar este directorio o cambiar los permisos de este directorio o compartir de alguna manera. El conjunto de nodos mayoritario de clúster recibe su nombre porque la mayoría de los nodos tienen que estar en línea para que el clúster este en línea. Por esta razón, se crea Conjunto de nodos mayoritario grupos sólo cuando tienen tres o más nodos configurados en el clúster. La siguiente tabla muestra una comparación de cuántos nodos pueden estar offline con el clúster funcionando para un grupo estándar y

la mayoría de conjunto de nodos del clúster.

La base de datos de quórum contiene la configuración del cluster y los controles de las operaciones del clúster. Si la base de datos de quórum deja de estar disponible, todo el cluster, sería inaccesible. Un grupo estándar utiliza una base de datos única de quórum en la matriz en una sola unidad compartida. El fracaso de la unidad compartida matriz o la corrupción de la base de datos de quórum causa que todo el cluster pase a convertirse en no disponible. La mayoría de conjunto de nodos de clúster tiene una copia de la base de datos de quórum en cada nodo que se sincroniza con el resto de las copias, por lo que elimina la base de datos de quórum como un único punto de fall en un clúster.

Configuración de Seguridad Usted debe aplicar todas las mejores prácticas de seguridad para Windows, para cada nodo de un clúster. Desactivar los servicios que no son necesarios. Es necesario crear una cuenta en el dominio que se utiliza como el administrador del clúster cuenta. Usted debe agregar esta cuenta de dominio a cada uno de los nodos del clúster como un miembro de los grupos de administradores locales antes de la configuración del clúster.

Page 4: Tema 14 Clustering

Tema 14. Clustering

4 Usted no puede utilizar una cuenta de usuario normal para el servicio de clúster, el servicio de clúster debe ser capaz de leer y escribir en el registro, montar y desmontar las unidades de disco, detener y comenzar servicios, y realizar otras tareas. Estas tareas sólo son posibles en virtud de un administrador local.

Configuración de disco Puedes crear clústeres utilizando cualquier unidad SCSI / iSCSI o unidades de discos de fibra; discos IDE no son compatibles con clústeres. Si usted está construyendo un grupo que contiene más de dos nodos, tener Windows Datacenter, o tener la versión de 64 bits de Windows, se limitan a usar sólo discos de fibra. Los clústeres no son compatibles con el uso de volúmenes dinámicos, se pueden usar sólo discos básicos y volúmenes montados para clústeres. Debido a que las letras de unidad A, B, C y D están ya asignados a recursos locales las fuentes en cada nodo, tienen un total de 22 letras de unidad que pueden ser utilizados.

Cuando configura los discos, se debe asignar una unidad dedicada para el uso del quórum. Necesitas configurar el Coordinador de transacciones distribuidas de Microsoft (MS DTC) en todos los clústeres (Siempre y cuando lo utilices).MS DTC requiere espacio de disco en una unidad que es configurado como una dependencia del recurso MSDTC que se puede agregar manualmente al cluster después de crearlo. El disco necesario para MS DTC crea un dilema para la mayoría de los administradores. Usted necesita asegurarse de que tiene el máximo número de letras de unidad a utilizar para las bases de datos al mismo tiempo que las mejores opciones de rendimiento y la estabilidad. La mejor recomendación para un clúster es la asignación de un disco dedicado para el recurso de MS DTC y, a continuación configurar MS DTC y sus unidades de disco asociados en un grupo de clúster aparte. Si usted no está trabajando con MS DTC en sus aplicaciones, usted está perdiendo una unidad de disco que puede ser mejor utilizara para las bases de datos. Por lo tanto, si usted no tiene las unidades suficientes para reproducir la configuración de unidades que usted necesita para las operaciones de base de datos y si no utilizas MSDTC para ninguna de las aplicaciones, puede colocar el recurso MS DTC en el grupo de clústeres y establecer su dependencia de disco a la unidad que han configurado como el quórum. Esta configuración viola las mejores prácticas, pero si necesita la unidad extra, y si MS DTC no se está aprovechando, usted puede hacer este cambio por razones de configuración sin afectar la funcionalidad del clúster operaciones.

Configuración de la red Cada nodo de un clúster de Windows necesita por lo menos dos tarjetas de red que se configuran para las comunicaciones públicas y privadas. La red pública es el punto de acceso para todas las aplicaciones y trafico externo que solicitan datos del clúster. La red interna se utiliza para la comunicación entre nodos del clúster.

Los clústeres de Windows ejecutan controles periódicos de salud, que determinan si un nodo esta disponible y se pueden utilizar para ejecutar aplicaciones. El chequeo de salud más básico, se llama una prueba de LooksAlive, se ejecuta mediante el envío de una solicitud de ping de un nodo del clúster para otro nodo. Si un nodo no responde a una prueba de LooksAlive, se considera que no está disponible, y el cluster realiza un proceso de conmutación por error. Si la red privada de HeartBeat satura, una prueba de LooksAlive tiene la posibilidad de fallar y provocar una conmutación por error anómalo. Para evitar una conmutación por error anómala, debe configurar las diferentes redes públicas y redes privadas, en diferentes subredes.

Page 5: Tema 14 Clustering

Tema 14. Clustering

5 Recursos de clúster

Se pueden separar los recursos del clúster, que son los elementos más granular que se puede configurar dentro de un clúster, agrupados en algunas de las siguientes categorías:

Recursos que están físicamente conectados a una máquina no puede ser configurado en un clúster, por lo que cabe preguntarse cómo las unidades de disco pueden ser definidas como un recurso de clúster. Como se describe en la sección Configuración de Discos vista anteriormente en este capítulo, todos los datos en un clúster debe residir en una matriz unidad externa (Cabina de discos). La cabina de discos externa puede ser un gabinete de canal de fibra adjunta a la todos los nodos del clúster o una SAN que está conectado a todos los nodos del clúster. Usted no puede configurar la unidad de disco duro local en cada nodo como un recurso de clúster. Las unidades de disco físico dentro de la matriz de disco no son los recursos del clúster actual. La definición de montaje de discos en Windows es configurado y controlado por el clúster de Windows. Aunque un recurso de disco es definido en todos los nodos, sólo el nodo que configurado como propietario del disco tiene los discos montados y accesibles. Todos los nodos, mantienen el disco definido , pero tiene los discos sin montar. Esto evita que más de una máquina pueda escribir a los mismos medios de comunicación, al mismo tiempo. El principal recurso que es configurado en un clúster es un servicio como SQL Server o SQL Agente de servidor. Aunque cada nodo del clúster tiene una entrada para un determinado servicio, se inicia en un solo nodo en el clúster. Uno de los elementos más poderosos dentro de un clúster es la forma en que las direcciones IP y nombres de red se manejan. Aunque cada nodo del clúster lleva la dirección IP y un nombre de red, sólo el nodo designado como el titular de la dirección IP y el nombre de red tiene acceso a la tarjeta de red física. Cuando se produzca un error a otro nodo, el clúster realiza las siguientes operaciones en la pila de red: 1. Anula el registro del nombre de la red de DNS 2. Vincula la dirección IP a una tarjeta de red física en el nodo de funcionamiento 3. Vuelve a registrar el nombre de red en el DNS

Este proceso garantiza que todas las aplicaciones tienen la misma dirección IP y el nombre de red, independientemente del nodo que este actualmente en ejecución. Al conservar la misma dirección IP y el nombre de la red a través de una conmutación por error, no es necesario reconfigurar las aplicaciones para volver a conectar tras una conmutación por error.

Grupos de clústeres Puede utilizar los grupos de clúster para combinar uno o más recursos del clúster en una estructura lógica de gestión. La unidad de conmutación por error dentro de un clúster es un grupo. Puede ser útil pensar en un grupo de clúster como una aplicación. Cada instancia en un clúster de conmutación por error de SQL Server que se crea, aparece como un grupo separado dentro de un clúster de Windows. Un grupo de clústeres, junto con los recursos contenidos en el grupo, se muestra en la siguiente figura.

Page 6: Tema 14 Clustering

Tema 14. Clustering

6

Creando un clúster de alta disponibilidad en Microsoft Windows Server Tras ver un documento de cómo crear el almacenamiento compartido para un clúster, por qué no crear uno? Bueno, el proceso es parecido a Windows 2003, ahora lo realizaremos para Windows 2008, un clúster nuevo, y será para un servidor de ficheros, de tipo failover clustering, el proceso para otro tipo de clúster es parecido. Con esto conseguiremos alta disponibilidad, que si se nos cae uno de los servidores (nodo) no pase nada, ya que existen otros nodos que pueden coger los recursos y levantar los servicios para que los usuarios puedan trabajar prácticamente sin notar la caida del nodo contra el que estaban trabajando. También comentar que el mantenimiento de un clúster es costoso, esto es, tendremos siempre en cuenta que ambos servidores tendrán las mismas aplicaciones instaladas, de la misma forma y con las mismas versiones, todo esto para evitar problemas futuros. Además es recomendable balancear el clúster para comprobar su correcto funcionamiento.

Bueno, antes de comenzar comento la situación del documento, disponemos de tres servidores, uno de ellos es el almacenamiento, o bien una cabina de discos o bien como en mi caso un servidor que comparte sus discos vía iSCSI, la cosa es tener un almacenamiento compartido para los nodos. Estos dos nodos son dos Windows Server 2008 Enterprise (obligatorio), disponen de tres interfaces de red, una la red LAN (192.168.2.0/24) que les conectará con los equipos de la red, otra la pata de la red iSCSI (192.168.4.0/24) que conecta a

Page 7: Tema 14 Clustering

Tema 14. Clustering

7 los nodos con el almacenamiento (red privada para conseguir un mayor rendimiento), y finalmente una red HeartBeat (192.168.5.0/24) que servirá para comunicarse entre sí a los nodos del clúster y tener notificación cuando se caiga uno de ellos. Al clúster le tendremos que asigar una dirección IP, así como a los recursos que creemos, en este caso un servidor de ficheros, de esta forma, los usuarios accederan a la IP asignada y no a la dirección IP de cada nodo. Bueno, los nodos serán ‘Nodo1’ & ‘Nodo2’, el clúster será ‘ClusterSQL’ y el almacenamiento compartido ‘Cabina’, comezamos!

Este proceso lo deberemos realizar con todos los nodos del clúster, primero lo haremos sobre un nodo cualquiera y posteriormente, cuando ya tengamos el clúster creado, lo realizaremos en los siguientes uniéndonos al clúster existente. Debemos tener instalado un sistema operativo mínimo que soporte el servicio de clúster cómo es Windows Server 2008 Enterprise Edition, para instalar el servicio de clúster, deberemos instalar dicha característica, para ello, vamos al “Administrador del servidor” > “Agregar características”,

Page 8: Tema 14 Clustering

Tema 14. Clustering

8

Abrimos la consola que tendremos dentro de las “Herramientas Administrativas” llamada “Administración de clúster de conmutación por error”. Antes de comenzar podríamos comprobar la configuración que tenemos en el servidor, tanto de software cómo de hardware o configuración, en caso de ser en producción la realizaremos sí o sí, en este laboratorio lo omitiremos ya que posteriormente lo ejecutaré y por no repetir imágenes ;) Así que pulsamos en “Crear un clúster…” para iniciar el asistente de su creación,

Page 9: Tema 14 Clustering

Tema 14. Clustering

9

Escribimos el nombre del nodo ‘Nodo1’ y aceptamos,

Pulsamos Siguiente

Introducimos un nombre al clúster, en mi caso se llamará “ClusterSQL” y además le introducimos una dirección IP de gestión, “Siguiente”,

Page 10: Tema 14 Clustering

Tema 14. Clustering

10

Page 11: Tema 14 Clustering

Tema 14. Clustering

11

Page 12: Tema 14 Clustering

Tema 14. Clustering

12

Ok, confirmamos, que vamos a agregar a ‘Nodo2’ al nodo pulsando “Siguiente”,

Page 13: Tema 14 Clustering

Tema 14. Clustering

13

Page 14: Tema 14 Clustering

Tema 14. Clustering

14

Page 15: Tema 14 Clustering

Tema 14. Clustering

15

Page 16: Tema 14 Clustering

Tema 14. Clustering

16

Page 17: Tema 14 Clustering

Tema 14. Clustering

17

Page 18: Tema 14 Clustering

Tema 14. Clustering

18

Page 19: Tema 14 Clustering

Tema 14. Clustering

19

Page 20: Tema 14 Clustering

Tema 14. Clustering

20

Page 21: Tema 14 Clustering

Tema 14. Clustering

21

Page 22: Tema 14 Clustering

Tema 14. Clustering

22

Page 23: Tema 14 Clustering

Tema 14. Clustering

23

Finalmente tendremos:

Page 24: Tema 14 Clustering

Tema 14. Clustering

24

Page 25: Tema 14 Clustering

Tema 14. Clustering

25 Como instalar un cluster de SQL Server 2008 en Windows Server 2008 En un solo post tratar el tema completo quedaria muy largo por lo que es mejor dividirlo en

dos. Para el primer post, hablaré de como clusterizar SQL Server 2008 sobre un entorno

Windows 2k8 previamente clusterizado (cuya clusterización será la segunda entrega).

1 Instalar .NET 3.5 SP1

Es necesario disponer de .NET 3.5 sp1 antes de instalar SQL Server 2008. Como paso previo a la

instalación de SQL Server, se puede planificar puesto que su instalación requiere reinicio. En

cualquier caso, el propio proceso de instalación de SQL Server 2008 detecta si existe el runtime

.NET 3.5 SP1 y si no es así, lo instala.

2 Instalar Windows Installer 4.5

Es necesario disponer de la version Windows installer 4.5 para poder realizar la instalación de

SQL Server 2008. Puesto que el propio DVD de instalación de SQL Server ya lo posee, también

se puede instalar durante el proceso de instalación. Se trata del Hotfix KB942288.

3 Instalación de SQL Server 2008 sobre Clúster de W2k8

El proceso de instalación del clúster de SQL Server 2008 requiere realizarse sobre un nodo del

clúster de Windows Server 2008 previamente montado; además, al igual que en el caso de

windows server 2008, se ha variado su configuración respecto a ediciones anteriores (para

mejor). En este caso vamos a sacarle partido y lo que haremos es ni más ni menos que instalar

un cluster de un solo nodo de SQL 2008.

3.1 Instalación del primer nodo del Clúster de SQL Server 2008

Una vez introducido el DVD de SQL Server 2008 sobre el servidor, se han de seguir los

siguientes pasos:

Page 26: Tema 14 Clustering

Tema 14. Clustering

26

• Clickear sobre “Instalación”

• Clickear sobre nueva instalación de SQL Server Failover cluster.

Una vez detectado que no se dispone de Windows Installer 4.5, se procede a su instalación (lo

mismo ocurrirá con .NET 3.5 SP1 si no se detectara:

Page 27: Tema 14 Clustering

Tema 14. Clustering

27

Una vez instalado, se comienza con las validaciones previas a la instalación de SQL Server

Una vez validados los prerrequisitos, se instalarán los ficheros necesarios para la instalación de

SQL Server

Page 28: Tema 14 Clustering

Tema 14. Clustering

28

El siguiente paso es introducir la clave de registro. Una vez introducida (que puede venir ya

predefinida según la licencia), se procede a la validación del estado del cluster para su futura

instalación, así como de la configuración del servidor y las necesidades del entorno necesarias

para que la instalación llegue a buen puerto.

Como vemos en la imagen anterior, existen 3 advertencias en la instalación que nos avisan de

posibles configuraciones que podrían afectar al funcionamiento de SQL Server. Las

advertencias permiten continuar la instalación y hacen referencia a cosas que te recomienda

revisar por simple seguridad hacia ti. Evidentemente, aqui variará los mensajes que te puedan

dar en tu instalación pero independientemente de lo que sea, revísalos siempre para que no se

te escape nada. Algunos mensajes que te puede dar:

Page 29: Tema 14 Clustering

Tema 14. Clustering

29 • Advertencia sobre MSDTC. Si no vamos a utilizar este servicio, este aviso puede

obviarse.

• Aviso de rendimiento en la configuración de red (si tienes TEAMING activado). Te

advierte de una “posible” configuración de prioridades en las tarjetas de red, que

podría ocasionar una pérdida de rendimiento de red.

• El tercer punto hace referencia a un aviso para que recordemos abrir los puertos del

firewall necesarios para poder conectar externamente al servidor de SQL Server.

Una vez revisada la configuración, si pulsamos en siguiente, continuaremos con el proceso de

instalación, donde seleccionaremos únicamente el motor de SQL Server y las herramientas

cliente (en este ejemplo en concreto, hay mas servicios clusterizables)

Seleccionaremos el nombre virtual del clúster de SQL Server y el nombre de la instancia:

Page 30: Tema 14 Clustering

Tema 14. Clustering

30

Solo habilitamos el modo de autentificación Windows para reducir la superficie de ataque, y

agregamos un usuario específico o un grupo de usuarios del dominio como administradores

de SQL Server.

Seleccionamos las rutas que queremos por defecto:

Page 31: Tema 14 Clustering

Tema 14. Clustering

31

Configuraremos FILESTREAM si es necesario:

Por último ya solo falta que comience el proceso de instalación:

Page 32: Tema 14 Clustering

Tema 14. Clustering

32

Una vez finalizada la instalación de SQL Server en el cluster, dispondremos de un cluster de

SQL Server 2008 en un solo nodo.

Si abrimos el “Failover Cluster Administration”, podremos ver el estado actual de configuración

de nuestro clúster.

Comprobamos que podemos acceder abriendo la consola de administración “SQL server

Management Studio” y comprobando la versión de SQL Server (por ejemplo):

Page 33: Tema 14 Clustering

Tema 14. Clustering

33

3.2 Adición de un nuevo nodo al clúster de SQL Server 2008

Llegados a este punto, ya tenemos montado el cluster de SQL Server, con la única salvedad de

que es un cluster de un solo nodo (pero eso si, funcional). El siguiente paso evidentemente es

recomendable porque cuando montamos un cluster, no lo hacemos en principio para tener un

único nodo…en cualquier caso, ya sabeis que se puede trabajar con SQL Server en este

momento y posteriormente cuando se pueda, configurar este paso tantas veces como nodos

queramos tener.

Para ello, introduciremos el DVD de SQL server en el servidor que vamos a añadir al cluster de

SQL 2008

Page 34: Tema 14 Clustering

Tema 14. Clustering

34 NOTA: No insertar en el nodo ACTIVO

En este caso, lo que haremos será clickear sobre la opción de añadir un Nuevo nodo a un

clúster existente.

De nuevo se realizan procesos de validación en este nodo, para detector inconsistencias. En

este caso de nuevo aparecen advertencias. Pese a que puedan ser las mismas que antes,

debemos comprobar que todo es correcto

Una vez detectado el clúster donde hemos de ingresar este nodo, lo que haremos será

configurar las cuentas de servicio reintroduciendo los passwords de nuevo en el caso de

nuestros inicios de sesión de base de datos y SQL Server Agent.

El resto del proceso son formularios donde nuestra única aportación será la de clickear en

“siguiente” tras validar la información