Base de Datos Espejo (Database Mirroring) es una configuración donde dos o tres servidores de dase de datos, ejecutándose en equipos independientes, cooperan para mantener copias de la base de datos y archivo de registro de transacciones (log). Tanto el servidor primario como elservidor 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 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).
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 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.
Beneficios:
Mirroring esta tecnica fue
introducida en la edicion 2005, se puede decir que es la evolución del log
shipping. La principal diferencia es el tiempo de espera para tener la
información mas actual el espejeo es un recurso mas rapido que el log shipping.
Otra diferencia es que el servidor en stand by automaticamente puede levantarse
en caso de que el servidor principal fallara (a esto se le llama espejeo de
alta disponiblidad, y para esto requerimos de un tercer servidor al que nombran
testigo), sin tener que restaurar los registros (en realidad, los registros se
fusionan de forma continua en este escenario – no es de extrañar que se llama
Espejo).
Las ventajas adicionales
incluyen la creación de reflejo de apoyo a nivel NET Framework. Además de
algunas nuevas características como la recuperación automática de páginas
incluidas en SQL Server 2008. periodicamente a un servidor en stand by. Si el
servidor activo va para abajo se puede subir el servidor en stand by
restaurando todos los logs transferidos.
Creación de espacios de disco
con espejo
Una vez preparados los discos,
para crear el RAID, y si hemos seguido la misma estructura de mi ejemplo,
usaremos las siguientes órdenes, suponiendo que los discos nos los ha
identificado como sda, sdb, sdc y sdd:
mdadm --create --level=raid1 --raid-devices=2
/dev/sda1 /dev/sdb1 /dev/sdc1
/dev/sdd1
mdadm --create --level=raid5 --raid-devices=4
/dev/sda3 /dev/sdb3 /dev/sdc3
/dev/sdd3
La primera orden nos
creará un RAID de tipo RAID1 con sólo 2 componentes activos, empleando para
ello la primera partición de cada disco. Como le indicamos menos dispositivos de
raid (2) que dispositivos físicos, lo que hace es poner los otros dos
como spares.
La segunda orden nos creará un
RAID5 con la tercera partición de todos los discos indicados. En este caso, el
parámetro --raid-devices=4 es superfluo y se podría omitir, ya que si
no decimos nada sobreentiende que queremos usar todos los discos.
Recomendaciones
Use una copia de seguridad
completa muy reciente o una copia de seguridad diferencial reciente de la base
de datos principal.
Si se programa un trabajo de
copia de seguridad de registros para que se ejecute muy a menudo en la base de
datos principal, puede que sea necesario deshabilitar el trabajo de copia de
seguridad hasta que se haya iniciado la creación de reflejo.
Si es posible, la ruta de
acceso (incluida la letra de unidad) de la base de datos reflejada debería ser
idéntica a la de la base de datos principal.
Si las rutas de acceso de archivo deben ser diferentes (por ejemplo, si la base
de datos principal se encuentra en la unidad 'F:' pero el sistema reflejado no
tiene unidad F:), se debe incluir la opción MOVE en RESTORE STATEMENT.
Comentarios
Publicar un comentario