Table of Contents
- Introduction
- How is AppFabric leveraged in the context of SharePoint 2013?
- What Is Distributed Cache Service?
- Things to Remember
- Configuring Distributed Cache Service
- Start and Stop the Distributed Cache service
- Getting Started with Distributed Cache
- Check and Change The Memory Allocated To Distributed Cache
- See Also
Introduction
Windows Server AppFabric extends Windows Server to provide enhanced hosting, management, and caching capabilities for Web applications and middle-tier services. It consists of two main feature areas: AppFabric Hosting and AppFabric
Caching.
AppFabric Hosting features provide an easy way for users to deploy and manage Windows Workflow Foundation (WF) workflows that are hosted in Windows
Communication Foundation (WCF) services. AppFabric includes an extension of the Internet Information Services management tool that enables an IIS administrator to monitor the performance of services and workflows. There is also a set of Windows PowerShell
commands to manage persistence, hosting, and monitoring tasks.
The AppFabric caching features add a distributed, in-memory object cache to Windows Server that makes it easier to scale out high-performance .NET applications, especially ASP.NET applications.
Windows Server AppFabric is installed as a prerequisite for SharePoint 2013. AppFabric is installed as an extension to the Windows Server Application
Server Role and consist of two main components:
- Distributed caching – Previously codename Velocity
- Service and workflow management
How is AppFabric leveraged in the context of SharePoint 2013?
- What is AppFabric distributed caching and how does it work?
AppFabric 1.1 for Windows Server Caching features uses a cluster of servers that communicate with each other to form a single, unified application cache system. As a distributed cache system, all cache operations are abstracted
to a single point of reference, referred to as the cache cluster. In other words, your client applications can work with a single logical unit of cache in the cluster regardless of how many computers make up the cache cluster.The value is stored in the HKEY_LOCAL_MACHINESOFTWAREMicrosoftAppFabricV1.0Configuration in the registry.
-
AppFabric implements the caching methodology by using a cache cluster containing a number of caching servers. This cache cluster automatically handles the complexity of load balancing, scaling and failover. Each
one of the servers in the cache cluster has AppFabric installed and is running an instance of the AppFabric Caching Service. As an addition to storing data in the cache cluster, AppFabric Caching Service also has the ability to store data in a local cache
on the server. This can be used to provide faster access to certain data which can be configured to automatically synchronize with cached items in the cache cluster.When a cached item is being requested the local cache is checked first (if it is being used). If the item is found it is returned to the client. If the item does not exist the query is sent to the cache cluster and returned if it exists. This interaction with
the caching service is transparent to the client which only sees the cluster and local cache as a single entity. This way the client does not have to worry about which server the caching is stored on.All data in the cache cluster is stored in memory on the cache servers. By default, the data is stored in the memory on only one server in the cache cluster. By enabling the high-availability
option in the AppFabric Caching Services a second copy of each cached item is created on another server in the cache cluster. The first cached item is called the primary item and the second copy is the secondary item. In case a server in the cache cluster
becomes unavailable the data is available on one of the other servers. The secondary item is then promoted to the primary item and a new secondary item is created on another server in the cluster. - How does SharePoint 2013 utilize AppFabric distributed caching?
The distributed caching is used by SharePoint 2013 for caching social elements and FedAuth tokens. Every time a user accesses a front end server the user needs to be authenticated which can become an issue when using
multiple front end servers. In SharePoint 2010 this was handled by enabling load balancing affinity (Sticky Sessions) to ensure that the user stayed on the same front end server. By caching the FedAuth token in the distributed cache it is no longer necessary
to enable sticky session since the authentication token is now available from all front end servers through the cache cluster.Prerequisite: Windows Server AppFabric cache service.
In SharePoint 2010 and previous versions of SharePoint, authentication happened at the server level within Internet Information Services (IIS). The
authentication cookie was tied to the server (often as a session cookie) and if you jumped to a new server you had to log in again. In a load balanced environment, this required “sticky sessions” where the load balancer had to remember where it had sent you
previously within the same session so that you didn’t have to log in again. All of your SharePoint requests had to go to that server (images, pages, etc.) instead of being actively load balanced.SharePoint takes advantage of this service in quite a few ways, specifically through user profiles and authentication.
- For user profiles, it enables everything to be “in sync” and have minimal visible
POSTs back to the server. Instead, the browser POSTs to the distributed cache and returns quickly because the distributed cache is resident in server memory. The data doesn’t have to be persisted to the database. Behind the scenes, a process
is doing the persistence from the distributed cache to the database, but the browser does not have to wait for it. This drastically improves responsiveness. -
For authentication, it means that the authentication information exists above the IIS Cache level (see diagram). So you can move from server to server with ease without
being redirected to the login page. This allows your load balancers to actively balance the load of all requests. So you could get the page you requested from server A, but all of the images may come from server B. The end result is faster response and a healthier,
more balanced SharePoint farm. It makes login easier and allows load balancing to be more robust. Additionally, we get another level of cache that’s farm-wide aside from the Hierarchical Object Store that you can use.
- For user profiles, it enables everything to be “in sync” and have minimal visible
What Is Distributed Cache Service?
Distributed Cache Service is a customized version of Windows App Fabric (code-named Velocity) deployed in SharePoint 2013.
The Distributed Cache service provides caching functionality to features (not to be confused with site features) in SharePoint Server 2013. The Distributed Cache service is either required by or improves the performance of the following features:
- Authentication
- Newsfeeds
- OneNote client access
- Security Trimming
- Page load performance
Any server in the farm running the Distributed Cache service is known as a
cache host. A cache cluster is a group of all cache hosts in a SharePoint Server 2013 farm. A cache host joins a cache cluster when a new application server running the Distributed Cache service is added to the farm. When using
a cache cluster, the Distributed Cache spans all application servers and creates one cache in the server farm. The total cache size is the sum of the memory allocated to the Distributed Cache service on each of the cache hosts.
Things to Remember
- In a SharePoint Server 2013 farm, there must be at least one cache host running the Distributed Cache service.
- The Distributed Cache service’s memory allocation for the cache size is set to a default value of 10 percent of total physical memory when SharePoint Server 2013 installs. The Distributed Cache service
uses half of that memory allocation for data storage (also known as cache size), and the other half of that memory allocation is used for memory management overhead. When the cached data grows, the Distributed Cache service uses the entire 10 percent of the
allocated memory. - The Distributed Cache service can be assigned a maximum of 16GB of memory per cache host in the cache cluster.
- The maximum number of hosts per cluster is 16.
- On a server that has more than 16 GB of total physical memory, allocate a maximum of 16 GB of memory to the Distributed Cache service. If you allocate more than 16 GB of memory to the Distributed Cache
service, the server might unexpectedly stop responding for more than 10 seconds. - Do not manage the Distributed Cache service through either the Services MMC snap-in or the generic Windows Server AppFabric tools. Use SharePoint
Central Administration and the SharePoint PowerShell cmdlets. You may see the following message while trying to manage the service from services.msc.
The Distributed Cache service can end up in a nonfunctioning or unrecoverable state if you do not follow the procedures that are listed in this article. In extreme scenarios, you might have to
rebuild the server farm. The Distributed Cache depends on Windows Server AppFabric as a prerequisite. Do not administer the
AppFabric Caching Service the
Services window in Control Panel. Do not use the applications in the folder named Start menu. - The Distributed Cache service on a cache host throttles requests when memory consumption approaches 95%. Until memory utilization levels drop back to (approximately) 70%, cache read
and write requests are not accepted. - The Distributed Cache service can run on either a physical or virtual server. When using virtualization, do not use Dynamic Memory to manage shared memory resources among other virtual machines and
the Distributed Cache servers. This is NOT SUPPORTED. See Certain Microsoft SharePoint Server 2013 installation scenarios are not supported.
For more information about planning for the Distributed Cache service, see
http://technet.microsoft.com/library/jj219572.aspx.
Configuring Distributed Cache Service
Firewall Exceptions and Port ConfigurationIt is important that all cache servers have firewall exceptions for the cache, cluster, and arbitration ports. The AppFabric Configuration Wizard can automatically configure these
firewall exceptions, but you may want to confirm these exceptions when troubleshooting communication issues.
Each cache host refers to the cluster configuration settings to determine the appropriate ports to use to communicate with the cluster. Use the Windows PowerShell Get-CacheHostConfig command to see which ports are being used by
each cache host.
Port name |
Default value |
cache port |
22233 |
cluster port |
22234 |
arbitration port |
22235 |
replication port |
22236 |
Cache Port
The cache port is used for transmitting data between the cache hosts and your cache-enabled application. The default is 22233.
Cluster Port
The cache hosts use the cluster port to communicate availability to each of their neighbors in the cluster. The default is 22234.
Arbitration Port
If a cache host fails, the arbitration port is used to make certain that the cache host is unavailable. The default is 22235.
Replication Port
The replication port is used to move data between hosts in the cache cluster. This supports features such as high availability and load balancing. The default is 22236.
Start and Stop the Distributed Cache service
- From Central Administration
- In Central Administration, click Application Management.
- In Service Applications, click Manage Services on Server.
- On the Services on Server page, locate the Distributed Cache service.
- To start the service, under Action, click Start. To stop, click Stop.
- Using PowerShell
# Start the Distributed Cache service by using Windows PowerShell $InstanceName = "SPDistributedCacheService Name=AppFabricCachingService"; $serviceInstance = Get-SPServiceInstance | ? {($_.service.tostring()) -eq $instanceName -and ($_.server.name) -eq $env:computername} $serviceInstance.Provision(); # Stop the Distributed Cache service by using Windows PowerShell $instanceName = "SPDistributedCacheService Name=AppFabricCachingService" $serviceInstance = Get-SPServiceInstance | ? {($_.service.tostring()) -eq $instanceName -and ($_.server.name) -eq $env:computername} $serviceInstance.Unprovision();
Getting Started with Distributed Cache
- Run the Use-CacheCluster command to use the connection settings from the current computer.
Use-CacheCluster command sets the context of your PowerShell session to a particular cache cluster. You must run this command before using any other Cache Administration commands and without any parameters to use the connection settings that reside on the current
machine. If you need to connect to a different cache cluster, use the Provider and ConnectionString parameters to specify the cache cluster explicitly.
Use-CacheCluster — http://technet.microsoft.com/en-us/library/ff428183(v=ws.10).aspx - Run the PowerShell command Get-CacheClusterHealth to retrieve the health statistics for all of the named caches in the cache cluster.
Get-CacheClusterHealth — http://technet.microsoft.com/en-us/library/ff428190(v=ws.10).aspx
- Retrieve the list of all the cache host services in a cluster using Get-CacheHost command
Get-CacheHost provides the list of each cache host service that is a member of the cache cluster. You can specify the following parameters along with this command
-HostName- Name of the cache host
-CachePort- Cache port number used by the cache host. The default value for the cache port number is 22233.For example: Get-CacheHost -ComputerName localhost -CachePort 22233 | fl
This will return the cache host service on the local computer and the port number used by it.
Get-CacheHost — http://technet.microsoft.com/en-us/library/ff428165(v=ws.10).aspx
Check and Change The Memory Allocated To Distributed Cache
To check the existing memory allocation for the Distributed Cache service on a server, run the following command at the Windows PowerShell (run as administrator) command prompt:
Use-CacheCluster
Get-AFCacheHostConfiguration -ComputerName <YourServerName> -CachePort «22233»
Where:
ComputerName is the computer name of the server that you are running the PowerShell cmdlet on.
Change the memory allocation of the Distributed Cache
- Stop the Distributed Cache service on all cache hosts.
To stop the Distributed Cache service, go to Services on Server in Central Administration, and Stop the Distributed Cache service on all cache hosts in the farm. - To reconfigure the cache size of the Distributed Cache service, run the following command one time only on any cache host at the Windows PowerShell command prompt:
Update-SPDistributedCacheSize -CacheSizeInMB CacheSize
Where:
CacheSize is the cache size’s memory allocation assignment in MB. - Restart the Distributed Cache service on all cache hosts.
To restart the Distributed Cache service, go to Services on Server in Central Administration, and Start the Distributed Cache service on all cache hosts in the farm.
See Also
- AppFabric 1.1 Caching Features
- Overview of Distributed Cache Service
- SharePoint 2013: Claims Infrastructure – Part I (Distributed Cache Service)
- SharePoint 2013: Claims Infrastructure – Part II
- SharePoint 2013 Distributed Cache service
Данную проблему я буду рассматривать в контексте установки MS SharePoint 2013 Foundation, для функционирования которой требуется Windows Server AppFabric 1.1. Установка проводилась на физический сервер с установленной Windows Server 2008 R2 SP1 x64.
В целом, проблем с установкой множества пререквизитов, которые требует SharePoint, не возникло. Но пришлось повозиться с компонентом Windows Server AppFabric, в процессе установки которого возникли следующие проблемы:
1) SharePoint сообщает о том, что AppFabric не установлен, хотя он установлен.
2) Попытка установить AppFabric 1.1 заканчивается ошибкой 1603.
3) При установке SharePoint, появляется сообщение о некорректной настройке AppFabric 1.1. Предлагается удалить программу и поставить ее заново.
1) SharePoint сообщает о том, что AppFabric не установлен, хотя он установлен.
На официальной странице с системными требованиями не указана версия AppFabric. Поэтому была установлена последняя (на момент написания этой статьи) версия 6.1. Установка которой, кстати, прошла вообще безо всяких проблем. Однако, контроль установленных пререквизитов сообщал, что AppFabric не установлен. И уже чуть позже было обращено внимание на пакет накопительных обновлений 1 для Microsoft AppFabric 1.1 (KB 2671763) в списке официальных требований. Поставить его не получилось, т.к. патч не находил установленной AppFabric. Тогда, для решения вопроса, AppFabric версии 6.1 был удален, а вместо него было решено поставить AppFabric 1.1 (какой большой разброс в версиях, не правда ли?). Но не все так просто. Попытка установить AppFabric 1.1 не удалась:
2) Попытка установить AppFabric 1.1 заканчивается ошибкой 1603.
В log-файле установки можно увидеть строчку Process.ExitCode: 0x00000643, которая также говорит о нештатной ситуации при установке. Проблема данная описана в Интернете и заключается в том, что в значении одной из системных переменных – PSModulePath, которое представляет собой несколько путей к каталогам, содержится символ двойная кавычка (“), который попадает туда в ходе установки одного из пререквизитов (возможно AppFabric, т.к. при попытке его переустановки, двойные кавычки появлялись снова). В общем, двойные кавычки нужно убрать, т.к. они нарушают синтаксис значения переменной и приводят к вышеуказанной ошибке. Смотреть нужно всю строку внимательно, от начала и до конца, т.к. кавычки могут оказаться где угодно. После удаления, необходимо повторить установку. В данном случае она прошла без ошибок.
3) При установке SharePoint, появляется сообщение о некорректной настройке AppFabric 1.1. Предлагается удалить программу и поставить ее заново.
Еще один сюрприз, который поджидает уже при установке SharePoint. Программа говорит о некорректной настройке AppFabric. Для решения AppFabric удалялся и заново устанавливался. Тем не менее проблемы это не решило. На большой официальной странице требований к SharePoint можно найти небольшое примечание относительно установки AppFabric, а именно: его необходимо устанавливать из командной строки (либо можно сделать bat-файл) с такими параметрами: «WindowsServerAppFabricSetup_x64.exe /i CacheClient,CachingService,CacheAdmin /gac«
/i — Это тихая установка. Установщик не будет ничего показывать или спрашивать у пользователя.
CacheClient,CachingService,CacheAdmin — перечень компонентов, которые необходимо установить.
/gac — означает, что компоненты устанавливаются в глобальный кэш. И установка именно с этим параметром будет являться правильно и не вызовет сообщения о некорректной настройке.
Отмечу, что при обычной установке AppFabric 1.1 без параметров вышеуказанных параметров может появиться и первая ошибка (о том, что AppFabric не установлен).
Даже запуск установки AppFabric с указанными параметрами вызвал ошибку: установщик сообщил о некорректных параметрах.
Пришлось их комбинировать в разных вариациях. Получился такой вариант запуска: «WindowsServerAppFabricSetup_x64.exe /i /gac». Установщик инсталлировал все компоненты в глобальный кэш. После чего SharePoint установился безо всяких ошибок.
- Remove From My Forums
-
Вопрос
-
Hello,
I have too many client connections and I see the following errros in my SharePoint 2013 error logs:
ErrorCode<ERRCA0018>:SubStatus<ES0001>:The request timed out.
ErrorCode<ERRCA0017>:SubStatus<ES0006>:There is a temporary failure.
ErrorCode<ERRCA0016>:SubStatus<ES0001>:The connection was terminated.
How do I configure the AppFabric so I can eliminate these errors. What are the power shell commands to use and what would be the settings to use for my SharePoint server?
Thanks.
Paul
-
Перемещено
8 июля 2014 г. 9:42
SP 2013
-
Перемещено
Ответы
-
No, this is why a dedicated server for the DC is essentially a requirement for most any sized farm deployment.
Trevor Seward
Follow or contact me at…
This post is my own opinion and does not necessarily reflect the opinion or view of Microsoft, its employees, or other MVPs.
-
Помечено в качестве ответа
Paul Byrum
8 июля 2014 г. 15:34
-
Помечено в качестве ответа
Этой заметкой я открываю тут свою мелкую записную книжку. Тут будут мелкие заметки по SharePoint 2013 и Microsoft Server 2012.
Так..заметка 1:
Эта заметка касается такой вещи как Microsoft AppFabric 1.1 для Windows Server. Этот компонент является необходимым при установке SharePoint 2013.
Если Вам необходим сугубо этот компонент, то его можно скачать здесь.
Лично у меня во время установки сразу возникла проблема, а именно ошибка 1603.
Погуглив немного, а нашёл обходное, не знаю насколько правильное, решение данной проблемы. А именно открыть редактор реестра и удалить ключ PSModulePath по адресу:
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Session Manager/Enviroment/
Далее программа нормально установилась. Соответственно перед удалением ключа её(программу) нужно удалить.
———————————————————————————————
Заметка 2(решение возможно не самое оптимальное, но простое):
(диск установки SP2013 вставлен в привод (он же диск D))
Поставить поставили, счастливые запускаем проверку наличия компонентов SharePoint 2013 и получаем ошибку неправильно сконфигурированного AppFabric. Вновь достаю гугл, прошариваю ссылки и нахожу решение. Решение:
0. Если установлен AppFabric удаляем его. И лучше перезагрузится(не обязательно).
1. Взять установщик AppFabric что по ссылке выше, переименовываем его в 1.exe и кидаем в корень системного диска(для простоты).
2. Запускаем PowerShell и там набираем:
d:prerequisiteinstaller.exe /AppFabric:c:1.exe После этого запустится окно мастера инсталляции, запускаем саму инсталляцию и он устанавливает и настраивает AppFabric. После установки ребутаемся и можно ставить SHarePoint. |
————
Заметка 3: это некий обходный способ передавать данные из своего компьютера в виртуальную машину. «Можно просто поставить VMWare tools и расшарить папку как сетевой диск!» — скажите вы. Но нет, там была использована технология vSphere поэтому единственное, что было доступно — это вставлять iso образы. А дёргать техников по такому вопросу мне не хотелось(Орёл птыца гхордая!). Поэтому я нарыл вот эту маленькую и простую утилитку Folder2iso, скачать её можно здесь. Установки не требует, весит мало, интерфейс элементарный, как и настройки, то есть простая настолько, насколько возможно. И вот так, делая из каталогов iso файлы я перетаскиваю файлы в вируталку.
В предыдущей части цикла заметок об установке и базовой настройке SharePoint Server 2013 SP1 мы рассмотрели процесс подготовки отдельного кластерного экземпляра SQL Server 2012 SP1 для баз данных SharePoint Server. В этой заметке мы рассмотрим последовательность действий необходимых для создания новой фермы SharePoint, которая будет состоять из следующих этапов:
1. Создание и подготовка выделенного сервера для установки SharePoint Server 2013 SP1
2. Установка необходимого ПО с помощью SharePoint Products Preparation Tool
3. Установка SharePoint Server 2013 Standard EN SP1
4. Регистрация Service Principal Name (SPN) для обеспечения аутентификации Kerberos
5. Установка языкового пакета (RU Language Pack) для SharePoint Server 2013
6. Установка обновления Service Pack 1 для языкового пакета (RU LP)
7. Изменение Recovery model для БД SharePoint
1. Создание и подготовка выделенного сервера
Для того чтобы подготовить отдельный сервер под установку SharePoint Server 2013 SP1 снова обратимся к документу TechNet Library — Hardware and software requirements for SharePoint 2013. На основании требований этого документа в нашем случае под эту задачу создана виртуальная машина Hyper-V G2 с виртуальной аппаратной конфигурацией – 4 vCPU, 12GB RAM (Static), 80GB vDisk (Dynamic). Использование статического объема ОЗУ для виртуальной машины обусловлено замечаниями документа TechNet Library — Use best practice configurations for the SharePoint 2013 virtual machines and Hyper-V environment, в котором говорится, что не все компоненты SharePoint 2013 способны работать с динамической памятью в среде виртуализации.
На виртуальную машину установлена гостевая ОС Windows Server 2012 R2 Standard, системе присвоено имя KOM-AD01-WEB03 и она введена в домен.
***
Так как БД SharePoint в нашем случае будут расположены на удалённом экземпляре SQL Server 2012 SP1 (CU9), перед началом установки SharePoint можно установить пакет Microsoft SQL Server Native Client. Его можно загрузить например со страницы Microsoft SQL Server 2012 SP1 Feature Pack (файл ENUx64sqlncli.msi), а ещё лучше взять дистрибутив клиента обновлённой версии из состава CU9 (файл SQLServer2012_SP1_CU91033_enu_lpx64setupx64sqlncli.msi)
Хотя в дальнейшем фактически утилита подготовки к установке Sharepoint всё равно загрузит у установит SQL Server 2008 R2 SP1 Native Client.
После установки SQL-клиента создадим на нашем сервере SQL-Alias, который будем в дальнейшем использовать для подключения служб SharePoint к серверу SQL Server. Этого конечно можно и не делать, но это может оказаться полезным (даст нам дополнительную гибкость) в случае необходимости переноса БД на другой SQL-сервер или экземпляр. Запустим встроенную в ОС утилиту SQL Server Client Network Utility (%windir%system32cliconfg.exe) и добавим два новых алиаса – с коротким именем SQL-сервера и его FQDN, указав при этом имя экземпляра и статический TCP порт (в нашем случае SHAREPOINT и 1435 соответственно). Имя самого алиаса в нашем случае будет KOM-AD01-SQLSP
Теперь нужно проверить созданные нами SQL-алиасы. Для этого создадим пустой файл Universal Data Link с расширением *.udl и запустим его. На закладке Connection укажем SQL-алиас, выберем режим аутентификации Use Windows NT Integrated security и нажмём кнопку Test Connection
Если мы всё сделали правильно, то получим положительный результат подключения. При этом перечень всех активных БД на новом SQL сервере будет доступен в выпадающем списке Select the database on the server. Таким образом проверим алиас созданный как по NetBIOS имени так и по FQDN.
2. Устанавливаем требуемое ПО с помощью SharePoint Products Preparation Tool
Монтируем образ дистрибутива полной английской версии SharePoint Server 2013 с интегрированным Service Pack 1 (Версия 15.0.4569.1506) – файл SW_DVD5_SharePoint_Server_2013w_SP1_64Bit_English_MLF_X19-36118.ISO и запускаем с правами Администратора утилиту Microsoft SharePoint Products Preparation Tool (prerequisiteinstaller.exe). Утилита покажет нам перечень задач по установке предварительно требуемых для SharePoint 2013 программных компонент, которые она может автоматически выполнить при наличии подключения к Интернет.
Запускаем процедуру и дожидаемся когда будет произведена установка и конфигурация ролей Application Server / Web Server. После этого начнётся процесс загрузки и установки дополнительных программных компонент, который может быть прерван на этапе установки Windows Server AppFabric…
Нам сообщат, что для продолжения установки компонент нам потребуется перезагрузка системы. Это же можно видеть и из лога по ссылке Review the log file
Если смотреть по коду ошибки в справочнике Dev Center — Error Handling Reference — System Error Codes , то указанный код ошибки соответствует требованию перезагрузки системы:
3017 (0xBC9) = ERROR_FAIL_REBOOT_REQUIRED
Нажимаем Finish, при этом сервер автоматически будет отправлен в перезагрузку.
После загрузки системы заново запускаем утилиту prerequisiteinstaller.exe и возобновляем процесс установки необходимых компонент.
После окончания процесса установки остальных компонент по нажатию кнопки Finish система снова уйдёт в автоматическую перезагрузку.
После перезагрузки снова запустим утилиту подготовки, чтобы убедиться в том, что все необходимые компоненты установлены и получить статус Installation Complete
В конечном итоге списки установленных программ и обновлений стали выглядеть следующим образом:
3. Устанавливаем SharePoint Server 2013 Standard EN SP1
Запускаем из смонтированного образа дистрибутива SharePoint Server 2013 SP1 файл setup.exe. В открывшемся мастере установки вводим имеющийся у нас ключ продукта. В зависимости от введённого ключа продукта будет выполнена дальнейшая установка редакций Standard или Enterprise
После ввода и спешной проверки ключа принимаем текст лицензионного соглашения и переходим к выбору типа установки. Так как мы планируем создать расширяемую (при необходимости) ферму SharePoint с выделенным сервером БД выбираем на закладке Server Type пункт Complete
На закладке File Location значение каталогов установки исполняемых файлов SharePoint Server без реальной на то необходимости оставляем без изменений и нажимаем Install Now
Сразу после завершения процесса установки нам будет предложено запустить мастер конфигурирования SharePoint Products Configuration Wizard
Открывшийся мастер предупредит нас о том, что в процессе его работы будут перезапущены службы IIS и SharePoint, с чем нам нужно согласиться
Далее нам будет предложено два варианта – присоединиться к существующей ферме SharePoint либо создать новую ферму. Выбираем второй пункт Create a new server farm
На следующем шаге Specify Configuration Database Settings нам нужно будет указать имя сервера SQL Server, где будут созданы базы данных новой фермы SharePoint и название БД конфигурации в которой будет являться хранилищем для конфигурационной информации создаваемой фермы. В качестве имени сервера указываем имя созданного ранее SQL-алиаса (KOM-AD01-SQLSP) а имя БД оставляем предложенное по умолчанию – SharePoint_Config
Учетная запись Database Access Account (или как её ещё по другому называют SharePoint farm service account) — это служебная доменная учетная запись пользователя, которая будет использована для соединения с БД конфигурации фермы. Эта учетная запись будет использоваться в дальнейшем также для запуска пула приложений узла Центра администрирования (SharePoint Central Administration) и для службы SharePoint Timer Service. SharePoint Products Configuration Wizard на указанном сервере БД автоматически добавит для этой учетной записи SQL-логин и назначит этому SQL-логину такие роли безопасности SQL Server как dbcreator и securityadmin, а также включит эту учетную запись в локальные группы безопасности,относящиеся к SharePoint, которые будут созданы на нашем веб-сервере в процессе подключения этого сервера к создаваемой ферме. В нашем примере буде использована доменная учетная запись s-KOM-AD01-SP-Farm
Полную информацию о том для каких учетных записей SharePoint какие требуются права можно найти в документах Account permissions and security settings in SharePoint 2013 и Plan for administrative and service accounts in SharePoint 2013
На следующем шаге Specify Farm Security Settings нам нужно будет указать секретную парольную фразу SharePoint Farm Passphrase. Парольная фраза должна быть не менее 8 символов и должна отвечать требованиям сложности, например содержать английские буквы в нижнем и верхнем регистре и цифры. Введённую парольную фразу нужно сохранить, так как она потребуется нам каждый раз когда мы будем присоединять новый WFE-сервер к создаваемой ферме SharePoint
При необходимости изменить парольную фразу после развертывания SharePoint можно будет воспользоваться командлетом Set-SPPassphrase.
На следующем шаге Configure SharePoint Central Administration Web Application нам нужно задать номер TCP порта для веб-приложения и сайта Центра администрирования (ЦА) SharePoint, которое по сути своей является отправной точкой администрирования всеми функциями и возможностями создаваемой фермы SharePoint. Можно либо использовать сгенерированный номер порта, либо ввести любой другой порт, который ещё не используется на сервере. В нашем примере введён порт – 8000.
В качестве провайдера аутентификации на создаваемом сайте ЦА по умолчанию предлагается NTLM, так как с его использование не требует от администратора дополнительной настройки, однако учитывая все преимущества Kerberos в доменной среде, описанные в документе Планирование проверки подлинности Kerberos в SharePoint 2013, в нашем примере будет использован режим согласования Negotiate (Kerberos), при котором в качестве приоритетного провайдера будет использоваться Kerberos, а в случае невозможности его использования будет применятся NTLM
При выборе режима согласования мы получим предупреждение о том, что нам потребуется выполнить дополнительную настройку SPN в домене для возможности корректной работы Kerberos, с чем мы должны согласиться.
Дожидаемся успешного завершения процесса создания и конфигурации фермы SharePoint
После завершения работы мастера конфигурирования можем попробовать открыть URL веб-узла Центра администрирования SharePoint. При первом запуске ЦА ответим на вопрос, — желаем ли мы участвовать в программе улучшения качества продуктов Microsoft…
Затем нам будет предложено выполнить начальную настройку фермы с помощью мастера. Откажемся от от этого предложения, так как в дальнейших заметках мы пошагово рассмотрим настройку необходимых нам служб и компонент в созданной ферме SharePoint.
После закрытия предложения запуска мастера настройки перед мы увидим стартовую страницу Центра администрирования SharePoint.
Как Вы помните, на этапе создания фермы мы выбрали Kerberos в качестве провайдера аутентификации для ЦА, однако на текущий момент аутентификация при попытке доступа к веб-узлу ЦА происходит с помощью NTLM. Подтверждение этому можно увидеть на сервере SharePoint в Event-логе Security по аудиту событий входа с Event ID 4624
Это связано с тем что, для того чтобы заработал Kerberos нам необходимо выполнить настройку Service Principal Name (SPN) для учетной записи от имени которой запущен пул приложений обеспечивающий работу веб-узла ЦА
4. Регистрация SPN для обеспечения аутентификации Kerberos
Для того, чтобы просмотреть все записи SPN, зарегистрированные в домене для учетной записи SharePoint farm service account выполним команду:
setspn -L KOMs-KOM-AD01-SP-Farm
Для того, чтобы выполнить регистрацию новых записей SPN, необходимых для SharePoint выполним команды:
setspn -S HTTP/kom-ad01-web03 KOMs-KOM-AD01-SP-Farm setspn -S HTTP/kom-ad01-web03.holding.com KOMs-KOM-AD01-SP-Farm
В некоторых источниках в Интернете можно найти примеры того, что SPN формата HTTP/* для аутентификации Kerberos в SharePoint 2013 нужно создавать указывая номер порта подключения, однако мои эксперименты в этой области показали, что в этом нет необходимости.
Для проверки результата перезагружаем сервер SharePoint.
После этого на клиентском компьютере с которого мы ранее удалённо открывали веб-узел ЦА очищаем кэш билетов Kerberos командой :
klist purge
Заново вызываем в браузере URL ЦА. Аутентификация должна пройти успешно. Проверяем кэш билетов Kerberos командой :
klist
… и убеждаемся в появлении билета для аутентификации на нашем веб-узле ЦА SharePoint
Также на сервере SharePoint в Event-логе Security по аудиту событий входа с Event ID 4624 убеждаемся в том, что теперь для аутентификации используется Kerberos
5. Установка языкового пакета RU LP для SharePoint Server 2013
Ранее мы установили английскую версию SharePoint Server 2013 SP1 для того, чтобы в случае необходимости обеспечить возможность установки самых актуальных обновлений для этого продукта, ибо как известно, обновления для локализованных версий продукта могут выходить с большой задержкой, а в некоторых случаях их может вообще не быть до выхода следующего Service Pack. Несмотря на это, мы конечно же хотим, чтобы создаваемые в дальнейшем сайты SharePoint, к которым будут иметь доступ наши пользователи, имели русскоязычный интерфейс. Для этого нам необходимо на сервер SharePoint установить языковой пакет (Language Pack) для интересующего нас языка.
При планировании установки языковых пакетов нужно помнить о том, что весьма желательно придерживаться простого правила — версия языкового пакета должна соответствовать версии самого продукта. То есть если уровень обновления самого продукта SharePoint Server 2013 SP1, то и файлы языкового пакета должны быть обновлены до уровня Service Pack 1.
В нашем примере для установки SharePoint Server 2013 английской версии используется дистрибутив с уже интегрированным Service Pack 1, однако на момент написания этой заметки у меня на руках ещё пока нет дистрибутива языкового пакета с интегрированным SP1, но есть отдельный пакет обновления SP1 для языкового пакета версии RTM. Именно поэтому сначала мы установим языковой пакет от версии RTM, а затем “накатим” на него данное отдельное обновление.
<
p align=»center»>***
Итак, берем дистрибутив русского языкового пакета для RTM версии SharePoint Server 2013 (15.0.4420.1017) в виде образа диска: SW_DVD5_Office_Srvr_Language_Pack_2013_64Bit_Russian_MLF_X18-53864.ISO, монтируем этот образ диска и запускаем из корня диска файл setup.exe. Принимаем условия лицензионного соглашения и сразу же начинается установка русского языкового пакета.
Сразу после завершения установки будет предложено запустить мастер настройки SharePoint Products Configuration Wizard
Открывшийся мастер выведет статусное сообщение о том, что нужно выполнить конфигурирование SharePoint, в ходе которого будет произведена регистрация языкового пакета.
Дожидаемся когда мастер выполнит настройку SharePoint и выведет информацию об успешном завершении всех операций.
6. Установка обновления SP1 для языкового пакета (RU LP)
Теперь можно перейти к обновлению языкового пакета до уровня Service Pack 1 (15.0.4569.1506). Загрузим файл обновления serverlpksp2013-kb2817438-fullfile-x64-ru-ru.exe доступный по ссылке Service Pack 1 for Microsoft SharePoint Server 2013 Language Pack (KB2817438) и выполним его установку
После завершения установки вызовем мастер настройки SharePoint Products Configuration Wizard и заново пройдём процедуру обновления конфигурации.
После этого откроем веб-узел ЦА и перейдём последовательно по ссылкам Central Administration > Upgrade and Migration > Check product and patch installation status чтобы увидеть таблицу уровня обновления всех компоненты SharePoint.
Убеждаемся в том, что все исполняемые модули и языковые пакеты SharePoint имеют единый уровень обновления — Service Pack 1 (версия 15.0.4569.1506)
Теперь можно сказать, что с этого момента при создании новых веб-сайтов у нас есть возможность выбирать в качестве языка сайта Русский.
7. Изменение Recovery model для БД SharePoint
При создании новой фермы SharePoint на нашем экземпляре SQL Server были созданы базы данных SharePoint_Config (БД конфигурации фермы) и SharePoint_AdminContent_* (БД контента веб-узла ЦА). По умолчанию при создании новых БД в SQL Server средствами SharePoint для этих БД выбрана модель режима восстановления (Recovery model) – Full, что при некоторых обстоятельствах со временем может привести к существенному росту размера лога транзакций БД. Если резервное копирование фермы SharePoint выполняется такими инструментами, как например System Center 2012 R2 DPM, то необходимость в такой модели режима восстановления отпадает и поэтому, чтобы дополнительно защитить себя от возможного неконтролируемого роста лога транзакций, можно изменить Recovery model на Simple. Сделать это можно например с помощью SQL Server Management Studio изменив соответствующее свойство БД на вкладке Options
По большому счету этот пункт справедлив для всех прочих БД создаваемых в процессе эксплуатации SharePoint.
***
На этом основные этапы создания и первичной подготовки фермы SharePoint можно считать выполненными. В следующей части цикла заметок об установке и базовой настройке SharePoint Server 2013 SP1 мы рассмотрим процесс создания нового семейства сайтов, как первичной сущности с которой смогут работать наши пользователи.
Дополнительные источники информации:
TechNet Library — Account permissions and security settings in SharePoint 2013
tenbulls.co.uk — How to install SharePoint 2013 on Windows Server 2012 R2
Absolute SharePoint Blog — SharePoint 2013 Service Accounts Best Practices Explained
Blog BLKSTHL — The first Kerberos guide for SharePoint 2013 technicians
If you want to jump straight to the condensed solution, then please feel free to go to the Condensed Installation instructions below. If you find this post useful or have any feedback then please leave me a comment so that I know my efforts were not wasted!
Installing Microsoft Backoffice products on Microsoft Operating Systems has over the years become a much easier proposition and is largely the reason why SQL Server got the reputation of being “easy”. Except it isn’t. Ask any idiot to install a SQL Server instance and create a database and there is a good chance that they will succeed, but ask them to install SQL Server correctly and configured to best practice, suddenly the knowledge gap becomes a little more obvious.
I recently had a requirement to deploy SharePoint 2013 and at very least expected a relatively easy installation. Working along the lines of current is probably best, I decided that Windows 2012 R2 was probably the right choice of OS going forward. Famous last words.
The Problem with SharePoint 2013 on Windows 2012 R2
Prior to SharePoint 2013 SP1, Windows 2012 R2 is not supported and I suppose it shouldn’t surprise anyone since SharePoint 2013 came onto the market before Windows 2012 R2. Anyhow, I gathered that I could install SharePoint 2013 onto Windows 2012 R2 and then patch up to SharePoint 2013 SP1. No big deal right?
Wrong.
Before I start delving into the problem and solution, it is important for me to highlight that it is possible to download a Microsoft provided slip-streamed iso of SharePoint 2013 with SP1 assuming you have access to a lovely MSDN subscription. Using this media would avoid the problems documented within this post.
However there will be many of you who do not have access to a MSDN subscription and may be using Microsoft Evaluation Editions for your test lab. Quite (un)helpfully Microsoft do not provide a slip-streamed Evaluation Edition of SharePoint 2013 -and as far as I know never provide slip-streamed Evaluation Edition images apart from exceptional circumstances. At this point you may ask yourself “Why not create my own slip-streamed install?” but unfortunately this would put you in an unsupported state due to package changes as mentioned in the blog post SharePoint 2013, SP1 and Slipstreaming.
So let’s get back to business…
The SharePoint media provides the ever so useful pre-requisite installer to help automate the configuration and installation of (you guessed it) pre-requisites prior to installing SharePoint. The problem with this approach is that on Window 2012 R2 the pre-requisite installer fails resulting in the error “There was an error during installation. The tool was unable to install Application Server Role, Web Server (IIS) Role” (the MSDN iso of SharePoint 2013 SP1 succeeds).
After a little bit of playing around, it became obvious that things were not going to be plain sailing and so I resorted to Google-Fu expecting to find an authoritative and straight-forward set of instructions from either Microsoft themselves or a SharePoint MVP/ community SharePoint expert. Sadly what I found was a whole melting pot of solutions -some of which appeared to be slightly more complicated than I suspected they needed to be. For instance many suggested enabling a whole long list of Windows Features through PowerShell, even though we can see quite clearly in the pre-requisite check a fairly simple list. Furthermore there was not one single set of instructions I found that took into account the latest releases of SQL Server or Microsoft AppFabric Cumulative Updates.
I decided to have a go myself and see if I could simplify this process and arrive at what I hope will be the definitive solution, so that you (hopefully) won’t have to waste your time like I did!
Defining our list of pre-requisites
Probably your first port of call is to take a look at the Microsoft Hardware and software requirements for SharePoint 2013 which will give you a useful starting point -at least for minimum software requirements, but we can see from the pre-requisite installer feedback that in Windows 2012 R2, Microsoft .NET Framework 4.5 and Windows Management Framework 3.0 is already installed by default. The problem with this pre-requisite checker is that it is intended as an automated way to install the pre-requisite components rather than providing feedback for a manual install. After further executions after enabling a couple of Windows Features I decided that it didn’t really suit my purposes and instead decided to run the SharePoint setup executable hoping that it would provide a simpler way to get feedback.
Thankfully setup immediately reports back on progress and provides those missing requirements.
Installing the pre-requisites
The first thing I do is to enable those easy Windows-Features through PowerShell. I notice the Windows Identity Foundation requirement (you may find various posts alluding to the fact that this is a download but it is in fact a Windows Feature in 2012 R2).
Get-WindowsFeature Windows-Identity-Foundation| Add-WindowsFeature -source:D:sourcessxs
I will deal with the Identity Foundation extensions in a moment but for now the second feature of interest is Application Server and this is simple enough to add.
Get-WindowsFeature Application-Server| Add-WindowsFeature -source:D:sourcessxs
Next we can add the IIS Web Server (better known as the Web-Server feature); I include all management tools since I find the ability to troubleshoot and configure locally particularly valuable when problems are hit.
Get-WindowsFeatureWeb-Server| Add-WindowsFeature -source:D:sourcessxs ` -IncludeManagementTools
There is also a requirement for the IIS 6 Management Compatibility component and this can be found through the Web-Mgmt-Compat feature:
Get-WindowsFeature Web-Mgmt-Compat| Add-WindowsFeature -source:D:sourcessxs
I did initially think that the WCF Data Services 5.0 requirement equated to the Net-WCF-Services feature, but I was wrong. It is instead an executable that we need to download and we shall cover these downloads next.
I originally tried the most recent WCF Data Services download (version 5.6.0) but found that the SharePoint installer surprisingly did not detect it. After running the installer again I opted for Uninstall and instead downloaded version 5.0.512 which can be found at http://www.microsoft.com/en-gb/download/details.aspx?id=29306 and installed it without incident. This time, setup no longer reported this component missing.
You will recall we enabled the Windows Identity Foundation feature, but were still missing the Identity Extensions (1.0). After fumbling around for a little while expecting to find it as a sub-component Windows Feature to enable, I realized that it was a download as reported by several articles. The extensions can be downloaded from http://go.microsoft.com/fwlink/?LinkID=252368 -irritatingly I could only find a direct link! Installing this component was painless and now the requirement was removed from the list of missing components.
The next (and probably the most frustrating and problematic) component I installed was Windows Server Appfabric which can be downloaded via http://www.microsoft.com/en-gb/download/details.aspx?id=27115 and attempting GUI based execution caused me a few issues.
I first checked that I didn’t want to use Microsoft Update since my environment was disconnected from the Internet. Next I selected all the AppFabric features (which meant checking Caching Services and Cache Administration) and completed the installation.
Probably the must annoying aspect of the AppFabric installer is that it can leave your installation in a bit of a pickle. First off, if you cancel the installation and try and rerun SharePoint setup you will almost certainly receive a warning about Microsoft Update being required to run this tool (a crazy situation if you consider the dialog screen earlier), and the second point to raise is that even if you do perform a GUI based installation of AppFabric you will realize upon rerunning the SharePoint setup that it errors with the message “Windows Server Appfabric is not correctly configured. You should uninstall Windows Server Appfabric and reinstall it using the SharePoint Products Preparation Tool.” -obviously in our situation we cannot do this!
To get around this conundrum you will first have to uninstall this failed installation of AppFabric. I confess I had a torrid time performing this having first used the command line /r switch but now could not get the SharePoint setup error to disappear. Eventually I noticed that the AppFabric installation was still registered after looking through Control Panel/ Programs/ Programs and Features but the GUI based removal kept erroring with message about the .NET Framework 3.5! To resolve this latest snag, I re-installed AppFabric before heading back to the Programs and Features app to remove it again! A fudge but it worked.
Once the SharePoint setup only complains that AppFabric is missing (and not that it is incorrectly configured as described above), you can perform the AppFabric installation for SharePoint correctly through the command line:
WindowsServerAppFabricSetup_x64.exe /i CacheClient,CachingService,CacheAdmin /gac
I should highlight that I have seen various references indicating that you must use quotes around the parameter options but this has not been my experience so far. Once installed (you will not receive a notification of completion!), reboot your server once more.
AppFabric must be patched to CU1, but I decided to try applying 1.1 CU5. I should have known better since the installer really must have CU1 installed and you can obtain this from http://support.microsoft.com/en-us/kb/2671763 and installation can be performed through the GUI.
The next component to address is the Sync Framework Runtime v1.0 SP1 and you can download this from http://www.microsoft.com/en-gb/download/details.aspx?id=17616 and install with no problems. Obviously in my case I chose SyncSetup_en_x64.zip for my installation. Extract and execute the synchronization.msi installer from the Microsoft Sync Framework directory.
For some reason I could only find the Microsoft Information Protection and Control Client as a download link, simply download from http://go.microsoft.com/fwlink/p/?LinkID=219568 and install. Like the Appfabric GUI I chose not to enable Microsoft Update.
A restart is required after installing this component.
The final component to add is the SQL Server Native Client. The pre-requisite states Microsoft SQL Server 2008 R2 SP1 Native Client, but SQL Server 2012 Native Client appears to work too. Note that SQL Server 2014 does not have its own Native Client and instead installs 2012 Native Client. As mentioned earlier, my personal preference is to always deploy client management tools for troubleshooting so I would tend to always deploy the Native Client from full SQL Server 2014 installation media so that I can include those tools (such as SQL Server Management Studio). If you don’t have this requirement then you can download and install the SQL Server 2012 Native Client either as part of the SQL Server 2012 Feature pack or directly from http://go.microsoft.com/fwlink/?LinkID=239648 and installation is of course fairly trivial.
By this stage you should have met all pre-requisites and while a reboot is not necessary prior to installation, I advise doing so for one last time before running SharePoint 2013 setup -which you will be happy to see now prompts you for a license key! 🙂
Once SharePoint 2013 installation has completed do not forget to install SharePoint 2013 Service Pack 1.
Condensed installation
This section is intended as a quick and concise way for you to run through all the pre-requisites before attempting to install SharePoint 2013. If you run into any problems or want a more detailed explanation you should read the entire post described above.
1. Enable the Windows-Identity-Foundation feature:
Get-WindowsFeature Windows-Identity-Foundation| Add-WindowsFeature -source:D:sourcessxs
2. Enable the Application-Server role:
Get-WindowsFeature Application-Server| Add-WindowsFeature -source:D:sourcessxs
3. Enable the Web-Server role and management tools:
Get-WindowsFeatureWeb-Server| Add-WindowsFeature -source:D:sourcessxs ` -IncludeManagementTools
4. Enable the IIS 6 Management Compatibility component:
Get-WindowsFeature Web-Mgmt-Compat| Add-WindowsFeature -source:D:sourcessxs
5. Download and install WCF Data Services (5.0.512) from http://www.microsoft.com/en-gb/download/details.aspx?id=29306
6. Download and install Windows Identity Extensions (1.0) from http://go.microsoft.com/fwlink/?LinkID=252368
7. Download and install Windows Server AppFabric (1.1) from http://www.microsoft.com/en-gb/download/details.aspx?id=27115 through the command line:
WindowsServerAppFabricSetup_x64.exe /i CacheClient,CachingService,CacheAdmin /gac
8. Reboot Server.
9. Download and install AppFabric 1.1 CU1 from http://support.microsoft.com/en-us/kb/2671763
10. Download and install Sync Framework Runtime v1.0 SP1 from http://www.microsoft.com/en-gb/download/details.aspx?id=17616 (extract and execute the synchronization.msi installer from the Microsoft Sync Framework directory).
11. Download and install Microsoft Information Protection and Control Client from http://go.microsoft.com/fwlink/p/?LinkID=219568
12. Reboot Server.
13. Download and install the SQL Server 2012 Native Client from http://go.microsoft.com/fwlink/?LinkID=239648 (minimum requirement is SQL Server 2008 R2 SP1).
14. Reboot Server (for good measure) and SharePoint 2013 installation should work.
15. Post SharePoint 2013 installation do not forget to patch to SharePoint 2013 Service Pack 1.
I hope this post was helpful to you, and if you would like to see more like this or have any useful feedback then I look forward to receiving your comments.
Thanks for your help here, but in my case it doesn´t work.
In the logfile I found these entries:
2018-04-06 10:58:35, Information Setup Process.Start: C:Windowssystem32msiexec.exe /quiet /norestart /i “C:df47f1f8ff5e082d5bda6b0854e – CopyPackagesAppFabric-1.1-for-Windows-Server-64.msi” ADDDEFAULT=Worker,WorkerAdmin,CacheService,CacheClient,CacheAdmin,Setup /l*vx “C:UsersadminAppDataLocalTempAppServerSetup1_1(2018-04-06 10-58-35).log” LOGFILE=”C:UsersadminAppDataLocalTempAppServerSetup1_1_CustomActions(2018-04-06 10-58-35).log” INSTALLDIR=”C:Program FilesAppFabric 1.1 for Windows Server” LANGID=en-US
2018-04-06 10:59:26, Information Setup Process.ExitCode: 0x00000643
2018-04-06 10:59:26, Error Setup AppFabric installation failed because installer MSI returned with error code : 1603
2018-04-06 10:59:26, Error Setup
2018-04-06 10:59:26, Error Setup AppFabric installation failed because installer MSI returned with error code : 1603
2018-04-06 10:59:26, Error Setup
2018-04-06 10:59:26, Information Setup Microsoft.ApplicationServer.Setup.Core.SetupException: AppFabric installation failed because installer MSI returned with error code : 1603
Any ideas on this???
Regards
Mathis
LikeLike
AppFabric is a set of integrated technologies that help build, scale and manage Web and composite applications that run on IIS. AppFabric manages and hosts Windows Communication Foundation, Windows Workflow and offers a session state provider for ASP.NET Web Applications as part of its caching features.
It provides capabilities to build and manage composite applications, including:
- Enhanced design and development tools in Visual Studio to build rich composite applications
- Management and monitoring of services and workflows via integration with IIS Manager and Windows PowerShell
- Distributed in-memory application cache to improve application performance
As this quite a lengthy topic, this post is split into the following sections:
- Windows Server AppFabric Setup
- Installing Windows Server AppFabric Software Requirements
- Microsoft Windows OS
- IIS 7.0
- IIS 7.0 Administration Pack
- .NET Framework 4.0
- Windows PowerShell v2.0
- SQL Server 2008
- Visual Studio 2010
- IIS Web Deployment Tool 2.0
- Required Hotfixes for AppFabric
- Installing Windows Server AppFabric
- Runtime Features
- Administration Tools
- Configuring Windows Server AppFabric
- Configure Hosting Services
- Windows Server AppFabric Monitoring Store Configuration
- Windows Server AppFabric Persistence Store Configuration
- Configure Caching Services
- Windows Server AppFabric Caching Service configuration Store
- Configure AppFabric Cache Node
- Start Cache Host Service
- Verifying Installation of Windows Server AppFabric
Windows Server AppFabric Setup
AppFabric offers a multi-server topology which can be scaled out as required. I will cover scaling out AppFabric on a Server Farm (both Application and Database tiers) in a separate post.
For this installation I will demonstrate installing and configuring AppFabric on a simple single node application server and separate database server.
There are different downloads for Windows Server AppFabric that is specific to your operating system. The links below are direct downloads.
- Windows Server 2008 R2 x64
- Windows Server 2008 x64
- Windows Server 2008 x86
- Windows 7 x64
- Windows 7 x86
- Windows Vista x64
- Windows Vista x86
In active directory create two security groups:
- [DOMAIN]AFabric Administrators
- [DOMAIN]AFabric Users
Installing Windows Server AppFabric Software Requirements
As with most installations, the servers must first be prepared. Base software requirements are:
- Windows OS
- IIS 7.0
- IIS 7.0 Administration Pack
- .NET Framework 4.0
- Windows PowerShell v2.0
- SQL Server 2008
- IIS Web Deployment Tool 1.0
- Visual Studio 2010
- Required Hotfixes for AppFabric
Microsoft Windows OS
AppFabric can be installed on the following operating systems:
- Microsoft Windows Server 2008 R2
- Microsoft Windows Server 2008 (32-bit or 64-bit) with Service Pack 2
- Microsoft Windows 7 (32-bit or 64-bit)
- Microsoft Windows Vista (32-bit or 64-bit) with Service Pack 2
The following roles needs to be enabled in Windows Server 2008 / R2:
- Application Server
- Web Server (IIS)
The roles need to be installed:
- .NET Framework 3.5.1
- WCF Activation
- HTTP Activation
- Non-HTTP Activation
- WCF Activation
- Remote Server Administration Tools
- Roll Administration Tools
- Web Server (IIS) Tools
- Roll Administration Tools
- Windows PowerShell Integrated Scripting Environment (ISE)
- Windows Process Activation Service
- Process Model
- .NET Environment
- Configuration APIs
IIS 7.0
IIS 7.0 enables Windows Application Server to host ASP.NET Web sites and Web services that communicate over Http, including WCF Services over other protocols such as Http and net.tcp.
IIS 7.0 is a role that needs to be enabled in Windows Server 2008
IIS 7.0 Administration Pack
IIS 7.0 Administration Pack adds management features that ship with IIS 7.0.
- Administration UI support for ASP.NET authorization
- Custom errors
- FastCGI configuration
- Request Filtering
- Generic configuration editor
The generic configuration editor configures IIS 7.0 configuration and automatically generates scripts to make a tasks easily repeatable.
IIS 7.0 Administration Pack is not required for Windows 7 and Windows Server 2008 R2.
.NET Framework 4.0
.NET Framework 4.0 (at the time of writing and exception of .NET Framework 4.5 preview) is latest managed code programming model for Windows. .NET Framework 4.0 enables AppFabric to extend IIS to be a ‘standard host’ for applications that use either WF or WCF.
.NET Framework 4 can be downloaded and installed as either and web and standalone installation
- .NET Framework 4 (Web Installer)
http://www.microsoft.com/download/en/details.aspx?id=17851 - .NET Framework 4 (Standalone Installer)
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=17718
Windows PowerShell v2.0
Windows PowerShell 2.0 provides a consolidated management interface in which AppFabric cmdlets perform application, database, and system service management operations. Functionality in AppFabric cmdlets can be accessed in three ways:
- UI
- Interactively through the command-line shell console
- Creating and running scripts that contain one or more of AppFabric cmdlets.
Windows PowerShell 2.0 needs to be installed on Windows Server 2008 and Windows Vista only. It is already installed on Windows Server 2008 R2 and Windows 7.
SQL Server 2008
AppFabric Persistence, Monitoring and Configuration runtime databases can be installed on either Microsoft SQL Server or SQL Server Express.
Visual Studio 2010
(For development purposes only and should not to be installed on UAT/Production servers!)
Visual Studio 2010 includes application templates for WF and WCF which support .NET Framework 4.0 features used in AppFabric. For WF features include:
- Base Activity Library
- Flowchart Activity Designer
For WCF features include
- System Endpoints
- WS-Discovery
- Workflow Services
IIS Web Deployment Tool 2.0
IIS Web Deployment Tool 2.0 (or MSDeploy) is used to deploy IIS Web application and services to a Web Server farm. Web Deployment Tool can be administered both command-line and Windows PowerShell interface.
Web Deployment Tool will copy or synchronize an application from one virtual directory or Web site to all IIS Web servers in that IIS Web farm.
IIS Web Deployment Tool 2.0 can be download from http://www.iis.net/extensions/WebDeploymentTool. Start the installation and select ‘Next’.
Read and accept the licence agreement. Select ‘Next’ to continue.
Select ‘Custom’ to continue.
On the Custom Setup window, select all features except Authorization and Error Pages under the ASP.Net Features. Select Next and then Install.
Once IIS Web Deployment Tool is installed click Finish to exit.
Required Hotfixes for AppFabric
For Windows Server AppFabric there are two recommended updates. See http://msdn.microsoft.com/en-us/windowsserver/ff637504 the list of hotfixes to install.
Issue | Resolution |
You experience several issues when you use Powershell cmdlets or AppFabric features in IIS 7.0 or IIS 7.5 http://support.microsoft.com/kb/980423 |
KB980423 |
Some services are preloaded unexpectedly when you start a website that contains multiple applications in IIS 7.5 http://support.microsoft.com/kb/983484 |
KB983484 |
Installing Windows Server AppFabric
Download the correct version of Windows Server AppFabric for your operating system and launch setup.
- Windows Server 2008 R2 x64
- Windows Server 2008 x64
- Windows Server 2008 x86
- Windows 7 x64
- Windows 7 x86
- Windows Vista x64
- Windows Vista x86
In the Windows Server AppFabric Wizard read and accept the licence agreement and click Next.
On the Customer Experience Improvement Program page, select to want to participate in the program to help Microsoft improve Windows Server AppFabric, and then click Next.
Information of issues and setup is periodically sent to Microsoft – no personal or identifiable information is sent.
In the Feature Selection screen select all runtime features and administration tools.
Runtime Features
- Hosting Services — component installs AppFabric host and management services
- Caching Services — component turns a server host into the node of a distributed cache cluster. A new cluster can be created or this host can be joined to an existing cluster of AppFabric Caching Services.
- Cache Client — component installs client libraries enabling use of cache functionality in applications during development or runtime.
Administration Tools
- Hosting Administration — component installs IIS Manager, AppFabric configuration wizard, and hosting features PowerShell modules enabling to administration of Hosting Services.
- Distributed Cache Admin — component installs the components
that enable administrating a cache cluster.
Click Next to continue.
Review the list of the features that were selected in the Feature Selection page. Select Install to begin installation.
Verify that the installation succeeded. Check ‘Launch configuration wizard’ and Finish to complete AppFabric installation and launch the configuration wizard.
Configuring Windows Server AppFabric
The configuration can be re-run at anytime. An important point to note, the configuration wizard overwrites existing configuration values with any new values that entered in the wizard. Many of the steps that are performed in the configuration wizard can be performed manually by executing AppFabric configuration cmdlets.
Select Yes to participate in the Customer Experience Improvement program and click next to to continue.
Configure Hosting Services
Configure Hosting services page configures AppFabric monitoring and persistence services.
The Event Collector service account is a member of Administrators group and has administrative access to the Monitoring database. Event Collector service account by default is set to NT AuthorityLocalService. This can be changed to a another account.
All valid Monitoring data providers registered on the local machine.config file will be displayed in the Monitoring providers list. Click Configure… to specify settings to initialize and register an AppFabric monitoring store with the Microsoft SQL Server Monitoring Provider.
Windows Server AppFabric Monitoring Store Configuration
On the Windows Server AppFabric Monitoring Store Configuration dialog select the ‘Register AppFabric monitoring store in root web.config’ check box. This registers the monitoring store by adding its configuration to the root web.config file as ApplicationServerMonitoringConnectionString. This registration makes the connection string and behaviour available at all services on the computer.
Next check ‘Initialize the Monitoring Store’. This initializes the monitoring database identified in the connection string. Initialization creates the database schema and the structure based upon that schema. If the database does not exist, it will be created and then initialized.
On the Security Configuration section change the values for Administrators, Readers and Writers as follows:
Role | Change Security Group To: |
Administrators | [DOMAIN]AFabric Adminstrators |
Readers | [DOMAIN]AFabric Users |
Writers | [DOMAIN]AFabric Adminstrators |
Select OK to apply changes to AppFabric monitoring store configuration.
In the confirmation dialog select ‘Yes’.
Once the monitoring store configuration the registered and initialised, you will be prompted with the following dialog. Click OK.
Next, check ‘Set persistence configuration’ and select ‘Configure…’. This will initialize and register an AppFabric persistence store with SQL Server Persistence Provider.
Windows Server AppFabric Persistence Store Configuration
The Windows Server AppFabric Persistence Store Configuration dialog initializes and registers an AppFabric persistence store. Check ‘Register AppFabric persistence store in root web.config’ to add ApplicationServerWorkflowInstanceStoreConnectionString to the root web.config.
Check ‘Initialise persistence store’, enter the database server name and type or select the database store. This step initializes and creates the database schema. If the database does not exist, the database is first created and then initialized.
On the Security Configuration section change the values for Administrators, Readers and Users as follows:
Role | Change Security Group To: |
Administrators | [DOMAIN]AFabric Adminstrators |
Readers | [DOMAIN]AFabric Users |
Users | [BUILTIN]IIS_USRS |
Select OK to apply changes to AppFabric persistence store configuration.
Select OK to confirm the configuration.
Select ‘Next’ to continue.
Configure Caching Services
Configure Caching Service page updates system-level configuration of the Caching Service feature.
The Caching Service configuration provider has two configuration options:
- XML — configuration information is stored in an XML file on a network file share. In this option you need to enter enter or browse to the network file share that will contain the XML configuration file.
- SQL Server AppFabric Caching Service Configuration — configuration information is stored in a SQL Server database.
In this post we configure the Caching Services to use SQL Server AppFabric Caching Service Configuration.
Check ‘Set Caching Service Configuration’, select Caching Service configuration provider as ‘SQL Server AppFabric Caching Service Configuration Store Provider’ and select ‘Configure…’.
Windows Server AppFabric Caching Service configuration Store
In the Windows Server AppFabric Caching Service configuration Store dialog check ‘Register AppFabric Caching Service configuration database’. This registers the configuration database in the to the root web.config file.
Next check ‘Create AppFabric Caching Service configuration database’. Enter the database server and either select or enter and database name.
Select OK to apply the configuration.
The Caching Service configuration database is now created and registered
successfully.
As this is the first caching service server in the cluster select ‘New Cluster’ option and select the appropriate cluster size. Select Next to continue.
Configure AppFabric Cache Node
On the Configure AppFabric Cache Node page enter port numbers for:
- Cache port (default 22233)
- Cluster port (22234)
- Arbitration port (22235)
- Replication port (22236)
The port numbers must be unique and be between 1024 and 65535.
For each port number ensure Windows Firewall rules are configured to allow access for the cache service. Check both options ‘Windows Server AppFabric Caching Service’ and ‘Remote Service Management’.
Select Yes to apply selected configuration. And finish to close Windows Server AppFabric Configuration Wizard.
Start Cache Host Service
The cache cluster needs to be started after AppFabric configuration wizard has configured the Caching Service. This is started user PowerShell. On the primary node of Cache Host cluster open the PowerShell command window.
Execute the following cmdlets:
- Import-Module DistributedCacheAdministration
- Import-Module DistributedCacheConfiguration
- Use-CacheCluster
- Start-CacheCluster
Verifying Installation of Windows Server AppFabric
After AppFabric is installed and configured, AppFabric IIS Manager extensions will be visible under IIS.
AppFabric Dashboard (which very similar to BizTalk 2010 group hub).
Features view of endpoints configured under AppFabric.
Features view of Services hosted under AppFabric.
The following AppFabric Monitoring and persistence runtime databases will have been created in SQL Server:
- AppFabricCachingServiceConfigDb
- AppFabricMonitoringStoreDb
- AppFabricPersistenceStoreDb
Under services AppFabric will have installed the following services:
- AppFabric Caching Service
- AppFabric Event Collection Service
- AppFabric Workflow Management Service
In this blog post I have demonstrated how to install and configure Windows Server AppFabric Hosting and Caching Services. In future blog posts I will show how to develop Workflows and WCF services, demonstrating how to deploy, configure and monitoring them under AppFabric.
I would suggest to do all windows updates before, then you have to do less manually.
First make sure all necessary features are enabled and installed. To do so, insert Windows Server install disc and execute this command:
# Edit the drive letter that has your Server 2012 R2 media.
$drive = "E:"
Import-Module ServerManager
Add-WindowsFeature NET-WCF-HTTP-Activation45,NET-WCF-TCP-Activation45,NET-WCF-Pipe-Activation45 -Source $driveSourcessxs
Add-WindowsFeature Net-Framework-Features,Web-Server,Web-WebServer,Web-Common-Http,Web-Static-Content,Web-Default-Doc,Web-Dir-Browsing,Web-Http-Errors,Web-App-Dev,Web-Asp-Net,Web-Net-Ext,Web-ISAPI-Ext,Web-ISAPI-Filter,Web-Health,Web-Http-Logging,Web-Log-Libraries,Web-Request-Monitor,Web-Http-Tracing,Web-Security,Web-Basic-Auth,Web-Windows-Auth,Web-Filtering,Web-Digest-Auth,Web-Performance,Web-Stat-Compression,Web-Dyn-Compression,Web-Mgmt-Tools,Web-Mgmt-Console,Web-Mgmt-Compat,Web-Metabase,Application-Server,AS-Web-Support,AS-TCP-Port-Sharing,AS-WAS-Support, AS-HTTP-Activation,AS-TCP-Activation,AS-Named-Pipes,AS-Net-Framework,WAS,WAS-Process-Model,WAS-NET-Environment,WAS-Config-APIs,Web-Lgcy-Scripting,Windows-Identity-Foundation,Server-Media-Foundation,Xps-Viewer -Source $driveSourcessxs
You have to execute the AppFabric Installation via command line like described by mike:
WindowsServerAppFabricSetup_x64.exe /i CacheClient,CachingService,CacheAdmin /gac
Then make the CU1 for AppFabric via normal installer and also install the rest of prerequisites you need.
Here is a list with all other necessary download links for the prerequisites files:
click me
No native Prerequisites Installer needed!