<body><!-- --><div id="b-navbar"><a href="http://www.blogger.com/" id="b-logo" title="Go to Blogger.com"><img src="http://www.blogger.com/img/navbar/1/logobar.gif" alt="Blogger" width="80" height="24" /></a><div id="b-sms" class="b-mobile"><a href="sms:?body=Hi%2C%20check%20out%20Otro%20est%C3%BApido%20blog%20at%20julianrv.com%2Fblog">Send As SMS</a></div><form id="b-search" name="b-search" action="http://search.blogger.com/"><div id="b-more"><a href="http://www.blogger.com/" id="b-getorpost"><img src="http://www.blogger.com/img/navbar/1/btn_getblog.gif" alt="Get your own blog" width="112" height="15" /></a><a href="http://www.blogger.com/redirect/next_blog.pyra?navBar=true" id="b-next"><img src="http://www.blogger.com/img/navbar/1/btn_nextblog.gif" alt="Next blog" width="72" height="15" /></a></div><div id="b-this"><input type="text" id="b-query" name="as_q" /><input type="hidden" name="ie" value="UTF-8" /><input type="hidden" name="ui" value="blg" /><input type="hidden" name="bl_url" value="julianrv.com/blog" /><input type="image" src="http://www.blogger.com/img/navbar/1/btn_search_this.gif" alt="Search This Blog" id="b-searchbtn" title="Search this blog with Google Blog Search" onclick="document.forms['b-search'].bl_url.value='julianrv.com/blog'" /><input type="image" src="http://www.blogger.com/img/navbar/1/btn_search_all.gif" alt="Search All Blogs" value="Search" id="b-searchallbtn" title="Search all blogs with Google Blog Search" onclick="document.forms['b-search'].bl_url.value=''" /><a href="javascript:BlogThis();" id="b-blogthis">BlogThis!</a></div></form></div><script type="text/javascript"><!-- function BlogThis() {Q='';x=document;y=window;if(x.selection) {Q=x.selection.createRange().text;} else if (y.getSelection) { Q=y.getSelection();} else if (x.getSelection) { Q=x.getSelection();}popw = y.open('http://www.blogger.com/blog_this.pyra?t=' + escape(Q) + '&u=' + escape(location.href) + '&n=' + escape(document.title),'bloggerForm','scrollbars=no,width=475,height=300,top=175,left=75,status=yes,resizable=yes');void(0);} function blogspotInit() {} --></script><script type="text/javascript"> blogspotInit();</script><div id="space-for-ie"></div>

 
16 octubre, 2006

9:02 PM - MSCS, Microsoft Cluster Server, introducción

MSCS, Microsoft Cluster Server, inicialmente conocido como Wolfpack apareció junto a Windows NT Server 4.0 Enterprise Edition en su versión 1.0, Windows 2000 Advanced Server y Datacenter incluían la versión 1.1 mientras que la versión 1.2 se incluye en Windows Server 2003 Enterprise y Datacenter. Se trata de una solución de clustering de HA, alta disponibilidad o high-availability, al igual que otras existentes en el mercado como Sun Cluster (Solaris), IBM HACMP (AIX, Linux on Power), Veritas Cluster (Windows, Linux, AIX, Solaris, HP-UX) o HP ServiceGuard (HP-UX, Linux). Microsoftofrece otras soluciones de clustering pero estas son de balanceo de carga como NLB o de grid computing como Windows Computer Cluster.

La implementación de Microsoft persigue el mismo objetivo que todos los clusters de HA, sufrir la mínima disrupciones posibles en los servicios que ofrecen moviendo los distintos servicios de una maquina física a otra en caso de fallo o bien en caso de que se prevea algún tipo de disrupción en el servicio como un reemplazo de hardware. Estos cambios se puedes realizar de manera manual o bien de manera automática de acuerdo con una serie de parámetros configurados, hablamos de failover cuando un servicio se mueve de un nodo (servidor fisico) a otro y de failback cuando un servicio que había sido movido por failover con anterioridad vuelve al nodo de origen al que pertenecía.

Nodo (node): se trata de uno cualquiera de los servidores que componen el cluster, los nodos se pueden agregar o quitar del cluster a lo largo del tiempo. Paradójicamente puede existir un cluster de un único nodo aunque no parezca de gran utilidad.

Recurso (resource): se trata de un componente hardware (disco fisico, red) o software (dirección IP, nombre de red, script...) que forma parte del cluster. Entre los recursos se producen dependencias que se han de reflejar en la configuración de los mismos. Por ejemplo entre un nombre de red netbios y una dirección IP, si la dirección falla entonces el nombre de red deberá fallar en cadena al ser componentes directamente relacionados.

Grupo (group): es una agrupación de recursos, un grupo de recursos es la única unidad del cluster donde se puede realizar failover, cuando esto ocurre se mueven todos los recursos que lo componen de un nodo a otro. Esta es la razón que los diferentes recursos componentes de un servicio o instancia de aplicación se agrupen en un mismo grupo, un recurso determinado no puede pertenecer a mas de un grupo de recursos. Cada grupo tiene una lista de nodos (prefered owner) que por orden de preferencia se escogen a la hora de determinar hacia que nodo mover el grupo cuando se realiza un failover.

Quorum: es un disco usado para compartir, entre los distintos nodos, información respecto a la configuración del cluster además en el caso de fallo en las comunicaciones entre los distintos nodos el que tenga en ese momento la propiedad del recurso Quorum. Dentro del quorum disk podemos encontrar la carpeta MSCS en la cual se alojan el log del quorum (quolog.log), que es en realidad un log de transacciones de los cambios realizados en la base de datos del cluster. También se encuentra dentro de la carpeta MSCS un fichero con nombre chk*.tmp hacia el cual cada nodo replica desde local el fichero local de registro de cluster %SystemRoot%\Cluster\CLUSDB, este fichero se encuentra cada nodo y es al que van primero los cambios realizados a la configuración del cluster.

   - Shared Quorum: se trata de la configuración mas habitual y recomendada, todos los clusters comparten el acceso a este recurso de disco fisico.

   - Local Quorum: aqui el quorum se localizaria en uno de los discos locales de uno de los nodos del cluster, este tipo de configuración solo tienen sentido para recuperación de desastres o durante mantenimientos o fallos del disco compartido de quorum, iniciando el servicio de cluster, Cluster Service (clussvc.exe), con el parametro /FIXQUORUM se creara un quorum local y solo tendríamos que seleccionarlo como quorum.

   - MNS (Majority Node Set): en este caso cada quorum se encuentra en local y esta diseñado, en principio, para clusters con mas de dos nodos o bien dispersos geográficamente. Esta tecnología, de tipo shared-nothing, se introdujo en Windows Server 2003, si bien existe una actualización para SP1 y R2 donde se producen algunos cambios con el objetivo de hacer posible el funcionamiento del Cluster Continuous Replication que incluira Exchange Server 2007.

Entre las limitaciones de clustering esta el limite de 8 nodos para Windows Server 2003, de 4 nodos para Windows 2000 Datacenter Server y de 2 para Windows 2000 Advanced Server o NT 4.0. Tampoco en un mismo cluster es posible mezclar diferentes ediciones (datacenter, enterprise, etc...) ni versiones de sistema operativo excepto sise trata de un proceso de actualización, tampoco están soportados los nodos con distintas arquitecturas de procesador (IA64, x64 o x86). También es necesario de disponer de dos redes diferentes en todos los nodos por motivos de redundancia de forma que se recomienda que una de ellas este en una VLAN aislada (o si se trata de dos nodos de un cable cruzado) y que esta red se configure para toda la comunicación interna del cluster.

Habitualmente se habla de nodos como pasivo / activo o activo / activo si bien esto se refiere mas concretamente a aplicaciones en configuraciones de cluster de dos nodos, como activo/activo nos referimos a aplicaciones que pueden ejecutar una "instancia" en cada nodo del cluster y si una falla pueden mover esa instancia al otro nodo de manera que se ejecuten en el nodo dos instancias de la aplicación. Como activo/pasivo queremos referirnos a aplicaciones que corren en un nodo mientras que el otro se encuentra en "stand-by" en caso de fallo.

La administración del cluster se puede realizar de manera local o remota desde el Cluster Administrator (cluadmin.msc) que ofrece una interfaz básica bastante sencilla y en la que prácticamente podemos acceder a todas las funcionalidades y también disponemos del comando cluster.exe que aunque no muy intuitivo si que además de la funcionalidad de la consola añade la posibilidad de realizar tareas algo mas complejas como registrar o desregistrar tipos de recursos de cluster desde una .dll o cambiar la contraseña.

 
 Categorias:  

 


Publicar un comentario en la entrada

© astu 2005 - Powered by Blogger.