Configuración de clúster basada en SQL Server (Almacenamiento en caché de Windows Server AppFabric)
Windows Server AppFabric proporciona la opción de usar una base de datos de SQL Server para almacenar las opciones de configuración del clúster. El Asistente para configuración de AppFabric prepara automáticamente la base de datos de destino para administrar la configuración del clúster. A continuación, AppFabric usa esta base de datos como punto de referencia principal para definir el clúster de caché, los hosts de caché y las memorias caché con nombre. Todos los servidores de caché del clúster deben tener acceso a la base de datos de configuración del clúster.
Para obtener más información acerca de la preparación de una base de datos de SQL Server para la ubicación de almacenamiento de la configuración del clúster, vea Windows Server AppFabric Installation Guide (https://go.microsoft.com/fwlink/?LinkId=169172) (puede estar en inglés).
Durante la configuración de las funciones de caché de AppFabric, tiene la opción de especificar una base de datos de SQL Server existente o hacer que el asistente cree automáticamente una nueva base de datos en el servidor SQL Server especificado. Todos los servidores de caché del clúster deben tener acceso a la base de datos de configuración del clúster.
Sugerencia |
---|
De forma predeterminada, el Servicio de almacenamiento en caché de AppFabric no se inicia automáticamente. En cambio, el servicio se debe iniciar mediante el comando Start-CacheCluster desde un símbolo del sistema de Windows Powershell administrativo. Sin embargo, cuando se usa SQL Server como almacén de configuración, puede cambiar el servicio en cada host de caché para que se inicie automáticamente. Para ello, modifique las propiedades del “Servicio de almacenamiento en caché de AppFabric” en la herramienta Administrador de servicios en cada servidor de caché para cambiar en automático el tipo de inicio.
|
Consideraciones sobre la disponibilidad
La ubicación de almacenamiento de la configuración del clúster puede ser un punto de error para el sistema de caché distribuido. Por esta razón, se recomienda tomar medidas para aumentar la disponibilidad de la base de datos de SQL Server que almacena las opciones de configuración del clúster. Una opción es usar Microsoft Windows Server 2008 Failover Clustering (https://go.microsoft.com/fwlink/?LinkId=130692) (puede estar en inglés) para hospedar un recurso de base de datos "en clúster", para la ubicación de almacenamiento de la configuración del clúster de caché.
Otra opción es usar la creación de reflejo de base de datos de SQL Server. Para obtener más información, vea Reflejo de bases de datos (https://msdn.microsoft.com/es-es/library/5h52hef8(VS.90).aspx). Tenga en cuenta que para usar la creación de reflejos en la base de datos, existen tres requisitos:
Agregue la propiedad Failover Partner a la cadena de conexión.
Agregue la cuenta de equipo a cada host de caché como inicio de sesión de SQL Server en el servidor asociado. Por ejemplo, si el nombre del equipo es
CacheServer1
en el dominioDomain1
, la cuenta de equipo esDomain1\CacheServer1$
. Esto se realiza de forma automática para el servidor SQL Server principal, pero debe realizarse manualmente para el servidor asociado de conmutación por error.Agregue la cuenta de equipo a cada host de caché como un usuario de la base de datos de configuración reflejada en el servidor asociado. Este usuario debe disponer de los permisos db_datareader y db_datawriter.
Si el clúster de caché ya está configurado, puede modificar la cadena de conexión manualmente mediante los comandos de Windows PowerShell. Use los pasos que se detallan a continuación en cada equipo de host de caché:
Abra una ventana de comandos de Windows PowerShell y ejecute el comando
Use-CacheCluster
.Ejecute los comandos
Remove-CacheHost
yRemove-CacheAdmin
.Ejecute el comando
Add-CacheHost
y especifique la nueva cadena de conexión con la propiedad Failover Partner. Por ejemplo:Add-CacheHost -Provider System.Data.SqlClient -ConnectionString "Data Source=SQLServer1;Initial Catalog=CacheClusterConfigurationDB;Integrated Security=True;Failover Partner=SQLServer2" -Account "NT Authority\Network Service"
Ejecute el comando
Add-CacheAdmin
y especifique la nueva cadena de conexión con la propiedad Failover Partner. Por ejemplo:Add-CacheAdmin -Provider System.Data.SqlClient -ConnectionString "Data Source=SQLServer1;Initial Catalog=CacheClusterConfigurationDB;Integrated Security=True;Failover Partner=SQLServer2"
Sugerencia |
---|
Puede descargar un script, ChangeConnString.ps1, para automatizar cambios de la cadena de conexión en todos los hosts de caché. Para obtener más información, vea Descarga de ChangeConnString.ps1. |
Nota
El administrador de clústeres de caché debe contar con el permiso db_owner en la base de datos de almacenes de configuración de clúster de caché con el fin de ejecutar comandos de almacenamiento en caché en Windows PowerShell tras una conmutación por error.
Permisos
Todos los hosts de caché deben tener permisos de inicio de sesión en el servidor de base de datos que hospeda la base de datos de configuración del clúster. Además, esta última debe tener configurada sus opciones de seguridad de modo que cada servidor de caché tenga un inicio de sesión de SQL Server y permisos db_datareader, db_datawriter y EXECUTE para la base de datos.
Nota
El programa de instalación intentará configurar automáticamente los permisos. Tenga en cuenta que la identidad de seguridad de la persona que realiza la instalación debe tener permisos db_owner en la base de datos de SQL Server y un inicio de sesión en SQL Server a la instancia de SQL Server.
Si crea un grupo de seguridad de Windows para administrar el acceso a la base de datos de configuración de caché, solo debe configurar una vez los permisos de base de datos e inicio de sesión de SQL Server. Por ejemplo, puede configurar un grupo de seguridad de Windows denominado ClusterACacheServers
para indicar los servidores de caché que tienen permiso para formar parte del clúster de caché ClusterA
.
Una vez que haya creado el grupo de seguridad ClusterACacheServers
, conceda a las cuentas del equipo del dominio de los servidores de caché correspondientes la condición de miembro para este grupo (por ejemplo, domain\computername$
). A continuación, conceda al grupo de seguridad un inicio de sesión de ClusterACacheServers
SQL Server y permisos db_datawriter, db_datareader y EXECUTE para la base de datos. Una vez que tenga esto configurado, cada vez que agregue un servidor al clúster de caché, solo tendrá que agregar al grupo de seguridad la cuenta del equipo del dominio del nuevo servidor.
Estructura de la base de datos
La primera vez que configure las funciones de caché de AppFabric con la opción de configuración basada en SQL, la herramienta de configuración crea numerosas tablas en la base de datos especificada. También se agregan algunos procedimientos almacenados para las operaciones internas del clúster.
Nota
Los datos de la base de datos de configuración del clúster no están concebidos para su edición manual. Para ayudar a garantizar un funcionamiento continuado del clúster, solo los hosts de caché y el programa de instalación deben escribir en la base de datos.
Seguridad de la base de datos
El uso de contraseñas en cadenas de conexión supone un riesgo para la seguridad y debe evitarse en la medida de lo posible. Las cadenas de conexión se almacenan en texto no cifrado en el archivo de configuración del host de caché en cada servidor de caché, en DistributedCacheService.exe.config. Para minimizar estos riesgos, use la seguridad integrada para establecer una conexión de confianza con SQL Server. Si usa esta estrategia, no tendrá que almacenar una contraseña en la cadena de conexión. En ausencia de seguridad integrada, se necesitará una contraseña en texto no cifrado en la cadena de conexión. El mejor modo de ayudar a proteger la cadena de conexión es el siguiente, por orden creciente de riesgo:
Usar la seguridad integrada.
Proteger las cadenas de conexión con contraseñas y minimizar la transferencia de cadenas de conexión.
Minimizar la vida útil y los puntos de contacto para todas las cadenas de conexión.
Conexiones de la base de datos
Si usa una base de datos SQL Server 2005 o posterior para almacenar las opciones de configuración del clúster, asegúrese de que el servidor esté configurado para permitir suficientes conexiones simultáneas con el fin de acomodar todos los hosts de caché del clúster. No se permite que el número de hosts de caché del clúster supere la cantidad de conexiones simultáneas disponibles.
El servidor puede configurarse para no tener límites en las conexiones simultáneas, pero el administrador de base de datos también puede configurar esta opción en un valor muy bajo por razones administrativas o de otra índole. En tales casos, asegúrese de que el servidor admita conexiones adicionales antes de agregar hosts de caché al clúster de caché.
Vea también
Conceptos
Configuración de clúster basada en carpeta compartida (Almacenamiento en caché de Windows Server AppFabric)
Valores de configuración de clúster (Almacenamiento en caché de Windows Server AppFabric)
Opciones de configuración de clientes (Almacenamiento en caché de Windows Server AppFabric)
Configuración del clúster de caché (Almacenamiento en caché de Windows Server AppFabric)
Desarrollo de un cliente de caché (Almacenamiento en caché de Windows Server AppFabric)
2011-12-05