Su consultor TI

Conozca su infraestructura, mejore lo que necesite

Limpieza manual de metadatos en un controlador de dominio degradado. Como eliminar servidores con error.

servidoresEs poco frecuente encontrar dominios que se hayan instalado hace más de 5 o 6 años y estén completamente sanos, sin ningún tipo de degradación, sobre todo si han sufrido sucesivas actualizaciones de Windows 2000 a 2003 o 2008, e incluso peor si han partido desde las versiones Small Business de estos sistemas operativos, dado que casi nadie realiza las tareas de mantenimiento recomendadas por Microsoft en sus Reliability Workbooks, y se desconoce el uso y riesgos del comando dcpromo.

Ya sea a nivel de la base de datos del dominio (servidores fallidos por ejemplo) o de DNS (aunque también estos datos se almacenan en esa misma base de datos), suelen existir bastantes incongruencias y errores que lo único que hacen es provocar problemas de funcionamiento, algunos leves (retardos, máquinas desaparecidas…) y otros realmente graves (máquinas y usuarios que no pueden iniciar sesión o incluso controladores de dominio que no arrancan)

Sin pretender realizar una explicación detallada de todo lo que os podría pasar, voy a entrar, concretamente, en algo bastante común y que puede ser muy problemático. Os hablaré del problema generado por controladores de dominio desparecidos por la causa que fuera, que es seguro que ya nunca van a volver a encenderse y que todavía andan incordiando en la base de datos del dominio sin posibilidad de borrarse, por lo menos desde las consolas gráficas.

Primero de todo, confirmaros lo que muchos sospecháis, si lo que digo aquí no se hace en forma y lugar apropiado, os podéis cargar toda la infraestructura del dominio, por lo que yo NO ME HAGO RESPONSABLE de lo que os pueda pasar, usad mis indicaciones bajo vuestra responsabilidad.

La utilidad de línea de comando que se usa en estos casos, es ntdsutil.

Lo normal es ejecutar este comando en una ventana de línea de comando con permisos de administrador en el servidor de dominio que deseéis reparar y lo más razonable, es tener ese servidor desconectado de la red ya que si el dominio está mal pero sigue replicando, es posible que aunque reparemos este servidor, los errores vuelvan a replicarse de los demás. Para entendernos, habrá que ir realizando esta tarea en todos los servidores del dominio hasta que todos tengan los metadatos en orden. Es posible que penséis que lo lógico sería que el servidor reparado fuese el que replicase su base de datos reparada a los demás, pero la realidad, verificada in-situ, es la otra, la más fea.

En el ejemplo que voy a poneros, sobre un dominio en producción, buscaremos servidores que ya no existan y los borraremos. Los pasos resumidos para realizar esto son los siguientes:

  • Ejecutar ntdsutil con permisos de administrador
  • Conectar con el servidor de dominio en el que deseemos limpiar los metadatos, preferiblemente en local
  • Seleccionar el dominio que deseemos limpiar de los que estén almacenados en ese servidor
  • Seleccionar el site a limpiar
  • Seleccionar el servidor de ese site que deseemos eliminar
  • Borrar el servidor no operativo

Esto habrá que repetirlo para cada dominio y site de cada servidor a limpiar hasta que solo queden en la base de datos los servidores realmente operativos.

A continuación os pongo una imagen que muestra todo el proceso, mostrando los comandos en rojo y los parámetros en verde y, a continuación, os detallaré la función que desempeña cada uno de ellos:

ntdsutil_01

Os detallo a continuación la función de cada uno de los comandos ejecutados en la imagen anterior:

  • METADATA CLEANUP .- Es el primer comando tras entrar en ntdsutil y con él indicamos que los siguientes comandos harán referencia la limpieza de metadatos. Ntdsutil tiene otras posibilidades que no viene a cuento comentar ahora.
  • CONNECTIONS .- Iniciamos una secuencia de conexión con un servidor o dominio.
  • CONNECT TO [SERVER|DOMAIN] [n].- Indicamos sobre que servidor o dominio vamos a realizar la limpieza. Yo nunca he usado la opción domain, siempre he limpiado servidor a servidor dado que, si ya partimos del hecho de que el dominio tiene problemas, mejor no le dejemos a ese dominio ninguna decisión a tomar sobre como conectar con él. Dicho esto, deberemos introducir el nombre de servidor de dominio cuya base de datos vayamos a limpiar. Evidentemente tendremos que tener conectividad de red con ese servidor a menos que lo estemos ejecutando desde una consola en el propio equipo.
  • QUIT .- Con esto indicamos que hemos terminado el proceso de conexión y que vamos a comenzar a poner otro tipo de comandos.
  • SELECT OPERATION TARGET .- Iniciamos el proceso de selección del objeto sobre el que vamos a trabajar dentro del servidor seleccionado anteriormente.
  • LIST DOMAINS .- Le pedimos que nos de una lista numerada de todos los dominios soportados por el controlador al que nos hemos conectado.
  • SELECT DOMAIN [n].- Seleccionamos, de la lista anterior, el dominio al que queremos acceder, indicando el número de orden.
  • LIST SITES .- Dentro del dominio seleccionado, le pedimos que nos muestre una lista con los sites que incluye. Como mínimo deberá aparecernos el Defaul site, si no hay más creados.
  • SELECT SITE [n] .- Al igual que en el caso del dominio, seleccionamos el site indicando su número de orden en el listado anterior.
  • LIST SERVERS IN SITE .- Una vez en el site, bajamos un nivel de detalle más y le pedimos al servidor que nos muestre una lista de los servidores que figuran en su base de datos como activos en el site seleccionado.
  • SELECT SERVER [n] .- De los servidores de dominio que aparezcan en la lista, seleccionaremos aquel que deseemos eliminar porque estamos SEGUROS de que ya no está operativo ni lo va a volver a estar nunca más.
  • QUIT .- Indicamos que ya hemos terminado de seleccionar el objeto de más bajo nivel sobre el que deseamos trabajar
  • REMOVE .- Nos fundimos el servidor. ESTAD SEGUROS DE ELLO, de hecho, incluso nos aparecerá una ventana emergente para que confirmemos esta acción, por lo que aún en el último momento, nos podremos echar atrás. Si nos equivocamos no tendremos excusa. Por evidentes razones de seguridad, este último comando no lo he ejecutado en el ejemplo ya que era un entorno en producción.

Como he comentado más arriba, este proceso habrá que repetirlo para cada dominio y cada site del servidor, eliminando todos los servidores que no estén operativos. A su vez habrá que realizarlo también en el resto de controladores de dominio operativos y, conforme vayamos teniéndolos limpios y pulcros, podremos ir conectándolos a la red para que comiencen a replicar.

Quiero dejar claro que este es solo uno de los pasos que se deberían usar para recuperar un domino caído, no he hablado de los roles de los servidores ni de si están asignados correctamente o como transferirlos entre ellos y tampoco hemos entrado a valorar los problemas derivados de un DNS mal configurado o lleno de datos erróneos, pero sí que es uno de los pasos que casi seguro habrá que realizar dentro de ese proceso de recuperación del dominio.

Espero que os solucione algo. Cuando tenga otro rato y ganas, me pondré con estos otros puntos.

Buena limpieza…

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *


*

Su consultor TI © 2014 Frontier Theme