Quiero comentaros uno de los problemas que me he encontrado ahora mismo cuando he querido publicar una topología de Lync Server 2013: InstallDatabaseInternalFailure: Error interno al intentar crear o actualizar la base de datos
El problema viene dado cuando he querido publicar la topología, hasta la fecha no había tenido problema alguno con el dominio. Para poneros en situación, os comento que toda la plataforma de MV había sido implementada por un proveedor de IaaS, por lo que yo debería configurar el dominio, TMG y Lync Sever 2013. Estos son los servidores de los cuales dispongo:
- 1 Controlador de Dominio
- 1 Servidor de Office Web App
- 1 Front-END de Lync Server 2013
- 1 EDGE de Lync Server 2013
- 1 TMG 2010 SP2 como Reverse-Proxy
Lo primero que se ha hecho es actualizar todas las máquinas con las últimas actualizaciones disponibles (sobre 350MB por servidor), posteriormente e ha configurado el dominio y unido las máquinas al dominio. Ahora se ha configurado un CA, los pre-requisitos del servidor de WAC, Front-END de Lync y EDGE de Lync. Una vez todo configurado (incluso el TMG), empiezo a notar algún comportamiento extraño entre dos servidores a los cuales no puedo acceder a través del EDGE porque no me validaba las claves de usuario (TMG y Front-END), sin embargo si me conecto al controlador de dominio desde ahí si puedo hacerlo. Pensando que inicialmente puede ser otra cosa, continuo con la instalación de Lync, BBDD, etc… y cuando termino de configurar la topología y trato de publicarla me encuentro con el problema que os muestro en la captura anterior. Claramente lo primero que hago es revisar los siguiente:
- Que haya iniciado con un usuario con los derechos administrativos necesarios (los tenía, pero nunca está de mas asegurarse)
- Los permisos sobre la carpeta CsData
- Que el servidor tenga espacio disponible en la partición de Sistema
Y claro, aparentemente estaba todo correcto, pero revisando más en detalle el log del error mostrado me encuentro con esto:
Como vemos no se reconoce la cuenta de inicio de sesión, por lo que estas cosas siempre suelen ir ligadas a duplicidad de SID (Identificador de Seguridad) y como todos sabemos no pueden existir dos máquinas con el mismo SID en nuestro dominio. Aquí os dejo un artículo muy interesante para los que no conozcáis lo que es el SID y los problemas de la duplicidad de SID: http://bit.ly/14lYgRz
Teniendo en mente que el problema podría venir por una duplicidad de SID, me he descargado las Download PsTools (1.60 MB), en donde tenemos la utilidad PSGetSID la cual nos permite visualizar de forma sencilla el SID de cada equipo unido al dominio o no. Si queremos que nos muestra el SID de la máquina sobre la cual ejecutamos la herramienta, únicamente debemos ejecutarla desde una línea de comandos sin modificador alguno, pero si queremos encontrar el SID de una máquina de forma remota de debemos ejecutar el psgetsid.exe con el siguiente modficador:
Y aquí tenemos todos los modificadores posibles para PSGetSID
Usage: psgetsid [\\computer[,computer[,…] | @file] [-u username [-p password]]] [account|SID]
-u |
Specifies optional user name for login to remote computer. |
-p |
Specifies optional password for user name. If you omit this you will be prompted to enter a hidden password. |
Account |
PsGetSid will report the SID for the specified user account rather than the computer. |
SID |
PsGetSid will report the account for the specified SID. |
Computer |
Direct PsGetSid to perform the command on the remote computer or computers specified. If you omit the computer name PsGetSid runs the command on the local system, and if you specify a wildcard (\\*), PsGetSid runs the command on all computers in the current domain. |
@file |
PsGetSid will execute the command on each of the computers listed in the file
|
Una vez ejecutado en todos los servidores, me encuentro una desagradable sorpresa por un lado y por otro la causa del problema:
S-1-5-21-639020047-2635447608-3603641496
S-1-5-21-639020047-2635447608-3603641496
S-1-5-21-639020047-2635447608-3603641496
S-1-5-21-639020047-2635447608-3603641496
S-1-5-21-639020047-2635447608-3603641496
Ahora bien, como se soluciona esto, puesto ejecuntado un SYSPREP (¿Qué es Sysprep?) a cada servidor, pero sin tocar el DC para que no tenga que reconstruir el dominio de nuevo. Simplemente dejar al DC con ese SID y el resto lo volverán a generar de forma aleatoría. Debemos borrar las cuentas de los servidore unidos al dominio, para que cuando los volvamos a crear tengamos la seguridad de que se asigna con el nuevo SID. Esto ocurre cuando se clona una máquina base para acelerar el proceso de despliegue de entornos virtualizados, pero también se podía hacer en su tiempo con las máquinas fisicas con Norton Ghost, Acronis. No es que ahora no se puede hacer, pero ya es menos común. En este caso mi proveedor se le ha olvidado aplicar un SYSPREP y la verdad me ha fastitiado un poco, porque ha tirado a la basura algunas horas de mi trabajo.
La idea era comentar el problema de publicación de Lync y las causas, aunque finalmente he tenido que comentar otras cosas
Espero que os sea de utilidad!!!