Está en la página 1de 11

GESTIÓN Y SEGURIDAD DE BASES DE DATOS

CÉLIMO RODRÍGUEZ HERRERA

SENA

2019
DISEÑO Y ADMINISTRACIÓN DE UNA BODEGA DE DATOS PARA LA ALCALDÍA SAN
ANTONIO DEL SENA

CÉLIMO RODRÍGUEZ HERRERA

PROYECTO DE GRADO PARA EXPECIALIZACIÓN GESTIÓN Y SEGURIDAD

DE BASES DE DATOS

“Espejo Base de Datos”

SENA

2019
Base de datos espejo

 Qué es un Raid

“Conjunto redundante de discos independientes”; es un sistema que nos permite


implementar un volumen de almacenamiento de datos que, a su vez, está formado
por múltiples discos duros con el objetivo de conseguir más espacio o bien
proteger la información y conseguir mayor tolerancia a fallos de disco (evitando
pérdida de información si el disco duro sufre una avería).

Lo interesante del RAID es que la combinación de discos duros, a efectos


prácticos del usuario, se traduce en un “único almacén” mucho más robusto que
un disco duro por sí solo; por tanto, usar un RAID siempre puede ser eficiente y
eficaz en aplicaciones de alta disponibilidad o para proteger información que
consideremos crítica al establecerse redundancia en los insumos de BD y en
general del total del sistema.

- RAID 0

Una configuración RAID orientada a la redundancia y la tolerancia a fallos;


conocido como striping, en esta configuración lo que se hace es distribuir de
manera equitativa los datos entre dos discos duros; el sistema irá repartiendo los
datos entre dos discos duros para aumentar la velocidad de acceso a los datos.
Obviamente, al no existir redundancia, si uno de los discos se avería tendremos
que recurrir a una copia de seguridad externa.

- RAID 1

Es una de las mejores configuraciones en cuanto a redundancia y tolerancia a


fallos. También conocida como “espejo” o “mirroring”, en esta configuración RAID
lo que se hace es duplicar la información en dos discos; es decir, nuestro sistema
verá un único volumen de almacenamiento que, en realidad, está formado por dos
discos iguales en los que se escriben los mismos datos. De esta forma, si un disco
se estropea o corrompe, el sistema seguirá funcionando y trabajando con el disco
que aún funciona. Además, el rendimiento en lectura también aumenta porque, por
ejemplo, es posible leer 2 datos a la vez (uno de cada disco).

- RAID 0+1

Es una combinación de dos configuraciones simultáneas RAID 0 y RAID 1;


concretamente, necesitaremos 4 discos duros que se tomarán por parejas para
que cada una de éstas forme un RAID 0 (división de la información) y, con las dos
parejas, se monte un RAID 1 (un espejo). Dicho de otra forma, con esta
configuración tendremos un RAID 0 redundado en espejo.
- RAID 1+0

También conocido como “RAID 10” es la configuración «contraria» al RAID


0+1; en este caso en vez de realizar un espejo del RAID 0 (los discos en
striping), lo que hacemos es aplicar el espejo a cada disco en striping. Si en un
RAID 0 repartimos los bloques de información entre dos discos, en el RAID 1+0
lo que hacemos es similar pero cada uno de estos discos, a su vez, está en
espejo con otro. Por tanto, es una configuración de 4 discos en la que
montamos un par de espejos y, por encima, repartimos la información entre
dichos espejos.

En servidores usar un sistema RAID 1, RAID 0+1 o RAID 1+0 para montar un
espejo entre discos duros y, de esta forma, replicar la información en dos discos o
4 discos duros idénticos y, si uno o dos se estropean dependiendo de la
tecnología RAID que utilicemos, no sufrir una caída del servicio. También es
habitual usar RAID en un SAN y sacrificar un poco del espacio útil para ganar en
redundancia y poder reconstruir el volumen de información si un disco sufre una
avería e, incluso, se deja algún disco en modo hot spare para que comience a
usarse si uno de los discos falla.

- Hot spare

Un disco de reserva es un disco duro que se puede utilizar en los sistemas RAID
tanto hardware como software. Se trata de un dispositivo físicamente instalado en
el sistema RAID que se mantiene inactivo hasta que uno de los discos activos
falla. En ese momento el disco de reserva comienza a funcionar reemplazando el
disco erróneo reconstruyendo el conjunto de discos.

- Instancias

Una instancia de Motor de base de datos funciona como un servicio que controla
todas las solicitudes de aplicación para trabajar con datos de cualquiera de las
bases de datos administradas por dicha instancia. Es el destino de las solicitudes
de conexión (inicios de sesión) de aplicaciones.

- Data Mirroring

Se conoce como copia espejo (en inglés data mirroring) al procedimiento de


protección de datos y de acceso a los mismos en los equipos informáticos
implementado en la tecnología de RAID1.

Consiste en la idea básica de tener dos discos duros conectados. Uno es el


principal y en el segundo se guarda la copia exacta del principal, almacenando
cualquier cambio que se haga en tiempo real en las particiones, directorios, etc,
creando imágenes exactas, etc.

De esta forma se consigue tener 2 discos duros idénticos y que permiten, si todo
está bien configurado, que ante el fallo del disco principal, el secundario tome el
relevo, impidiendo la caída del sistema y la pérdida de los datos almacenados.

En el "mirroring" en una base de datos tenemos un servidor principal/primario que


mantiene la copia activa de la base de datos (BD 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 BD). 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).

Beneficios del espejeo

Además de proporcionar una copia adicional de los datos con el fin de


redundancia en caso de fallo o corrupción de hardware, la duplicación de disco
puede permitir que cada disco se acceda por separado para los propósitos de
lectura. En determinadas circunstancias esto puede mejorar significativamente el
rendimiento ya que el sistema puede elegir para cada lectura que disco puede
buscar más rápidamente a los datos requeridos. Esto es especialmente importante
cuando hay varias tareas que compiten por los datos en el mismo disco, y el
"trashing" (donde el cambio entre tareas ocupa más tiempo que la tarea en sí) se
puede reducir. Esta es una consideración importante en las configuraciones de
hardware que frecuentemente tienen acceso a los datos en el disco.

En algunas implementaciones, el disco reflejado se puede dividir fuera y se utiliza


para la copia de seguridad de datos, permitiendo que el primer disco pueda
permanecer activos. Sin embargo, la fusión de los dos discos se puede requerir un
período de sincronización en su caso escribir la actividad I/O que ha ocurrido con
el disco duplicado.

- Servidor - Espejo

(Database mirroring). Posibilidad de usar un único servidor activo con un espejo.

Esto consiste en que el servidor activo va transfiriendo en segundo plano todas las
transacciones a un servidor en espera, de tal manera que ambos se mantienen
sincronizados con un retraso de tiempo muy pequeño. En caso de fallo del
principal, el de reserva se vuelve activo y las aplicaciones pueden continuar en
funcionamiento de manera prácticamente inmediata.

- Practica prueba

Creación de espacios de disco con espejo

Una vez preparados los discos, para crear el RAID 1 usaremos las siguientes
órdenes, suponiendo que los discos nos los ha identificado como sda, sdb, sdc y
sdd; aplicamos las siguientes sentencias:

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 el sistema 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.
Para hacer el espejo, es necesario como mínimo 2 instancia y como máximo 3. Si
utilizamos 2 instancias, una de ellas contiene la base de datos y la otra la del
espejo. La pega de esta configuración es que el failover no es automático y se
necesita intervención humana. Si utilizamos 3 instancias, entonces utilizamos una
de ellas como witness server y permite que el failover sea automático, osea que
cuando una caiga, la otra se ponga en marcha. Para ello el witness server se
encarga de “mirar” el estado de las 2 instancias y cuando una de ellas cae, pone la
otra en marcha.

Hacer el espejo son dos pasos principales:

- Copiar y restaurar la base de datos de la que queremos hacer el espejo desde


una instancia a la otra.

- Configurar el asistente de configuración del espejo.

Vamos un ejemplo paso a paso.

Lo primero que tenemos que hacer es hacer un reflejo de nuestra base de datos
en otra instancia. En el siguiente ejemplo esta base de datos se denomina prueba.

Debemos hacer copia de seguridad de la base de datos y del log (importante, la


base de datos debe estar en modo Full) con estas sentencias:

Backup Database Prueba to Disk=’D:\prueba.bak’;


Backup Log Prueba to Disk=’D:\logprueba.bak;

Una vez hecha la copia de seguridad, copiamos los ficheros y los restauramos otra
instancia donde queremos hacer el reflejo con estas sentencias:

Restore Database Prueba from Disk=’D:\prueba.bak’ with NORECOVERY;


Restore Log Prueba from Disk=’D:\logprueba.bak with NORECOVERY;
Tanto la restauración del fichero de datos como el del log, son con el parámetro
NORECOVERY. Esto es muy importante porque estamos diciendo al SQL Server
que restauramos la base de datos pero que no la ponga en marcha y que la deje
lista para poder aplicar más logs, osea los logs que vendrán de la otra base de
datos cuando comience el espejo.

Una vez tenemos hecha la restauración de la base de datos que queremos reflejar
en la otra instancia, ya podemos configurar el espejo. Para ello, pulsamos en la
primera instancia con el botón derecho del ratón sobre la base de datos, y
seleccionamos Propiedades. En el cuadro de diálogo de las propiedades de la
base de datos, seleccionamos la opción Mirror.

Vemos que aparece un cuadro de diálogo con las opciones de configuración del
mirror. Para comenzar a configurarlo, seleccionamos el botón Configure Security.

Vemos que aparece el asistente de configuración del mirror. Lo primero que nos
pregunta es si queremos utilizar un witness server. Indicamos que sí. Después
debemos indicarle que queremos configurar las 3 instancias para poder hacer el
failover automáticamente.

Seguidamente indicamos la instancia que contendrá la base de datos en sí.


Fijémonos que por defecto, el asistente abre el puerto 5022 para comunicarse con
el resto de instancias. Dicho puerto y el resto que se configuran en el asistente,
deben estar abiertos en los firewalls de windows. Fijémonos también que hemos
quitado la opción de cifrado, ya que en esta configuración, no tenemos habilitado
el cifrado de la base de datos.

Seguidamente configuramos la segunda instancia que será la que contendrá el


reflejo de la base de datos. Fijémonos que por defecto configura el puerto 5023.
Por último nos queda configurar el witness server que estará en una tercera
instancia. Fijémonos que por defecto configura el puerto 5024.

Un último paso en el asistente es configurar la seguridad. Aquí debemos indicar


una cuenta con permisos para acceder al SQL Server. Por ejemplo, podemos
indicar la cuenta con la que arrancan los servicios de las instancias.
Para acabar con el asistente pulsamos en Finish. El asistente se pondrá a
configurar los puertos (Endpoints) en cada instancia y acabará.

También podría gustarte