GuilleSQL :: Microsoft SQL Server, SSIS, y más !!

Microsoft Cluster MSCS 2003 - ¿Cómo instalar y configurar Microsoft Distributed Transaction Coordinator (MSDTC) en un Cluster MSCS?

Volver a: [Instalar y Configurar Microsoft Cluster (MSCS) en Windows Server 2003]


Una tarea típica a realizar en Microsoft Cluster MSCS (ej: con Microsoft SQL Server, con Microsoft Exchange Server, etc.) es configurar el servicio Microsoft Distributed Transaction Coordinator (MSDTC) en Cluster. Este capítulo detalla paso a paso cómo instalar y configurar Microsoft Distributed Transaction Coordinator (MSDTC) en un Cluster MSCS ¿En qué Grupo de Recursos instalarlo? ¿En el Grupo de Recursos del Quorum? ¿en un Grupo de Recursos dedicado? ¿en el Grupo de Recursos propio de la aplicación (ej: SQL Server ó Exchange Server)?

Una tarea muy habitual al trabajar con Microsoft Cluster (MSCS) es configurar el servicio Microsoft Distributed Transaction Coordinator (MSDTC) en Cluster. Esto es debido a dos razones:

  • Microsoft sólo permite la ejecución del servicio MSDTC sobre servidores configurados en un Cluster MSCS, si dicho servicio se configura como un Recurso del Cluster. Es decir, MSDTC no funciona como un recurso local a cada Nodo.
  • Muchas aplicaciones que funcionan en Microsoft Cluster, utilizan o pueden utilizar el servicio MSDTC, como es el caso de Microsoft SQL Server y Microsoft Exchange Server.

Ante de instalar y configurar MSDTC en un Cluster MSCS, se debe elegir dónde (en qué Grupo de Recursos del Cluster MSCS) configurar el servicio MSDTC. Las posibles alternativas son:

  • En el Grupo de Recursos del Cluster (el del Quorum). Esta es mi opción favorita. No quiero decir que siempre se deba de utilizar, pero en muchos casos (probablemente en la mayoría de las instalaciones) el servicio MSDTC tiene muy poca carga, y en consecuencia, configurarlo en el Grupo de Recursos del Cluster (el del Quorum) no tiene ningún impacto.
  • En un Grupo de Recursos independiente (exclusivo para MSDTC). Esta opción es la preferida en aquellos escenarios que se espere una gran actividad por parte del servicio MSDTC.
  • En el Grupo de Recursos de la aplicación (ej: el utilizado por SQL Server o por Exchange Server). Esta es una posibilidad más. Personalmente, decidiría entre las dos anteriores (si MSDTC tiene mucha carga, no deberíamos juntarlo con SQL Server o con Exchange, y si no tiene carga, no hay problema en que se ejecute en el Grupo de Recursos del Quorum) y descartaría ésta tercera posibilidad, pero siempre se puede encontrar algún caso que pudiera ser apropiado para ésta configuración.

Para instalar y configurar el servicio MSDTC en un Cluster MSCS, primero se debe habilitar el servicio MSDTC en cada Nodo del Cluster MSCS. Esto se realiza desde la herramienta Agregar o Quitar Programas (Start -> Settings -> Control Panel -> Add or Remove Programs), seleccionando la opción Application Server, y en sus detalles (click Details), seleccionar la opción Enable network DTC access. Finalizando el asistente, quedará habilitado el servicio MSDTC (recordar que se debe habilitar MSDTC en cada Nodo del Cluster MSCS).

Una vez que está habilitado el servicio MSDTC en ambos Nodos del Cluster, tan sólo queda configurarlo como un servicio en Cluster (es decir, como un Recurso de un Grupo de Recursos del Cluster). Esta tarea se puede realizar de dos formas, con la herramienta administrativa Cluster Administrator o con la herramienta de símbolo del sistema Cluster.exe. Personalmente, prefiero la herramienta administrativa Cluster Administrator, ya que ésta no es una tarea que se realice tan habitualmente como para que interese realizarla por comandos, pero en cualquier caso, para gustos hay colores.

Con independencia del método elegido para su configuración (Cluster Administrator o Cluster.exe), se debe de disponer de un Grupo de Recursos, con al menos tres Recursos (uno de tipo IP Address, otro de tipo Network Name con dependencia al Recurso de tipo IP Address, y otro de tipo Physical Disk). Con esto, será suficiente crear un nuevo Recurso, de tipo Distributed Transaction Coordinator, con dependencias sobre un Recurso de tipo Network Name y otro de tipo Physical Disk. Si deseamos reutilizar el Grupo de Recursos del Quorum, será suficiente con crear el Recurso de tipo Distributed Transaction Coordinator, y aprovechar el Network Name, IP Address y Physical Disk del Quorum. Si deseamos un Grupo de Recursos exclusivo para MSDTC, será necesario crearlo junto con los Recursos de los tipos indicados.

Realizado todo esto, tan sólo tendremos que poner OnLine (Bring Online) el Grupo de Recursos (en caso de que estuviese OffLine), y ya habremos finalizado la instalación y configuración de Microsoft Distributed Transaction Coordinator (MSDTC) en un Cluster MSCS.

También recordar un pequeño detalle: cuando un servicio está configurado para funcionar en un Cluster MSCS queda configurado con inicio Manual (se puede comprobar a través de la consola services.msc), en vez de con inicio Automático. Esta es la situación normal con Microsoft Cluster (MSCS), ya que desde el momento en que un servicio está configurado en Cluster, su inicio (y parada) es responsabilidad del servicio de Cluster, y no debe configurarse para ser iniciado por el sistema en el arranque del Sistema Operativo (vamos a ver... al arrancar las Windows, arrancarán el servicio de Cluster, que a su vez arrancará el servicio de nuestra aplicación, pero eso sí, con cuidado de arrancarlo en un sólo Nodo... y si se cae el Nodo se preocupará de arrancar el servicio en otro Nodo vivo, etc...). Este pequeño detalle no tiene mayor importancia, pero si es cierto, que en algún cliente los Operadores me ha llamado asustados porque en todas las máquinas que tienen MSDTC lo tienen con inicio automático y en las máquinas del Cluster está con el inicio Manual. Que todos los problemas sean estos ;-)

Hasta aquí llega la instalación y configuración básica de Microsoft Distributed Transaction Coordinator (MSDTC) en un Cluster MSCS. Sin embargo, puede ser que necesitemos realizar una configuración específica de MSDTC.

Para configurar MSDTC, será necesario abrir una nueva consola MMC (Start -> Run -> mmc.exe). En la nueva consola MMC, seleccionaremos la opción Add/Remove Snap-in del menú File. En el diálogo Add/Remove Snap-in, seleccionaremos el Snap-in de Component Services, como se muestra en la siguiente pantalla capturada.

Una vez que hemos añadido el Snap-in de Component Services a la consola MMC, expandiremos los nodos Component Services y Computers. Finalmente, mostraremos el diálogo de Propiedades de My Computer, como se muestra en la siguiente pantalla capturada:

En el diálogo de Propiedades de My Computer, seleccionaremos la pestaña MSDTC. Aquí es dónde queríamos llegar. En esta pantalla podremos configurar las opciones básicas de MSDTC. A continuación se muestra una pantalla capturada con la configuración por defecto, tras la instalación de MSDTC en Cluster.

Una de las principales configuraciones, es la configuración de seguridad (botón Security Configuration del recuadro Transaction Configuration). A continuación se muestra una pantalla capturada del diálogo Security Configuration, de nuevo, con la configuración por defecto tras la instalación de MSDTC en Cluster.

Recordar que es posible utilizar la utilidad DTCPing.exe (descargable de forma gratuita desde la Web de Microsoft) para ayudarnos en la validación y diagnóstico de configuraciones de MSDTC y RPC (si tenemos problema de comunicación RPC entre dos servidores, probablemente la comunicación MSDTC entre los mismos no será posible). A continuación se incluye un enlace a la KB 928331, que presenta la utilidad DTCPing.exe, he incluye un enlace para descargar DTCPing.exe.

How to troubleshoot connectivity issues in MS DTC by using the DTCPing tool

Para la utilización de DTCPing.exe, es recomendable leer previamente los ficheros HowtoAnalyze_Dtcping_Output.txt y readme.txt incluidos en la propia descarga del DTCPing.exe.

Por último, aprovecho para incluir un par de enlaces a un par de KBs de Microsoft:

Volver a: [Instalar y Configurar Microsoft Cluster (MSCS) en Windows Server 2003]




Miembros de
Miembros de GITCA (Global IT Community Association)

Menu de Usuario
  Iniciar Sesión
  Registrarse
  Restablecer Contraseña
  Ventajas de Registrarse

Acerca de
  Contigo desde Oct 2007
  771 usuarios registrados
  86146 pageloads/mes
  Ranking Alexa 498160

Social Networks
Sigue a Portal GuilleSQL en Linkedin !!
Sigue a Portal GuilleSQL en Twitter !!



Archivo

Junio de 2017 (3)
Mayo de 2017 (1)
Marzo de 2017 (3)
Enero de 2017 (4)
Junio de 2016 (1)
Mayo de 2016 (2)
Abril de 2016 (2)
Septiembre de 2015 (2)
Agosto de 2015 (2)
Junio de 2015 (10)
Mayo de 2015 (4)
Abril de 2015 (8)
Marzo de 2015 (11)
Octubre de 2014 (3)
Septiembre de 2014 (7)
Agosto de 2014 (5)
Julio de 2014 (2)
Mayo de 2014 (4)
Abril de 2014 (4)
Marzo de 2014 (4)
Febrero de 2014 (1)
Enero de 2014 (5)
Diciembre de 2013 (8)
Noviembre de 2013 (2)
Octubre de 2013 (7)
Septiembre de 2013 (6)
Agosto de 2013 (1)
Julio de 2013 (6)
Junio de 2013 (11)
Mayo de 2013 (7)
Abril de 2013 (6)
Febrero de 2013 (5)
Enero de 2013 (7)
Diciembre de 2012 (12)
Noviembre de 2012 (13)
Octubre de 2012 (5)
Septiembre de 2012 (3)
Agosto de 2012 (6)
Julio de 2012 (4)
Junio de 2012 (1)
Mayo de 2012 (2)
Abril de 2012 (7)
Marzo de 2012 (16)
Febrero de 2012 (9)
Enero de 2012 (5)
Diciembre de 2011 (10)
Noviembre de 2011 (10)
Octubre de 2011 (4)
Septiembre de 2011 (5)
Agosto de 2011 (2)
Julio de 2011 (2)
Junio de 2011 (4)
Mayo de 2011 (2)
Abril de 2011 (6)
Marzo de 2011 (4)
Febrero de 2011 (10)
Enero de 2011 (5)
Diciembre de 2010 (6)
Noviembre de 2010 (4)
Octubre de 2010 (8)
Septiembre de 2010 (4)
Agosto de 2010 (1)
Julio de 2010 (3)
Mayo de 2010 (5)
Abril de 2010 (6)
Marzo de 2010 (8)
Febrero de 2010 (3)
Enero de 2010 (1)
Diciembre de 2009 (9)
Noviembre de 2009 (14)
Octubre de 2009 (2)
Septiembre de 2009 (8)
Agosto de 2009 (2)
Julio de 2009 (10)
Junio de 2009 (9)
Mayo de 2009 (10)
Abril de 2009 (9)
Marzo de 2009 (3)
Febrero de 2009 (2)
Enero de 2009 (3)
Noviembre de 2008 (2)
Octubre de 2008 (2)
Septiembre de 2008 (2)
Agosto de 2008 (5)
Julio de 2008 (5)
Junio de 2008 (1)
Mayo de 2008 (3)
Abril de 2008 (2)
Marzo de 2008 (2)
Febrero de 2008 (2)
Enero de 2008 (5)
Noviembre de 2007 (2)
Octubre de 2007 (2)






Copyright © 2007 GuilleSQL, todos los derechos reservados.