Y donde esta el Cluster??
Estaba pensando en un lindo articulo sobre SQL Server tranquilamente frente a mi linda note cuando recibo una llamada telefonica, un Exchange 2010 habia perdido el DAG y las bases de datos no montaban.
Ok, quizas sea un caso interesante asi que acepte el desafio y manos a la obra viendo de que se trataba.
Efectivamente las bases estaban abajo, el DAG a simple vista se veia ok, sin embargo no se podia editar ni hacer nada, el error enviado era que no podia contactar el servicio de cluster.
Bien, vamos a mirar como esta el cluster......
El cluster .....
:S
No hay Cluster! Desaparecio, Uups!
[PS] C:\Windows\system32>Get-DatabaseAvailabilityGroup -Identity 'DAG1' -Status
Error en una operación de Active Manager. Error en la operación de clúster. Error: Error en la API de clúster 'OpenByNames('nodo1.dominio.com', 'nodo2.dominio.com') failed for each server. Specific exceptions: 'Error en una operación de Active Manager.
Error en la operación de clúster. Error: Error en la API de clúster '"OpenCluster(nodo1.dominio.com) error con 0x6d9. Error: No hay más extremos disponibles desde el asignador de extremos"'.', 'Error en una operación de Active Manager.
Error en la operación de clúster. Error: Error en la API de clúster '"OpenCluster(nodo2.dominio.com) error con 0x6d9. Error: No hay más extremos disponibles desde el asignador de extremos"'.'.'.
+ CategoryInfo : InvalidArgument: (:) [Get-DatabaseAvailabilityGroup], AmClusterApiException
+ FullyQualifiedErrorId : 62F1FD80,Microsoft.Exchange.Management.SystemConfigurationTasks.GetDatabaseAvailabilityGRoup
(Odio los mensajes en español, no entiendo nada!!)
He ahi la causa del problema, desaparecio el Cluster y el DAG seguia haciendo referencia a el, bueno, ya tenia la causa del problema, ahora a encontrar la solucion.
Comence a buscar por internet y no encontre nada relacionado con el tema, y si trato de recrear el cluster "a mano"?? mmm a buscar info de como hacerlo, nop, el cluster no existia en ninguno de los 2 nodos, el servicio estaba instalado, pero en ambos nodos estaba desabilitado, al habilitarlo y tratar de levantarlo enviaba error. Por supuesto al tratar de conectarse al cluster tambien enviaba error de RPC.
Habian algunos articulos muy buenos como Recover from a DAG member loss sin embargo no era el escenario, no se perdio un miembro, sino todo el cluster.
Conversando con un colega sobre las alternativas veiamos 2:
1) Guardar las bases de datos, Reinstalar con la opcion /m:RecoverServer y luego colocar las bases de datos.
2) Hacer otro DAG eliminando el actual y asociando las bases a ese nuevo DAG.
Despues de un rato viendo los pro y los contras de cada opcion nos inclinamos por la segunda, aunque no sabiamos con certeza como lo hariamos.
Antes de comenzar a trabajar con el Exchange en esa opcion intente crear un nuevo cluster con ambos nodos, seguro no lo iba a hechar a perder mas de lo que ya estaba, pero no me dejaba agregarlos por que decia que ya pertenecian a un cluster, asi que hice limpieza ejecutando el comando cluster node /force. Despues del comando intente crear el cluster con otro nombre y me dejo, lo elimine y volvi al problema.
Se crea el nuevo DAG y no podemos elegir ningun server para agregar, ya que estan asociados al otro DAG. Intente sacar un nodo y envia el error indicando problema de comunicacion con el servicio de cluster, sin embargo el mismo error me recomendaba una solucion, usar el parametro -ConfigurationOnly, al buscar informacion sobre el parametro me di cuenta que lo que hacia era cambiar la configuracion pero sin intentar conectarse al servicio de Cluster, por lo que saque del DAG antiguo el servidor que habia limpiado ya la configuracion del Cluster usando el siguiente comando PowerShell:
Remove-DatabaseAvailabilityGroupServer –Identity DAG1 –MailboxServer NODO1 –ConfigurationOnly
Eso me permitio remover el Server del DAG y agregarlo al nuevo DAG, a continuación fui a cada una de las bases de datos revise las propiedades y guarde quedando asociadas al nuevo DAG, monto una y sube ok. Repito la operacion en el otro nodo ejecutando ambos comandos, el que limpia la configuracion de cluster del nodo2, saco del DAG antiguo el nodo2 y lo agrego al nuevo DAG.
Monto el resto de las bases de datos las cuales montaron sin problemas quedando el servicio ok, excepto una que me daba error MapiExceptionCallFailed: Unable to mount database. (hr=0x80004005, ec=-550) pero eso ya es otra historia :D
Saludos!!!
Isa