Beruflich Dokumente
Kultur Dokumente
Revisores
Nombre Versin aprobada Posicin Fecha
Tabla de Contenido
Introduccin. .................................................................................................................................... 4 Descripcin de la Arquitectura Implementada ........................................................................ 4 Configuracin de Mirroring en Modo de Alta Proteccin ....8 Verificacin de Comunicacin ................................................................................................... 27
Introduccin.
El presente documento describe la arquitectura implementada utilizando el esquema Mirroring para el proyecto de Migracin de bases de datos SQL Server 2008 AUSA. El esquema Database Mirroring es una tecnologa de Microsoft SQL Server 2008, que puede ofrecer alta disponibilidad y soluciones de alto rendimiento para redundancia de base de datos. Las transacciones de se envan directamente desde una base de datos principal hacia un base de datos espejo, con este esquema la base de datos espejo tendr todas las transacciones casi al da con respecto a la base de datos principal, se utiliza un tercer servidor que tenga el rol de testigo, para que pueda realizar el Failover automticamente del servidor principal al Espejo. 1. Descripcin de la Arquitectura Implementada. El modo Mirroring configurado e implementado es de Alta Proteccin, que consisten en un Servidor Principal, Un Servidor Espejo, Una Instancia de Testigo, El Failover se realiza en Forma Automtica.
2. Configuracin de Mirroring en Modo de Alta Proteccin (Servidores PELIMSIDB04) El modo de alta proteccin consisten en un servidor Principal y un servidor Secundario y el testigo, para el proyecto se tomaron los servidores PELIMSIDB04, PELIMSIDB03, PELIMSIMIR01, PELIMSIMIR01\Witness como servidor principal, servidor Mirror y el servidor Testigo respectivamente. 2.1 Se utiliz para la configuracin de la seguridad, sesiones de TCP para sincronizar los logs de transacciones y para monitorear el estado de los servidores el cual emplea autenticacin a nivel de sesin, se utiliz certificados digitales y encriptacin con el algoritmo AES para la comunicacin entre servidores (el Mirroring soporta tambin el algoritmo RC4 para la encriptacin de comunicaciones).
PELIMSIMIR01\Witness
PELIMSIDB04
PELIMSIMIR01
PELIMSIDB03
Cabe sealar que un servidor espejo debe tener siempre una correspondencia uno a uno con el servidor principal, es decir si un servidor principal tiene 4 Bases de Datos Principales, entonces el espejo para este servidor debe tener tambin 4 base de datos Mirror, un topologa distinta a esta no es soportada.
Para poder ver las bases de datos que se encuentra en la instancia del servidor principal puede utilizar el Management Studio o tambin por T-SQL.
select * from sys.databases
2.2 En los Servidor principales (PELIMSIDB04, PELIMSIDB03) creamos el Master Key y el certificado, en la instancia del servidor principal con el fin de utilizarlo en las conexiones salientes para la conexin del mirror de la Bases de datos.
Create Endpoint EndPoint_P state = STARTED as TCP ( LISTENER_PORT = 2105 , listener_ip = ALL ) For Database_Mirroring ( Authentication = Certificate sql_principal , Encryption = Required Algorithm AES , role = ALL );
Sacamos un backup al certificado
2.3 Ahora tenemos que copiar el archivo sql_principal al servidor PELIMSIMIR01 2.4 En el servidor espejo (PELIMSIMIR01), creamos el Master Key y el certificado, en la
instancia del servidor secundario con el fin de utilizarlo en las conexiones salientes para la conexin del mirror de la Bases de datos.
--creamos el master key
Create Endpoint EndPoint_S state = STARTED as TCP ( LISTENER_PORT = 2104 , listener_ip = ALL ) For Database_Mirroring ( Authentication = Certificate sql_mirror , Encryption = Required Algorithm AES , role = ALL );
Para poder ver los certificados de la base de datos master se puede utilizar el siguiente script.
select * from master..sys.certificates;
Para poder ver los EndPoint, se puede utilizar el siguiente script select * from sys.database_mirroring_endpoints 2.5 Ahora tenemos que copiar el archivo sql_mirror.cer al servidor
PELIMSIMI04
2.6 Se tendr que configurar las conexiones entrantes en cada servidor en el
servidor espejo (PELIMSIMIR01) creamos un login para el servidor principal (PELIMSIDB04) y los asociamos a su certificado, es importante mencionar que el login deber tener el mismo password que la master key.
--creamos un login en PELIMSIMIR01 para que PELIMSIDB04 se realice la conexion
asociamos a su respectivo certificado, es importante mencionar que el login deber tener el mismo password que la master key.
use master; create master key encryption by password = 'sup3rv1s0r123456789####'; create certificate sql_witness with subject = 'certificado PELIMSIMIR01'
Create Endpoint EndPoint_W state = STARTED as TCP ( LISTENER_PORT = 2104 , listener_ip = ALL ) For Database_Mirroring ( Authentication = Certificate sql_witness , Encryption = Required Algorithm AES , role = ALL ); Backup Certificate sql_witness to file = 'H:\Data\7_Certificado\sql_witness.cer'; use master; create login Witness_Login with password = 'sup3rv1s0r12345###' create user Witness_Login_user For login Witness_Login create certificate sql_principal authorization Witness_Login_user from file = 'H:\DATA\7_Certificado\sql_principal.cer'; create certificate sql_mirror authorization Witness_Login_user from file = 'H:\DATA\7_Certificado\sql_mirror.cer'; grant connect on endpoint::EndPoint_W to Witness_Login
2.8 Se tendr que sacar una copia de la base de datos Principales del servidor
PELIMSIDB04 y PELIMSIDB03 restaurar en PELIMSIMIR01, es importante mencionar que todas la base de datos principales tendr que estar modo RECOVERY FULL, es un requisito indispensable para la configuracin del Mirroring. Ejemplo
Backup database DBAUSA to disk ='D:\DBAUSA.bak' with format
10
--Restauramos la base de datos Restore database DBAUSA From Disk='D:\DBAUSA.bak' with norecovery
Cuando se termine de realizar la restauracion se tendra que mostrar la base de datos DBAUSA De la siguiente manera
11
Y en el servidor PELIMSIMIR01 las base de datos espejo tendr que quedar en modo de Mirror y sincronizado como se muestra en la siguiente figura.
12
3. Verificacin de Comunicacin Para comprobar la conexin de los servidores Mirroring usamos el comando netstat a, el muestra todas las conexin de los servidores. Grfico de ejemplo
13
Tambin se puede utilizar el Mirror Monitor para verificar que la transferencia y sincronizacin entre los servidores Principal y Mirror
14