Sei sulla pagina 1di 3

SQL Server: Los mejores consejos para el clster de SQL Server -- TechNet Magazine, March 2007

Pgina 1 de 5

Quick Links

| Home | Worldwide

Search Microsoft.com for:

Go
TechNet Home
Search for

| TechCenters | Downloads | TechNet Program | Subscriptions | Security Bulletins | Archive


TechNet Home > TechNet Magazine > March 2007

Go TechNet Magazine Home March 2007 Back Issues Code Downloads RSS Topics Subscribe Order Back Issues Reader Services Submit an Article Contact the Editors Meet the Staff Corrections Advertising Inquiries CD Offer Blog Podcast TechNet Flash TechNet Magazine UK MSDN Magazine

Elija su idioma:

Espaol

SQL Server

Tom Moreau
more ...

Los mejores consejos para el clster de SQL Server


Resumen: Ejecucin de SQL Server en un clster Requisitos de hardware y software Clster de un nodo Opciones de alta rentabilidad

Un clster de servidor permite conectar varios servidores fsicos, o nodos, que funcionan como asociados de conmutacin por error entre s. La redundancia que proporciona un clster se traduce en ms tiempo productivo para sus operaciones
crticas. He implementado un buen nmero de clsteres en mis 13 aos de trabajo con SQL Server y cada uno de ellos present un grupo de problemas nico. Esta experiencia me ha permitido recopilar varias sugerencias que pueden ayudarle a que sus esfuerzos por usar el clster sean ms sencillos y eficaces. Los clsteres de servidor aprovechan las capacidades integradas de clster de Enterprise Edition de la familia Windows Server. De hecho, con fines de implementacin de clsteres, Windows Server 2003 es con diferencia mejor que Windows 2000 Advanced Server. Para maximizar las prestaciones que obtendr de los clsteres, necesitar el hardware adecuado y, para ello, tendr que realizar algunos gastos. No basta con aadir un par de servidores con un disco compartido y no puede depender del hecho de que algunos componentes individuales aparezcan o no en Windows Catalog (anteriormente conocido como Lista de compatibilidad de hardware). Todo el sistema en su conjunto debe aparecer en Windows Catalog. Pero no se preocupe, existen algunas soluciones de clster rentables y aprobadas. En la figura 1 se muestra una configuracin tpica de clster.

Figura 1 Un clster tpico (Hacer clic en la imagen para ampliarla) Por supuesto, el hardware no constituye la nica consideracin que debe tener en cuenta en sus cavilaciones sobre el clster; adems, tambin necesita elegir la edicin correcta de SQL Server 2005. La edicin Enterprise Edition permite el uso de clsteres y presenta otras caractersticas tiles, como la capacidad de aprovechar ms las CPU, las vistas particionadas actualizables y distribuidas, el trasvase de registros integrado y el uso automtico de vistas indizadas. Si ya dispone de una licencia de Enterprise Edition, considere el clster, tenga o no los servidores necesarios (entre dos y ocho) para crear un clster tradicional (en breve hablaremos de los clsteres de un nodo). Si dispone de SQL Server 2005 Standard Edition, puede instalar un clster de dos nodos. Las ediciones Windows Server 2003 Enterprise y Datacenter se suministran con el clster integrado. Lo nico que tiene que hacer es ejecutar el Administrador de clsteres para configurarlo. Puede aadir todos los nodos al mismo tiempo o de uno en uno. De forma parecida, cuando instale SQL Server, podr elegir si desea instalar un servidor no agrupado individual o una instancia virtual en un clster. Si elige instalar una instancia virtual, podr instalar en todos los nodos del clster, slo en algunos o incluso en uno solo. Finalmente, para alcanzar el objetivo real de alta disponibilidad de clsteres, necesita contar con personas cualificadas y con unos procedimientos muy ensayados por si surgen problemas. Aunque el clster ofrece una buena garanta ante los errores de hardware, no puede impedir los errores de usuario, como los que pudiera causar un administrador de base de datos muerto de sueo en mitad de la noche.

Clsteres de un nodo
Aunque lo nico que necesite por el momento sea un nico servidor, considere la creacin de un clster de un nodo. Esto le permitir actualizar a un clster ms adelante sin tener que volver a crearlo. Slo tiene que asegurarse de que el hardware que elige se encuentra en la seccin de clster de Windows Catalog. La decisin de aadir un nodo ms adelante no tiene que deberse exclusivamente a motivos de alta disponibilidad. Piense en lo que puede ocurrir si descubre que su servidor no tiene la capacidad necesaria. Esto se traduce en una migracin, un proceso que conlleva tiempo y esfuerzo. Si tiene un clster de un nodo, la migracin es ms fcil con un tiempo de inactividad mucho menor. Agregue el nodo nuevo al clster, agregue los binarios y los Service Packs de SQL Server al nodo nuevo y, a continuacin, lleve a cabo una conmutacin por error en el nodo nuevo. Seguidamente, agregue cualquier actualizacin posterior a los Service Packs y, por ltimo, expulse el nodo antiguo. El tiempo de inactividad comprende nicamente el tiempo que se tarda en llevar a cabo la conmutacin por error y agregar las actualizaciones (si las hay).

Adicin de nodos
Puesto que todos los nodos de un clster deben ser idnticos, querr actuar cuanto antes para conseguir este nodo extra, en lugar de dejarlo para ms tarde. Si espera demasiado tiempo, el nodo podra dejar de fabricarse. En un proyecto, tuve que reconstruir un nodo en un clster de SQL Server 2000. Hice que la administracin de red/SO se encargara de la compilacin bsica del equipo y, a continuacin, intervine para volver a aadirla al clster y prepararla para su funcionamiento como nodo de SQL Server. Todo fue bien, hasta que realic una conmutacin por error en el nodo nuevo. Muy a mi pesar, dio errores enseguida. En resumen, aunque haba preparado un documento detallado sobre la creacin de un clster nuevo, incluida la adicin de las cuentas de servicio de clster y de servicio de SQL Server a ambos nodos, el documento no se haba seguido de forma explcita. El equipo de administracin no agreg estas cuentas de servicio al nodo reconstruido, por lo que ya no existan los privilegios que tenan antes de la reconstruccin. Tard bastante tiempo en localizar este error. Un da se me ocurri mirar en la pertenencia a grupos local. En cuanto agregu las dos cuentas, la conmutacin por error se llev a cabo sin problemas. Entonces llegu a una conclusin. La reconstruccin de un nodo es algo que no se hace a menudo y, cuando se hace, suele ser por una emergencia. Aunque haba confeccionado un documento, no se utiliz. Podramos haber automatizado la parte de seguridad al escribir sencillamente una secuencia de comandos breve que agregara estas dos cuentas y que realizara otras personalizaciones necesarias. No obstante, las cosas han mejorado en SQL Server 2005. El instalador requiere que se establezcan los grupos de nivel de dominio para las cuentas de servicio de SQL Server. Por supuesto, esto me hizo reflexionar de nuevo. Se pueden crear secuencias de comandos que invoquen CLUSTER.EXE para agregar el nodo a su clster Microsoft Cluster Server (MSCS). Lo nico que tiene que hacer es incluir el nombre del nodo en la secuencia de comandos y esta se encargar del resto. En una emergencia, la automatizacin es su mejor aliado.

Clsteres N + 1
A veces, el motivo de agregar un nodo a un clster no es la sustitucin de un nodo. Es posible que quiera agregar ms instancias de SQL Server al clster y cada una de ellas necesitar recursos de disco independientes. Aunque es posible ejecutar varias instancias en un solo nodo, todas compartirn la CPU y la RAM, y eso podra dar lugar a un rendimiento pobre. La situacin ideal es que en cada nodo se ejecute nicamente una instancia. Cmo se puede garantizar esto al realizar la conmutacin por error? Es sencillo: la respuesta es que un nodo no contiene servicios en ejecucin, mientras que cada uno del resto de los nodos ejecuta una instancia de SQL

http://www.microsoft.com/technet/technetmag/issues/2007/03/SQLClusters/default.aspx?loc=es/

18/12/2007

SQL Server: Los mejores consejos para el clster de SQL Server -- TechNet Magazine, March 2007

Pgina 2 de 5

Server. En realidad, esa es la definicin de un clster N + 1: N instancias que se ejecutan en N + 1 nodos. El nodo extra es la copia de seguridad.

Actualizacin de SQL Server


La actualizacin de una instancia en clster de SQL Server no est pensada para corazones dbiles. Est en clster por un motivo: necesita tiempo de actividad. No obstante, SQL Server 2005 ofrece varias mejoras que podr utilizar para continuar con el proceso de actualizacin sin demasiado tiempo de inactividad. Qu opciones tiene? Examinemos en primer lugar la solucin ms costosa: la creacin de un clster completamente nuevo, lo que implica servidores nuevos y, quizs, una red de rea de almacenamiento (SAN) tambin nueva. Lo ms probable es que pueda utilizar los conmutadores existentes de la red, pero eso es todo. Obviamente, este enfoque no resulta barato pero tiene sus ventajas. El nuevo hardware ofrece normalmente un rendimiento mucho mejor que el antiguo, gracias al aumento constante de la capacidad de disco y la velocidad. De esta forma, slo con el hardware nuevo conseguir un aumento considerable del rendimiento. Incluso puede que quiera alquilar su equipo para que siempre est a la ltima. Una vez que tenga el hardware necesario, podr crear su nuevo SQL Server virtual en esta instalacin, copiar sus bases de datos de produccin y, a continuacin, ejercitar el sistema nuevo, dejando el tiempo suficiente para eliminar los errores antes del momento del traslado. Slo tiene que asegurarse de incluir en secuencias de comandos los inicios de sesin del servidor existente. Consulte support.microsoft.com/kb/246133. Otra buena idea es actualizar su secuencia de comandos de compilacin de inicio de sesin, en caso de que se produzcan errores muy graves. Para minimizar el tiempo de inactividad, lo ms probable es que tenga que utilizar el trasvase de registros, a menos que sus bases de datos sean muy pequeas y disponga de un perodo de tiempo en el que no hay usuarios conectados. Puede trasvasar los registros hasta justo antes del traslado. A continuacin, expulse a los usuarios, corte y trasvase el registro final y, por ltimo, haga que la aplicacin seale a la nueva instancia. Revise la seccin siguiente sobre la creacin de reflejos de bases de datos para descubrir una alternativa interesante al trasvase de registros. Si utiliza alias DNS, probablemente no le haga falta que las aplicaciones sealen a la nueva instancia. En su lugar, solo tendr que actualizar el alias DNS. Este enfoque tiene la ventaja de que si ya ha realizado parte de la migracin y tiene que volver al original, al menos dispondr del original. Puede tomar una ruta menos costosa, pero que requiere ms planeacin por adelantado. Un clster puede admitir ms de una instancia de SQL Server, pero cada instancia debe tener sus propios recursos de disco. De modo que cuando est destripando su SAN, reserve un LUN para una actualizacin futura. Para realizar la actualizacin, instale los binarios de SQL Server en este recurso de disco. Puede ejercitar el sistema y, cuando est preparado, apague el SQL Server actual, traslade los recursos de disco del antiguo grupo SQL Server, actualice las dependencias y ponga en lnea la instancia nueva de SQL Server. Adjunte las bases de datos de la instancia antigua, y ya est. Ha realizado copias de seguridad de todo por adelantado, verdad? Este enfoque es el menos costoso y conlleva cierto riesgo. Si algo sale mal, no podr separar las bases de datos de la instancia nueva y volverlas a colocar. Slo podr restaurarlas a partir de copias de seguridad, y esto puede implicar un tiempo de inactividad considerable. Una alternativa es colocar dos instancias de SQL Server en su SAN, siempre que tenga espacio suficiente. Restaure las copias de seguridad de produccin (y el trasvase de registros) en la nueva instancia, y contine con el procedimiento que he descrito anteriormente. Sin embargo, ahora dispone de un comodn. Cuando termine la migracin, podr liberar los recursos de SAN de la instancia antigua. El costo ser nicamente el precio de los discos adicionales.

Equilibrio de carga
Empecemos por desacreditar un concepto errneo muy comn. Los clsteres de MSCS se utilizan para obtener una disponibilidad alta, pero no para equilibrar la carga. Adems, SQL Server no incluye ninguna capacidad automtica de equilibrio de carga. Tendr que equilibrar la carga mediante el diseo fsico de la aplicacin. Qu significa eso? Cuando una tabla aumenta de tamao, es lgico esperar que se produzca cierta reduccin en el rendimiento, especialmente cuando se llevan a cabo bsquedas en ella. Cuando alcanza los millones o los miles de millones de filas, la solucin tradicional ha sido utilizar vistas particionadas, que se confeccionan a partir de tablas con esquemas idnticos agrupadas mediante UNION ALL. Adems, se emplean restricciones CHECK para diferenciar las tablas miembro y, de esta forma, se evita la duplicacin de datos en la vista particionada. Si la columna que se utiliza en la restriccin CHECK forma tambin parte de la clave principal, la vista podr actualizarse. Si las tablas miembro se encuentran en sus propios grupos de archivos, puede que obtenga un mayor rendimiento del disco si los archivos de estos grupos se encuentran en unidades fsicas separadas. Las tablas pueden estar incluso en bases de datos separadas. Sin embargo, en SQL Server 2005, siempre que los datos se encuentren en la misma base de datos, podr utilizar la particin de tablas, que resulta mucho ms fcil de implementar. Pero supongamos que ha hecho todo lo que ha podido con la particin de tablas o con las vistas particionadas (locales) y el rendimiento sigue siendo bajo. Si tiene SQL Server 2000 o SQL Server 2005, puede utilizar las vistas particionadas distribuidas. La diferencia principal es que las tablas miembro pueden residir en instancias diferentes de SQL Server, y estas instancias se pueden instalar en un clster N + 1. Por qu es esta una buena idea? Si alguna tabla miembro pierde la conexin en una vista particionada, toda la vista se quedar sin conexin. Al incluir estos miembros como parte de un clster, dispondr de la confiabilidad que necesita para asumir los problemas de rendimiento y proporcionar equilibrio de carga.

Necesita realmente un clster?


Es posible que tenga algunos servidores de reserva sin utilizar y que ninguno aparezca en la seccin de clsteres de Windows Catalog. Es una lstima tener que salir a comprar nuevos servidores que admitan un clster cuando dispone de estos otros. La creacin de reflejos de bases de datos puede ser una alternativa atractiva al clster. La creacin de reflejos conlleva tres elementos: una instancia que alberga la base de datos reflejada se denomina "principal"; el servidor de copia de seguridad se denomina "reflejo", y, si desea que la conmutacin por error sea automtica, es necesario un tercer servidor, denominado "testigo". En resumen, una transaccin en una base de datos de la instancia principal se vuelve a ejecutar en el reflejo. Si la instancia principal se interrumpe, la base de datos puede conmutar por error en el reflejo, de manera automtica si tiene un testigo. Debe configurar la creacin de reflejos con cada una de las bases de datos de aplicaciones y no puede reflejar las bases de datos de sistema. El reflejo es una instancia separada de SQL Server, a diferencia de lo que ocurre con un clster, y su ubicacin puede encontrarse a miles de kilmetros. Sus cachs se llenan con la actividad de actualizacin que se produce como resultado de las transacciones duplicadas de la instancia principal. Por supuesto, d por sentado que la nica actividad del reflejo es la recepcin de las transacciones reflejadas de la instancia principal. La conmutacin por error es normalmente ms rpida que en un clster, puesto que SQL Server ya se ejecuta en el reflejo. Dado que las memorias cachs estn al menos parcialmente cebadas, el rendimiento inicial no es tan lento como podra serlo en un escenario de clsteres. Adems, tenga en cuenta que cuando una base de datos reflejada conmuta por error, las funciones de la instancia principal y del reflejo se invierten. La desventaja de la creacin de reflejos de bases de datos es que se necesita el doble de la capacidad total en disco que con un clster. Necesitar tambin una mayor potencia de CPU, si desea utilizar el modo sincrnico sin prdida de datos. A lo dicho, una disponibilidad alta no resulta barata.

Un enfoque combinado
Puesto que un reflejo puede encontrarse en una ubicacin bastante remota con respecto a la instancia principal, constituye una buena opcin para los planes de recuperacin de desastres (DR). Su clster puede ser la primera lnea de defensa pero, qu ocurre si utiliza tanto los clsteres como la creacin de reflejos? En una conmutacin por error de clsteres, si tiene un testigo como parte de la configuracin de creacin de reflejos, el reflejo se convertir en la instancia principal, mientras el servidor SQL Server en clster se conecta en lnea. Sin embargo, tenga en cuenta que la conmutacin por error de la nueva instancia principal no se realiza de manera automtica en el nuevo reflejo (en clster). En consecuencia, es mejor no permitir la conmutacin por error automtica en las bases de datos reflejadas cuando se utilicen junto con un clster. DR no es la nica razn por la que querr utilizar la creacin de reflejos; tambin es til si tiene que aplicar un Service Pack o una revisin a su instancia principal, en cuyo caso puede realizar manualmente la conmutacin por error en el reflejo. Al aplicar el Service Pack o la revisin, el servidor principal antiguo se queda sin conexin temporalmente y las transacciones realizadas que se producen en la nueva instancia principal se colocan en la cola, a la espera de ser devueltas al reflejo nuevo (instancia principal antigua). Una vez que se termina la instalacin del Service Pack o de la revisin, tendr lugar la sincronizacin y, al final, los dos servidores quedarn completamente sincronizados. Ahora, puede intercambiar las funciones de la instancia principal y el reflejo. El tiempo de inactividad ha abarcado nicamente los pocos segundos de llevar a cabo la conmutacin por error y por recuperacin. Puede utilizar este enfoque para migrar su SQL Server a otro equipo. Pero no realice la conmutacin por recuperacin.

Los servidores virtuales aportan flexibilidad.


La virtualizacin permite ejecutar uno o ms sistemas operativos al mismo tiempo en un nico servidor fsico. El software de virtualizacin aade otra capa de capacidades al concepto de clster porque permite agrupar el software. En consecuencia, si el servidor en el que se ejecuta el host presenta errores, entonces este, junto con sus SO invitados, conmutarn por error a un nodo de copia de seguridad. Esta podra ser una forma muy sencilla de migrar un servidor invitado. Adems, el SO invitado no necesita ser compatible con clsteres. De esta forma, podra ejecutar SQL Server Workgroup Edition en un sistema operativo Windows Server 2003 invitado, que se ejecute en un clster en Microsoft Virtual Server 2005. Indirectamente, lo que ha hecho es agrupar Workgroup Edition (consulte la figura 2).

Figura 2 Uso de un servidor virtual (Hacer clic en la

http://www.microsoft.com/technet/technetmag/issues/2007/03/SQLClusters/default.aspx?loc=es/

18/12/2007

SQL Server: Los mejores consejos para el clster de SQL Server -- TechNet Magazine, March 2007

Pgina 3 de 5

imagen para ampliarla)

Todo bajo control


Si es el encargado de una implementacin de SQL Server, necesita saber que el servidor siempre va a estar disponible. El clster de servidor ayuda a garantizar que sea as. En este artculo se ofrecen algunas sugerencias aprendidas con mucho trabajo para ayudarle a empezar. Encontrar ms informacin til en la barra lateral "Recursos sobre clster".

Recursos sobre clster


Para obtener ms informacin sobre los mtodos aqu utilizados y sobre los diversos productos que necesita para configurar su clster de SQL Server, consulte los siguientes recursos: SQL Server 2005 Failover Clustering (en ingls) SQL Server 2000 Failover Clustering (en ingls) Windows Server 2003 R2 Enterprise EditionCluster Server (en ingls) Microsoft Cluster Server Administrators Guide (en ingls) Microsoft Virtual Server 2005 R2 (en ingls)

Tom Moreaucuenta con una licenciatura y un doctorado y las certificaciones MCSE y MCDBA. Es consultor independiente especializado en la administracin, diseo e implementacin de bases de datos de SQL Server. Vive en Toronto, Canad. Tom lleva utilizando SQL Server desde 1993 y recibi el galardn MVP en 2001. Ha escrito ms de 100 artculos y es coautor de un libro sobre SQL Server. Gracias al MVP de SQL Server Geoff Hiten por su til aportacin. Extrado del March 2007 nmero de TechNet Magazine. Le agradecemos cualquier comentario. No dude en enviarnos su opinin.
Top of page 2006 Microsoft Corporation and CMP Media, LLC. Reservados todos los derechos; queda prohibida la reproduccin parcial o total sin previa autorizacin .

http://www.microsoft.com/technet/technetmag/issues/2007/03/SQLClusters/default.aspx?loc=es/

18/12/2007

Potrebbero piacerti anche