Автоматическая установка и настройка (кэширование Windows Server AppFabric)
В этом разделе описываются шаги по автоматической установке и настройке функций кэширования Windows Server AppFabric. При автоматической установке пользовательский интерфейс не отображается, так как все параметры указываются в командной строке. Для добавления узла кэша в кластер или удаления узла используется особая последовательность команд. В этом разделе описаны команды для обоих случаев. Обратите внимание на то, что настройка функций кэширования может выполняться с помощью мастера настройки AppFabric через пользовательский интерфейс. Дополнительные сведения о мастере настройки AppFabric см. в разделе Настройка Windows Server AppFabric.
В этом разделе действия по автоматический установке разделены на пять этапов:
Установка компонентов кэширования Windows Server AppFabric
Создание нового кластера кэша
Добавление узла кэша
Удаление узла кэша
Удаление кластера кэша
Скрипты PowerShell, автоматизирующие эти шаги, приведены в следующих примерах:
Совет
Основные сведения о запуске и выполнении команд Windows PowerShell см. в разделе Использование Windows PowerShell для управления компонентами кэширования в Windows Server AppFabric.
Совет
Несмотря на то, что следующие команды необходимо запускать локально на целевом узле кэша, Windows PowerShell поддерживает запуск команд на удаленных машинах. Дополнительные сведения см. в разделе Выполнение удаленных команд
Установка компонентов кэширования Windows Server AppFabric
Перед созданием нового кластера кэша или настройкой кэширования AppFabric в узле кэша следует вначале установить компоненты кэширования Windows Server AppFabric. Указания по автоматической установке AppFabric см. в разделе Автоматическая установка. В число функций кэширования входят следующие:
CachingService
CacheClient
CacheAdmin
Например, предположим, что двоичный файл установки называется Setup.exe. Обратите внимание на то, что имя файла в реальности будет зависеть от выбранной платформы. В следующем примере демонстрируется автоматическая установка компонентов кэширования AppFabric на сервер.
Setup.exe /install /i cachingservice,cacheclient,cacheadmin /l:c:\temp\setup.log
В этом примере файл журнала направляется в папку c:\temp\setup.log. Этот файл журнала можно изучить, чтобы просмотреть результаты установки.
После установки AppFabric функций кэширования на компьютере их необходимо настроить. В следующих разделах описываются действия, необходимые для автоматизации этого процесса.
Создание нового кластера кэша
При создании нового кластера кэша следует вначале вызвать команду Windows PowerShell New-CacheCluster
. При создании нового кластера следует определить место хранения параметров конфигурации кластера. Для этого можно использовать поставщик System.Data.SqlClient, поставщик XML или настраиваемый поставщик. Дополнительные сведения см. в разделе Модель конфигурации.
В следующем примере будет создан небольшой кластер кэша. Он хранит параметры конфигурации на компьютере SQL Server с именем SQLServer1
в существующей базе данных с именем CacheClusterConfigurationDB
.
New-CacheCluster -Provider System.Data.SqlClient -ConnectionString "Data Source=SQLServer1;Initial Catalog=CacheClusterConfigurationDB;Integrated Security=True" -Size Small
Примечание
Обратите внимание на то, что при использовании базы данных SQL Server для повышения доступности кластера кэша необходимо указать партнера по обработке отказа в строке подключения. Дополнительные сведения см. в разделе Конфигурация кластера на основе SQL Server.
В следующем примере будет создан крупный кластер кэша. Он хранит параметры конфигурации в XML-файле на общем ресурсе с именем \\Server1\CacheConfigShare
.
New-CacheCluster -Provider XML -ConnectionString "\\Server1\CacheConfigShare" -Size Large
В обоих случаях вызывающий пользователь должен иметь соответствующие разрешения на доступ к расположению хранилища конфигурации. Для объекта System.Data.SqlClient вызывающий пользователь должен иметь права db_owner на целевую базу данных или входить в роль sysadmin экземпляра SQL Server. Для XML вызывающий пользователь должен иметь разрешения владельца на общую папку.
Добавление узла кэша
Чтобы добавить узел кэша к существующему кластеру кэша, следует выполнить следующие действия в указанном порядке:
Команда/шаг | Описание |
---|---|
Register-CacheHost |
Регистрация узла кэша в кластере. |
Add-CacheHost |
Настройка узла кэша для включения в состав кластера. |
Add-CacheAdmin |
Необязательная настройка администрирования кэша в текущем узле. |
Настройка брандмауэра |
Разрешение работы службы AppFabricCachingService через брандмауэр. Разрешение удаленного управления службами. |
Start-CacheHost |
Запуск нового узла кэша. |
Register-CacheHost
Команда Register-CacheHost
используется для регистрации узла кэша в существующем кластере кэша. Для этого необходимо указать номера портов и учетную запись Windows для службы кэширования. Параметры Provider
и ConnectionString
указывают целевой кластер кэша для нового узла.
В следующем примере компьютер узла кэша CacheServer1
добавляется в кластер кэша, хранилище конфигурации которого расположено в XML-файле общего ресурса \\Server1\CacheConfigShare
. Встроенная учетная запись NT Authority\Network Service
указывается для удостоверения службы кэширования.
Register-CacheHost -Provider XML -ConnectionString "\\Server1\CacheConfigShare" -Account "NT Authority\Network Service" -CachePort 22233 -ClusterPort 22234 -ArbitrationPort 22235 -ReplicationPort 22236 -HostName CacheServer1
Обратите внимание на то, что для поставщика XML вызывающий пользователь должен иметь полный контроль над целевым общим ресурсом. Для поставщика System.Data.SqlClient вызывающий пользователь должен иметь разрешения на чтение, запись и создание имен пользователя SQL, а также на добавление разрешений в целевую базу данных.
В отличие от других команд конфигурации команда Register-CacheHost
принимает параметр HostName
, поэтому ее можно запускать удаленно.
Add-CacheHost
Команда Add-CacheHost
настраивает узел кэша, чтобы включить его в состав существующего кластера. Параметры Provider
и ConnectionString
указывают целевой кластер кэша для нового узла.
В следующем примере демонстрируется вызов Add-CacheHost
.
Add-CacheHost -Provider XML -ConnectionString "\\Server1\CacheConfigShare" -Account "NT Authority\Network Service"
Обратите внимание, что эту команду следует запустить локально на настраиваемом узле кэша. Кроме того, эти команды должны выполняться из сеанса PowerShell с привилегиями, повышенными до административных.
Предупреждение
Для параметра Account
команды Add-CacheHost
необходимо указать значение. Если учетная запись не указана, то разрешения службы кэширования будут настроены некорректно. Обратите внимание, что в доменной среде со включенными функциями безопасности следует использовать учетную запись NT Autority\Network Service
.
Add-CacheAdmin
Для необязательной настройки функции администрирования кэша на узле можно использовать команду Add-CacheAdmin
. Это позволяет администрировать кластер кэша с этого компьютера с помощью команд Windows PowerShell. Функция администрирования кэша должна быть установлена.
В следующем примере демонстрируется вызов Add-CacheAdmin
.
Add-CacheAdmin -Provider XML -ConnectionString "\\Server1\CacheConfigShare"
Обратите внимание, что эту команду следует запустить локально на настраиваемом узле кэша. Кроме того, эти команды должны выполняться из сеанса PowerShell с привилегиями, повышенными до административных.
Настройка брандмауэра
Чтобы корректно использовать функции кэширования AppFabric, следует выполнить их настройку для службы DistributedCacheService.exe. По умолчанию эта служба устанавливается в каталог C:\Windows\System32\AppFabric.
При использовании брандмауэра Windows можно включить группу политик брандмауэра, которая автоматически устанавливается вместе с AppFabric. Следующие команды Windows Powershell включают политику брандмауэра с именем «Windows Server AppFabric: служба кэша AppFabric». Следует также включить правила брандмауэра «Удаленное управление службами», чтобы разрешить удаленное управление службой кэширования AppFabric.
netsh advfirewall firewall set rule group="Windows Server AppFabric: AppFabric Caching Service" new enable=Yes
netsh advfirewall firewall set rule name="Remote Service Management (RPC)" profile=domain new enable=Yes
netsh advfirewall firewall set rule name="Remote Service Management (RPC-EPMAP)" profile=domain new enable=Yes
netsh advfirewall firewall set rule name="Remote Service Management (NP-In)" profile=domain new enable=Yes
Start-CacheHost
Чтобы разрешить участие нового узла кэша в кластере кэша, следует запустить узел. Если кластер кэша не работает, следует запустить весь кластер целиком. Кластер кэша не работает, если не работает ни один из его узлов. Для определения работоспособности вызовите команду Get-CacheHost
без параметров.
Get-CacheHost
Если состояние обслуживания всех узлов равно DOWN
, запустите кластер с помощью команды Start-CacheCluster
.
Start-CacheCluster
Если состояние обслуживания минимум одного узла равно UP
, то кластер работает. В этом случае используйте команду Start-CacheHost
.
Start-CacheHost -Hostname CacheServer2 -CachePort 22233
Обратите внимание на то, что после перезагрузки компьютера узла служба кэширования не запускается автоматически. В зависимости от состояния кластера кэша можно использовать команды Start-CacheHost
или Start-CacheCluster
.
Кроме того, эти команды должны выполняться из сеанса PowerShell с привилегиями, повышенными до административных.
Предупреждение
Для запуска и остановки службы кэширования всегда следует использовать команды Windows PowerShell. Никогда не запускайте и не останавливайте службу AppFabricCachingService напрямую из программы Службы средств администрирования.
Удаление узла кэша
Чтобы удалить узел кэша из кластера кэша, следует выполнить следующие действия в указанном порядке:
Команда/шаг | Описание |
---|---|
Stop-CacheHost |
Остановка узла кэша (если он запущен). |
Unregister-CacheHost |
Отмена регистрации узла кэша в кластере. |
Remove-CacheHost |
Удаление конфигурации узла с компьютера. |
Remove-CacheAdmin |
При необходимости удалите конфигурацию функции администрирования кэша. |
Настройка брандмауэра |
Удалите все исключения брандмауэра для службы кэширования. |
Stop-CacheHost
Чтобы удалить узел кэша из существующего кластера, следует вначале остановить узел. Чтобы определить, запущен ли узел кэша, вызовите команду Get-CacheHost
. В следующем примере демонстрируется способ просмотра информации узла кэша для локального узла.
Get-CacheHost -HostName localhost -CachePort 22233
Несмотря на то, что предыдущая команда предоставляет сведения об определенном узле, следует всегда учитывать состояние всего кластера перед остановкой любого из узлов. Для этого вызовите команду Get-CacheHost
без параметров.
Get-CacheHost
Ниже приведен пример результатов выполнения этой команды для кластера кэша и двух серверов.
HostName : CachePort Service Name Service Status Version Info
-------------------- ------------ -------------- ------------
CacheServer1:22233 AppFabricCachingService UP 1 [1,1][1,1]
CacheServer2:22233 AppFabricCachingService UP 1 [1,1][1,1]
В этом примере запущены серверы CacheServer1
и CacheServer2
. Можно попытаться остановить один из узлов кэша, причем кластер кэша останется в рабочем состоянии за счет другого узла кэша. В следующем примере демонстрируется остановка CacheServer2
с помощью команды Stop-CacheHost
.
Stop-CacheHost -HostName CacheServer2 -CachePort 22233
Обратите внимание на то, что все данные, кэшированные в остановленном кэше, будут утеряны. Кроме того, попытка остановки кэша завершится с ошибкой, если будет отсутствовать кворум для ведущих или дополнительных узлов. Дополнительные сведения о ведущих узлах см. в разделе Ведущие узлы и управление кластером. Дополнительные сведения о дополнительных узлах см. в разделе Высокий уровень доступности. В таких случаях необходимо остановить весь кластер с помощью команды Stop-CacheCluster
.
Если остановка узла кэша выполняется для остановки кластера, используйте команду Stop-CacheCluster
. Например, рассмотрим следующие выходные данные команды Get-CacheHost
.
HostName : CachePort Service Name Service Status Version Info
-------------------- ------------ -------------- ------------
CacheServer1:22233 AppFabricCachingService DOWN 1 [1,1][1,1]
CacheServer2:22233 AppFabricCachingService UP 1 [1,1][1,1]
В этом примере останавливается сервер CacheServer1
, а сервер CacheServer2
остается в рабочем состоянии. Остановка CacheServer2
приведет к остановке кластера. Вместо использования команды Stop-CacheHost
для остановки CacheServer2
следует использовать команду Stop-CacheCluster
.
Stop-CacheCluster
Эти команды должны выполняться из сеанса PowerShell с привилегиями, повышенными до административных.
Unregister-CacheHost
Команда Unregister-CacheHost
удаляет узел кэша из кластера.
Если эта команда выполняется перед командой Remove-CacheHost
, то указание значений для параметров Provider
и ConnectionString
не требуется. Если команда выполняется локально, то указание значений для параметра HostName
не требуется.
Unregister-CacheHost -RemoveServicePermissions
В следующем примере регистрация узла кэша отменяется путем указания поставщика, строки подключения и имени узла. При этом узел кэша с именем CacheServer2
удаляется из кластера. Этот кластер использует поставщик System.Data.SqlClient, поэтому строка подключения является строкой подключения SQL Server к серверу баз данных с именем SQLServer1
и базе данных конфигурации с именем CacheClusterConfigurationDB
.
Unregister-CacheHost -Provider System.Data.SqlClient -ConnectionString "Data Source=SQLServer1;Initial Catalog=CacheClusterConfigurationDB;Integrated Security=True" + -HostName CacheServer2 -RemoveServicePermissions
Обратите внимание на то, что для поставщика XML вызывающий пользователь должен иметь полный контроль над целевым общим ресурсом. Для поставщика System.Data.SqlClient вызывающий пользователь должен иметь разрешения на чтение, запись и удаление имен пользователя SQL, а также на удаление разрешений из целевой базы данных.
В отличие от других команд конфигурации команда Unregister-CacheHost
принимает параметр HostName
, поэтому ее можно запускать удаленно.
Remove-CacheHost
Команда Remove-CacheHost
удаляет конфигурацию узла кэша с сервера.
Remove-CacheHost
Обратите внимание, что эту команду следует запустить локально на настраиваемом узле кэша. Кроме того, эти команды должны выполняться из сеанса PowerShell с учетными данными администратора.
Remove-CacheAdmin
Если функция администрирования кэша настроена на узле кэша, то ее можно удалить с помощью команды Remove-CacheAdmin
.
Remove-CacheAdmin
Обратите внимание, что эту команду следует запустить локально на настраиваемом узле кэша. Кроме того, эти команды должны выполняться из сеанса PowerShell с учетными данными администратора.
Настройка брандмауэра
Удалите или отключите исключения в брандмауэре для службы кэширования DistributedCacheService.exe. При использовании брандмауэра Windows ранее была включена установленная группа брандмауэра «Windows Server AppFabric: служба кэша AppFabric». В этом случае можно отключить эту группу политики с помощью следующих команд PowerShell. Если ранее были включены правила «Удаленное управление службами», то их также следует отключить. При этом правила «Удаленное управление службами» могут быть включены другими службами или приложениями. В этом случае не следует отключать правила «Удаленное управление службами».
netsh advfirewall firewall set rule group="Windows Server AppFabric: AppFabric Caching Service" new enable=No
netsh advfirewall firewall set rule name="Remote Service Management (RPC)" profile=domain new enable=No
netsh advfirewall firewall set rule name="Remote Service Management (RPC-EPMAP)" profile=domain new enable=No
netsh advfirewall firewall set rule name="Remote Service Management (NP-In)" profile=domain new enable=No
Удаление кластера кэша
Если итоговый узел кэша удален из кластера, можно также выбрать хранилище конфигурации кластера кэша. Для этого используйте команду Remove-CacheCluster
. Если кластер кэша использует поставщик XML, то эта команда удаляет XML-файл, который содержит параметры конфигурации. Если кластер кэша использует поставщик System.Data.SqlClient, то эта команда удаляет таблицы в указанной базе данных. Обратите внимание на то, что общий ресурс и база данных не удаляются.
Remove_CacheCluster -Provider System.Data.SqlClient -ConnectionString "Data Source=SQLServer1;Initial Catalog=CacheClusterConfigurationDB;Integrated Security=True"
См. также
Основные понятия
Развертывание и настройка компонентов кэширования Windows Server AppFabric
2011-12-05