Поделиться через


Автоматическая установка и настройка (кэширование 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