Migrando una base de datos SQL Server 2005 a un nuevo cluster

Hace poco se presentó una situación en la cual se tenía una aplicación que daba servicio a varios miles de clientes, la cual tenía que ser migrada a unos servidores nuevos, pero dentro de las restricciones de negocio que se tenían, las más importantes eran las siguientes:

1. Se debían reutilizar los IPs antiguos para maximizar la compatibilidad de los nuevos servidores (solo en instancias, el nombre del cluster en si podia ser diferente)
2. Se debía mantener el mismo nombre de la instancia de SQL Server
3. Se debía mantener el mismo nombre para el servidor virtual del SQL Server y de SSAS (mismo valor en el recurso network name del grupo)
4. Se contaba con un máximo de una hora para mantener la aplicación sin dar servicio

El plan (alto nivel) para lograr cumplir con esas restricciones fue el siguiente:

1. Instalar el nuevo cluster. Para esto, se usaron nombres nuevos en los servidores, pero esos servidores tenían IPs que eran parte de la misma subred que el cluster anterior, esto porque es un requerimiento del servicio de cluster a la hora de cambiar los números de IPs de las instancias de SQL Server y de SSAS. Cabe destacar que debe poner atención al COLLATION que tenía el antiguo cluster.
2. Se instaló el SQL Server utilizando el mismo nombre para la named instance (esto es importante ya que un named instance NO PUEDE SER RENOMBRADO)
3. Se hicieron múltiples pruebas para garantizar el funcionamiento correcto del nuevo cluster.
4. Se migraron los logins de SQL Server (http://support.microsoft.com/kb/246133). Los usuarios fueron reestablecidos utilizando un script que se explicará en un artículo futuro.
5. Se restauraron múltiples bases de datos incluyento msdb y model así como una copia para pruebas de las bases de datos de cliente.
6. Se copió la configuración de diferentes características de SQL Server como los proxy accounts, database mail, linked servers, roles y otros más.

Llegado el día de la migración, se pudo cumplir con la restricción de una hora gracias al trabajo de pruebas que se había realizado antenriormente. El proceso para mover todo fue el siguiente:

1. Hacer un detach de las bases de datos en el servidor viejo y detener los servicios de cluster. Renombrar el cluster viejo a un nombre temporal y utilizar IPs temporales en los grupos también para luego iniciar los recursos en los grupos y asegurarse que los cambios se propagen en la red (DNS principalmente)
2. Copiar las bases de datos al servidor nuevo usando robocopy
3. Hacer attach a las bases de datos y reconstruir la liga entre los logins y los usuarios de las bases de datos
4. Renombrar las instancias de SQL Server y SSAS y actualizar los IPs (http://msdn.microsoft.com/en-us/library/ms178083(SQL.90).aspx)
5. Reestablecer la replicación de datos

Todo funcionó apropiadamente y se cumplieron los requerimientos sin problemas, sin embargo existen varias notas que me gustaría compartir:

1. Debe asegurarse de que la replicación es destruída en el nuevo cluster antes de renombrarlo
2. A la hora de cambiar el IP y el nombre del cluster, siga los siguientes pasos:
– Detenga los servicios completos del grupo en el clúster, cambie el número de IP, reinicie el grupo y pruebe que el grupo se puede mover a todos los nodos que forman parte del cluster
– Detenga los servicios completos del grupo en el clúster, cambie el nombre del recurso de network name, reinicie el grupo y pruebe que el grupo se puede mover a todos los nodos que forman parte del cluster (en el caso de SSAS toma mucho mas tiempo que el renombrado sea aceptado, pero si funciona, notará que a pesar de renombrar el recurso, el servicio de SSAS no va a iniciar, pero solo debe esperar a que los cambios en el servidor viejo sean propagados dentro de la red)
3. Si por alguna razón el servicio de SQL Server no inicia en alguno de los cluster, inicielo manualmente forzando la configuración mínima (http://msdn.microsoft.com/en-us/library/ms180965.aspx)

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s


A %d blogueros les gusta esto: