miércoles, 11 de agosto de 2021

5.1 Espejo (mirroring)

 

5.1 Espejo (mirroring)

El Mirroring (Base de Datos Espejo) proporciona una solución de alta disponibilidad de bases de datos, aumenta la seguridad y la disponibilidad, mediante la duplicidad de la base de datos.

Esta tecnología está disponible a partir de la versión de SQL Server 2005 (es la evolución del log shipping presente en versiones anteriores)

En el Mirroring tenemos un servidor principal/primario que mantiene la copia activa de la base de datos (bbdd accesible). Otro servidor de espejo que mantiene una copia de la base de datos principal y aplica todas las transacciones enviadas por el Servidor Principal (en el que no se podrá acceder a la bbdd). Y un servidor testigo/arbitro que permite recuperaciones automáticas ante fallos, monitoriza el servidor principal y el de espejo para en caso de caída cambiar los roles (servidor opcional, no es obligatorio).

 

 

Existen varios tipos de mirroring:

      Alta disponibilidad: Garantiza la consistencia transaccional entre el servidor

principal y el servidor de espejo y ofrece Automatic Failover mediante un servidor Instituto Tecnológico de Comitán testigo.

      Alta Protección: Garantiza la consistencia transaccional entre el servidor principal y el espejo.

      Alto Rendimiento: Aplica las transacciones en el Servidor Espejo de manera asíncrona ocasionando mejoras significativas en el rendimiento del servidor principal pero no garantiza que dichas transacciones se hallan realizado de manera exitosa en el espejo.

 

 

Base de Datos Espejo (Database Mirroring).

 

Donde actúan dos servidores o más para mantener copias de la base de datos y archivo de registro de transacciones.

El servidor primario como el servidor espejo mantienen una copia de la base de datos y el registro de transacciones, mientras que el tercer servidor, llamado el servidor árbitro, es usado cuando es necesario determinar cuál de los otros dos servidores puede tomar la propiedad de la base de datos. El árbitro no mantiene una copia de la base de datos. La configuración de los tres servidores de base de datos (el primario, el espejo y el árbitro) es llamado Sistema Espejo (Mirroring System), y el servidor primarioy espejo juntos son llamados Servidores Operacionales (Operational Servers) o Compañeros (Partners).


 

BENEFICIOS DEL ESPEJEO DE DATOS EN UN DBMS

Esta característica tiene 3 modalidades que son Alto rendimiento, Alta Seguridad, y Alta Disponibilidad, este caso estamos hablando de las 2 primeras, las cuales el levantamiento es manual.

La creación de reflejo de la base de datos es una estrategia sencilla que ofrece las siguientes ventajas:

      Incrementa la disponibilidad de una base de datos.

      Si se produce un desastre en el modo de alta seguridad con conmutación automática por error, la conmutación por error pone en línea rápidamente la copia en espera de la base de datos, sin pérdida de datos. En los demás modos operativos, el administrador de bases de datos tiene la alternativa del servicio forzado (con una posible pérdida de datos) para la copia en espera de la base de datos. Para obtener más información, vea Conmutación de roles, más adelante en este tema.

      Aumenta la protección de los datos.

      La creación de reflejo de la base de datos proporciona una redundancia completa o casi completa de los datos, en función de si el modo de funcionamiento es el de alta seguridad o el de alto rendimiento.

La Tecnología Espejeo o Espejo, mejor conocida como Mirroring, busca que, cuando un servidor en productivo falle, algún otro servidor, sea capaz de tomar la carga de operatividad que están generando los consumidores de la base de datos sin pérdidas ni de datos, ni de tiempo, manteniendo la consistencia y la disponibilidad de datos en todo momento.

La configuración básica de una Base de Datos Espejo necesita dos servidores de bases de datos que estén comunicados entre sí. Normalmente, estas instancias de servidor residen en computadoras en diferentes ubicaciones. La Figura 2.1 muestra la idea esencial de la tecnología, cuenta con dos bases de datos una primaria o principal y un espejo, copia de la primaria o reflejo. La principal es la base de datos activa u operativa (sobre la que se ejecutan todas las transacciones) y la base de datos espejo será la copia idéntica de la base de datos principal incluyendo el registro de transacciones (log). De tal forma que, al ocurrir un fallo, se pueda habilitar la base de datos espejo.

Tecnología Espejo o Espejeo (Mirroring). Configuración con dos servidores

 

En este tipo de configuración el intercambio de servidores se realiza de forma manual y es responsabilidad del administrador de la base de datos (DBA). 

La siguiente figura muestra la secuencia de eventos cuando ocurre un fallo dentro de este tipo de configuración: 

1.  Sincronización de la base de datos principal con la base de datos espejo. La configuración básica de Espejo está activa. 

2.  Ocurre un Fallo en la base de datos principal. 

3.  El DBA deshabilita la base de datos principal, para recuperarla. Inmediatamente configura la base de datos espejo como principal. Entonces, la base de datos espejo ahora es la base de datos activa. 

4.  Después de recuperar la base de datos dañada o deshabilitada al momento del fallo, se configura como base de datos espejo.

Secuencia de eventos en una configuración básica de la Tecnología Espejo

 

Sin embargo, para ofrecer Alta Disponibilidad en una base de datos empleando la Tecnología Espejo, es necesario que exista un tercer servidor llamado servidor testigo o árbitro. El Testigo (Witness) no mantiene una copia de la base de datos, únicamente es necesario para detectar el fallo y determinar cuál de los otros dos servidores toma el rol de la base de datos principal en caso de una caída de servicio. Cuando existen el servidor testigo en la configuración, el intercambio de servidores se realiza de forma automática y transparente a los usuarios. La siguiente figura muestra la secuencia de eventos cuando ocurre un fallo dentro de este tipo de configuración: 

1.  Sincronización de la base de datos principal con la base de datos espejo. La Configuración con Testigo de la Tecnología Espejo está activa. 

2.  Ocurre un Fallo en la base de datos principal. 

3.  El servidor Testigo detecta el fallo de la base de datos principal e inmediatamente configura la base de datos espejo como principal. La base de datos espejo ahora es la base de datos activa. 

4.  Después de recuperar la base de datos dañada al momento del fallo, se configura como base de datos espejo.

Secuencia de eventos en una Configuración con Testigo en la Tecnología Espejo

 

Por lo anterior, se identifican tres roles de la configuración de la Tecnología Espejo: 

− Servidor Principal. Mantiene la copia activa de la base de datos (base de datos principal), a través de la cual se ofrece el servicio a los usuarios. 

 

− Servidor Espejo (Mirror). Mantiene una copia de la base de datos principal (base de datos espejo) y aplica todas las transacciones enviadas por el Servidor Principal, manteniendo sincronizada la base de datos espejo. 

− Servidor Testigo (Witness). No es necesario implementar un Servidor Testigo. No obstante, si deseamos que nuestra solución ofrezca recuperación automática ante fallos (automatic failover), entonces sí se debe configurar. 

Dentro del sistema gestor de base de datos Microsoft SQL Server 2016, éstos tres roles de la Tecnología Espejo deben residir en diferentes instancias. Particularmente, en el sistema gestor de base de datos Microsoft SQL Server 2016 la configuración de la Tecnología Espejo funciona con una relación, conocida como sesión de creación de espejo o reflejo de la base de datos, entre estas instancias del servidor. Una de las instancias sirve como base de datos principal (en producción) a los clientes o usuarios. Otra instancia actúa como base de datos espejo (en espera o cálido). El servidor principal y el servidor espejo cooperan como socios en una sesión de creación de espejo o reflejo de la base de datos. Los dos socios realizan funciones complementarias en la sesión: el rol principal y el rol espejo o reflejo. 

La creación de reflejo de la base de datos implica rehacer cada operación de inserción, actualización y eliminación que se produce en la base de datos principal en la base de datos espejo o reflejada. La reedición se lleva a cabo enviando una secuencia de registros de transacciones activos al servidor reflejado, que aplica los registros a la base de datos reflejada, en secuencia, lo más rápido posible. A diferencia de la tecnología Replicación, que funciona en el nivel lógico, el Espejo de la base de datos funciona en el nivel de registro físico. Microsoft SQL Server 2016 permite configurar tres tipos de Espejo: 

− Alta disponibilidad: Garantiza la consistencia transaccional entre el servidor principal y el servidor de espejo y ofrece recuperación automática ante fallos mediante un servidor testigo. 

 

− Alta Protección: Garantiza la consistencia transaccional entre el servidor principal y el servidor espejo.

− Alto Rendimiento: Aplica las transacciones en el Servidor Espejo de manera asíncrona ocasionando mejoras significativas en el rendimiento del servidor principal pero no garantiza que dichas transacciones se hallan realizado de manera exitosa en el espejo.

La siguiente tabla muestra los diferentes modos de configuración y sus características principales. 

Tabla Tipos de Espejo en Microsoft SQL Server

 

El modo de configuración a implementar en este estudio es el de Alta disponibilidad, el cual requiere una tercera instancia cuyo rol actúa como árbitro o testigo que permite la automatización del cambio de roles dentro del mecanismo y permitiendo la recuperación automática de la base de datos principal ante un fallo.

 

 

 

 

No hay comentarios.:

Publicar un comentario

6.2 Auditoria

  6.2 Auditoria Es el proceso que permite medir, asegurar, demostrar, monitorear y registrar los accesos a la información almacenada en las ...