Конфигурация кластера на основе SQL Server (кэширование в Windows Server AppFabric)

Windows Server AppFabric предоставляет возможность для использования базы данных SQL Server для хранения параметров конфигурации кластера. Мастер настройки AppFabric автоматически подготавливает целевую базу данных для управления конфигурацией кластера. После этого AppFabric использует эту базу данных в качестве основной исходной точки для задания кластера кэша, узлов кэша и именованных кэшей. Все серверы кэша в кластере должны иметь доступ к базе данных конфигурации кластера.

Дополнительные сведения о подготовке базы данных SQL Server для хранения конфигурации кластера см. в документе Руководство по установке Windows Server AppFabric (https://go.microsoft.com/fwlink/?LinkId=169172) (документ может быть на английском языке).

Во время настройки компонентов кэширования AppFabric можно указать существующую базу данных SQL Server или с помощью мастера создать новую базу данных на указанном сервере SQL Server. Все серверы кэша в кластере должны иметь доступ к базе данных конфигурации кластера.

Совет

По умолчанию служба кэша AppFabric не запускается автоматически. Эту службу необходимо запускать с помощью команды Start-CacheCluster в административной командной строке Windows Powershell. Однако если для хранилища конфигурации используется SQL Server, можно задать автоматический запуск этой службы в каждом узле кэша. Это можно сделать, изменив свойства службы кэша AppFabric в средстве администрирования служб на каждом сервере кэширования и установив автоматический тип запуска.

Особенности доступности

Расположение хранения конфигурации кластера может быть единой точкой отказа для системы распределенного кэша. По этой причине рекомендуется предпринять действия по повышению доступности базы данных SQL Server, в которой хранятся параметры конфигурации кластера. Один вариант включает использование средства отказоустойчивости кластеров Microsoft Windows Server 2008 (https://go.microsoft.com/fwlink/?LinkId=130692) для размещения «кластеризованной» базы данных, предназначенной для хранения данных конфигурации кластера кэша.

Другой вариант состоит в использовании зеркального отображения базы данных SQL Server. Дополнительные сведения см. в статье Использование зеркального отображения базы данных (https://go.microsoft.com/fwlink/?LinkId=190691). Обратите внимание, что для использования зеркального отображения баз данных есть три требования:

  • Добавление свойства Failover Partner в строку подключения.

  • Добавление учетной записи компьютера для каждого узла кэша в качестве учетной записи входа SQL Server на сервере-партнере. Например, для компьютера CacheServer1 в домене Domain1 учетная запись компьютера — это Domain1\CacheServer1$. Это автоматически выполняется для основного сервера SQL Server, но для сервера-партнера по отработке отказа это следует сделать вручную.

  • Добавление учетной записи компьютера для каждого узла кэша в качестве пользователя отзеркалированной базы данных конфигурации на сервере-партнере. У пользователя при этом должны быть разрешения db_datareader и db_datawriter.

Если кластер кэша уже настроен, можно поменять строку подключения вручную с помощью команд Windows PowerShell. Выполните следующие действия на всех узлах кэша:

  1. Откройте командное окно Windows PowerShell и выполните команду Use-CacheCluster.

  2. Выполните команды Remove-CacheHost и Remove-CacheAdmin.

  3. Выполните команду Add-CacheHost, указав новую строку подключения с помощью свойства Failover Partner. Пример:

    Add-CacheHost -Provider System.Data.SqlClient -ConnectionString "Data Source=SQLServer1;Initial Catalog=CacheClusterConfigurationDB;Integrated Security=True;Failover Partner=SQLServer2"  -Account "NT Authority\Network Service"
    
  4. Выполните команду Add-CacheAdmin, указав новую строку подключения с помощью свойства Failover Partner. Пример:

    Add-CacheAdmin -Provider System.Data.SqlClient -ConnectionString "Data Source=SQLServer1;Initial Catalog=CacheClusterConfigurationDB;Integrated Security=True;Failover Partner=SQLServer2"
    

Совет

Можно загрузить сценарий ChangeConnString.ps1, автоматизирующий изменение строки подключения на всех узлах кэша. Дополнительные сведения см. в разделе Загрузка ChangeConnString.ps1.

Примечание

Администратор кластера кэша должен располагать разрешениями db_owner в базе данных хранилища конфигурации кластера кэша, чтобы иметь возможность выполнения команд кэширования в Windows PowerShell после отработки отказа.

Разрешения

Все узлы кэша должны иметь разрешения на вход на сервер базы данных, на котором размещается база данных конфигурации кластера. Параметры безопасности базы данных конфигурации кластера должны быть настроены таким образом, чтобы каждый сервер кэша имел имя для входа SQL Server и разрешения db_datareader, db_datawriter и EXECUTE для этой базы данных.

Примечание

Программа установки пытается настроить эти разрешения автоматически. Обратите внимание на то, что объект безопасности лица, выполняющего установку, должен иметь разрешения db_owner для базы данных SQL Server и имя для входа SQL Server для экземпляра SQL Server.

Если создать группу безопасности Windows для управления доступом к базе данных конфигурации кэша, необходимо только единовременно настроить имя для входа SQL Server и разрешения базы данных. Например, можно создать группу безопасности Windows с именем ClusterACacheServers, чтобы обозначить серверы кэша, обладающие разрешениями на присоединение к кластеру кэша ClusterA.

После создания группы безопасности ClusterACacheServers предоставьте учетным записям компьютеров в домене на соответствующих серверах кэша членство в ней (например, domain\computername$). После этого назначьте группе безопасности ClusterACacheServers имя для входа SQL Server и разрешения db_datawriter, db_datareader и EXECUTE для базы данных. После выполнения этой настройки при каждом добавлении сервера в кластер кэша необходимо только добавить в группу безопасности учетную запись компьютера в домене для нового сервера.

Структура базы данных

При первой настройке компонентов кэширования AppFabric с использованием конфигурации на базе SQL Server средство настройки создает в указанной базе данных много таблиц. Кроме того, для внутренних операций кластера добавляется несколько хранимых процедур.

Примечание

Эти данные в базе данных конфигурации кластера не предназначены для ручного изменения. Чтобы обеспечить непрерывную работу кластера, запись в базу данных должны осуществлять только узлы кэша и программа установки.

Безопасность базы данных

Использование паролей в строках подключения создает угрозу безопасности, поэтому его следует по возможности избегать. Строки подключения хранятся в виде простого текста в файле конфигурации узла кэша на каждом сервере кэша — DistributedCacheService.exe.config. Чтобы минимизировать такие угрозы, используйте встроенную безопасность для создания доверительного соединения с SQL Server. При использовании такого подхода не требуется хранить пароль в строке подключения. При отсутствии встроенной безопасности в строке подключения необходимо указывать пароль в виде простого текста. Ниже перечислены лучшие способы защиты строки подключения в порядке возрастания угрозы:

  1. Использование встроенной безопасности.

  2. Защита строк подключения с помощью паролей и минимизация операций по передаче строк подключения.

  3. Минимизация срока действия и точек касания для всех строк подключения.

Подключения к базе данных

При использовании базы данных SQL Server 2005 или более поздней версии для хранения параметров конфигурации кластера убедитесь, что настройка сервера допускает достаточное количество одновременных подключений для работы всех узлов кэша в кластере. Режим работы, когда число узлов кэша в кластере превышает число доступных одновременных подключение, не поддерживается.

Сервер может быть настроен на отсутствие ограничений одновременных подключений, но администратор базы данных может также настроить для данного параметра очень низкое значение для выполнения администрирования или в других целях. В таких случаях перед добавлением узлов кэша в кластер кэша убедитесь, что сервер поддерживает дополнительные подключения.

См. также

Основные понятия

Конфигурация кластера на основе общих папок (кэширование в Windows Server AppFabric)
Параметры конфигурации кластера (кэширование в Windows Server AppFabric)
Параметры конфигурации клиента (кэширование в Windows Server AppFabric)
Настройка кластера кэша (кэширование в Windows Server AppFabric)
Разработка клиента кэша (кэширование в Windows Server AppFabric)

  2011-12-05