Существует бесчисленное множество далеко не идеальных подходов к дизайну и архитектуре серверной среды SharePoint. Поскольку именно это является определяющим фактором последующей производительности и функциональной эффективности SharePoint, архитекторам инфраструктуры SharePoint чрезвычайно важно хорошо ориентироваться в:
• Различных вариантах инсталлирования SharePoint
• Различиях между моделями архитектуры поиска в SharePoint
• Методах и приемах виртуализации SharePoint
• Способах оптимизации баз данных SQL серверов SharePoint.
Практический опыт автора по созданию сотен SharePoint серверных ферм
обобщен в виде готовых к немедленному применению руководящих и методических рекомендаций по физической и виртуальной архитектуре, и параметрах конфигурации SharePoint 2010 и 2013. Кроме того, в общих чертах обрисованы изменения в архитектуре SharePoint 2013 и SQL Server 2012.
2. Майкл Ноэл
• Автор книг в популярной серии «Unleashed» издательствa SAMS: “SharePoint 2013”,
“SharePoint 2010”, “Windows Server 2012”, “Exchange Server 2013”, “ISA Server 2006” и др.
• В мире продано более 250 тыс. копий 19-ти книг Майкла Ноэла
• Партнер в Convergent Computing (www.cco.com / +1(510)444-5700) – San Francisco, U.S.A.
• Специалист по Системной Инфраструктуре и Системам Безопасности SharePoint, Aсtive
Directory, MS Exchange
4. • Операционные системы: Windows Server 2008 R2 SP1 or
Windows Server 2012 (предпочтительно)
• Серверы базы данных (БД): SQL Server 2008 R2 w/SP1 or SQL
Server 2012 (предпочтительно)
Тип сервера Память Процессор
Серверы разработки/отладки/тестирования 8GB RAM 4 CPU
«Все-в-одном» (БД/Веб/Сисадмин) 24GB RAM 4 CPU
Веб/Сисадмин Сервер 12GB RAM 4 CPU
Сервер БД (средний размер) 16GB RAM 8 CPU
Сервер БД (компакт) 8GB RAM 4 CPU
Новое в инфраструктуре SharePoint 2013
Требования к оборудованию и программному обеспечению
5. • Office Web Apps больше не является Сервисным Приложением
• Web Analytics также больше не является Сервисным Приложением,
став частью Системы Поиска
• Добавлены новые и улучшены существующие Сервисные Приложения:
– App Management Service – используется для управления новым Магазином
приложений SharePoint в Office Marketplace или Каталоге Приложений.
– SharePoint Translation Services – обеспечивает языковые переводы и
конвертирование Word, XLIFF, и PPT файлов в HTML
– Work Management Service – управляет задачами в SharePoint, MS Exchange и
Project.
– Access Services App (2013) – заменил версию Access Services 2010
Новое в инфраструктуре SharePoint 2013
Изменения в Сервисных Приложениях
6. • Новый сервис в Windows ОС – Распределенный Кеш
Сервис (Distributed Cache Serviсe) – автоматически
устанавливается на каждом сервере фермы во время
установки SharePoint
• Управляется как Windows Сервис
• БД конфигурации отслеживает
какие серверы в ферме
Обеспечивают Кеш Сервис
Новое в инфраструктуре SharePoint 2013
Распределенный Кеш Сервис
7. • Управление Запросами обеспечивает лучший контроль
за поступающими запросами
• Получение информации о природе поступающих
запросов (к примеру: запрос пользователя, требуемый
URL или исходный IP) позволяет SharePoint настраивать
ответ на каждый запрос
• RM применяется для каждого Веб Приложения, что было
затруднено в SharePoint 2010
Новое в инфраструктуре SharePoint 2013
Request Management (RM) – Управление Запросами
8. • Вариант 1: Простая односторонняя Синхронизация (как в
SharePoint 2007)
• Вариант 2: Двухсторонняя Синхронизация с возможной
записью в АctiveDirectory (AD) и использованием
упрощенного Forefront Identity Manager (FIM) сервиса on
UPA server (как в SharePoint 2010)
• Вариант 3: Полная Forefront Identity Manager (FIM)
Синхронизация, реализующая комплексные сценарии
(крупные клиенты это оценят)
Новое в инфраструктуре SharePoint 2013
Синхронизация Профилей Пользователя
9. SharePoint 2013 поддерживает два метода аутентификации пользователей:
• Классическая аутентификация (classic-mode)
– Классический режим проверки подлинности является устаревшим и может
управляться только с помощью Windows PowerShell
– Применение classic mode объявлено нежелательным и этот метод будет удален в
будущем
• Проверка подлинности на основе утверждений (claim-based) – базовый метод по
умолчанию
Процесс миграции из Windows classic в Windows claims может быть осуществлен с
помощью Windows PowerShell Convert-SPWebApplication cmdlet
Новое в инфраструктуре SharePoint 2013
Установление подлинности требований
10. • Хранит новые версии документов как «shredded BLOB» порций
изменений
• Обещает существенно уменьшить размер хранимых данных
Новое в инфраструктуре SharePoint 2013
Shredded Storage – Хранение порций изменений
11. • Microsoft FAST
Search for SharePoint
• Использование
контекста
пользователя
(сегментации)
• Расширенные
контекстные
предварительные
просмотры
Новое в инфраструктуре SharePoint 2013
Поиск – применена FAST методология
15. • 2 SharePoint Сервера для Веб и Сервисных
Приложений
• 2 Сервера Базы Данных:
– AlwaysOn Failover Cluster Instances (FCI) or
– AlwaysOn Availability Groups
• 1 or 2 индексированных раздела с
эквивалентными компонентами запросов
• Минимальный размер фермы, обеспечивающий
высокую степень готовности
Архитектура Ферм
Малая Ферма Высокой Готовности
16. • 2 Веб Севера (NLB)
• 2 Сервера Приложений
• 2 Сервера Баз Данных
(Кластерные или Зеркальные)
• 1 or 2 Index Partitions с
эквивалентными компонентами
запросов
Архитектура Ферм
Практичная «6-Серверная» Ферма
17. • Отдельная ферма Сервисных
Приложений
• Одна или несколько ферм
выделенных для Содержания
• Сервисные Приложения
применяются перекрестно
• Системные приложения (как
User Profile Sync) изолированы
для обновлений
Архитектура Ферм
Отдельные фермы: Сервисных
Приложений + Фермы Содержания
(идеальная конфигурация)
18. • Многосерверные системы
• Несколько Веб серверов
• Несколько серверов
Приложений
• Несколько серверов
запросов
• Несколько Crawl серверов
и несколько Crawl БД для
увеличения параллелизма
в crawl процессе.
• Множество
распределенных
индексных разделов
(максимально 10 млн.
элементов на раздел)
• Два компонента запроса на
каждый индексный раздел,
распространенные среди
серверов
Архитектура Ферм
Большая SharePoint Ферма
20. Позволяет создать тест сервер когда нет возможности использовать отдельный сервер
Позволяет отделить базу данных в отдельный сервер
Легко может быть расширен в будущем
Пример 1: Единственный Сервер
Виртуализация SharePoint Серверов
21. Высокая степень
готовности всех
серверов
Все компоненты
виртуальны
Используются
только 2
лицензии
Windows
Enterprise
Пример 2: Ферма Высокой Готовности (2 сервера)
Виртуализация SharePoint Серверов
22. Серверы наиболее
важных «транзакций»
являются физическими
Поддерживается
несколько ферм с БД
для всех ферм на SQL
cluster
Пример 3: Смесь физических и виртуальных серверов
Виртуализация SharePoint Серверов
23. Scaling to Large Virtual Environments
Виртуализация SharePoint Серверов
24. • Процессор (Host)
– <60% Utilization = Good
– 60%-90% = Caution
– >90% = Trouble
• Доступная память
– 50% and above = Good
– 10%-50% = OK
– <10% = Trouble
• Диск – среднее время чтения/записи
– Up to 15ms = Good
– 15ms-25ms = Caution
– >25ms = Trouble
• Пропускная способность сети (Network)
– Bytes Total/sec
– <40% Utilization = Good
– 41%-64% = Caution
– >65% = Trouble
• Время ожидания в сети (Network) -
Output Queue Length
– 0 = Good
– 1-2= OK
– >2 = Trouble
Контроль качества Виртуализации
Виртуализация SharePoint Серверов
29. • Делите БД содержимого и TempDB на несколько файлов (MDF, NDF) в количестве
эквивалентном количеству физических процессоров (не ядер!) SQL сервера.
• Заранее определяйте размеры Баз Данных во избежание фрагментации.
• Размещайте файлы на различных диск-шпинделях для лучшего времени
ввода/вывода.
• Пример: 50GB общего содержимого БД на «двухстороннем» SQL Сервере может
иметь 2 БД файла, распределенных между двумя диск-шпинделями по 25GB
предварительно выделенных для каждого файла.
Множественные файлы для SharePoint БД
SQL Server Optimization
30. • Применяйте Планы Обслуживания!
• Включайте в планы DBCC (Check Consistency) и реорганизацию
Индексов ИЛИ полную перестройку Индексов (но не одновременно!)
Оптимизация SQL Сервера
Планирование Обслуживания
• Включайте резервное
копирование в Ваши планы
• Обязательно чистите журнал
регистрации транзакций
(transaction logs) используя T-
SQL Script (только после
полного резервного
копирования…)
31. Высокая Готовность (High Availability - HA)
и Устойчивость к стихийным бедствиям
(Disaster Recovery - DR)
32. Обеспечение Высокая Готовности и Устойчивости SQL Сервера
Потенциальная
потеря данных
(RPO)
Потенциальное время
восстановления (RTO)
Automatic Failover
Дополнительные
читаемые копии
AlwaysOn Availability Groups – Synchronous (Dual-phase commit, no data loss, can’t
operate across WAN)
Нет 5-7 секунд Да 0 - 2
AlwaysOn Availability Groups – Asynchronous (Latency tolerant, cross WAN option,
potential for data loss)
Секунды Minutes Нет 0 - 4
AlwaysOn Failover Cluster Instance (FCI) – Traditional shared storage clustering Не применимо От 30 секунд до
нескольких минут (в
зависимости от disk
failover)
Да
Не применимо
Database Mirroring - High-safety (Synchronous) Zero 5-10 seconds Да
Database Mirroring - High-performance (Asynchronous) Секунды
Инициализируется
вручную, может
занять несколько
минут если
автоматизирован, но
обычно требует часы
Нет
SQL Log Shipping Минуты Нет
Не в течение
восстановления
Традиционное копирование и восстановление Часы и Дни Обычно много часов,
дней и даже недель
Нет
Сравнение вариантовHA / DR
34. • Аппаратурная Балансировка (F5, Cisco, Citrix
NetScaler) – наилучшая производительность и
масштабируемость
• Программная Балансировка (Software Windows
Network Load Balancing) полностью поддерживается
MS, но требует Layer 2 VLAN (all packets must reach all
hosts.) Layer 3 Switches должны быть настроены для
допуска Layer 2 к определённым VLAN.
• Если применяется Unicast, используйте 2 NICs на
сервере, один для связи между узлами.
• Если применятся Multicast, обеспечьте
соответствующую конфигурацию маршрутизаторов
• Установите Affinity как Single (Sticky Sessions)
• Если применяется VMware, читайте о проблеме NLB
RARP (http://tinyurl.com/vmwarenlbfix)
Network Load Balancing (NLB) – Балансировка Загрузки Сети
HA / DR
36. • Безопасность Инфраструктуры и Практический опыт
– Физическая Безопасность
– Установка системы с использованием передового опыта
– Внедрение протокола аутентификации Kerberos
• Защита Данных
– Контроль доступа на основе ролей индивидуальных пользователей (RBAC)
– Прозрачное Кодирование Данных (TDE) в БД
• Безопасность Транспортировки
– Криптографический протокол SSL - обеспечивает безопасность связи между Сервером и
Клиентом через Интернет
– Протокол IPSec (IP Security) - обеспечивает защиту данных, передаваемых по
межсетевому протоколу IP между Серверами
• Защита границ (Пограничная Безопасность)
– Защита Входящего Интернет Трафика (Forefront UAG/TMG)
• Управление Правами на доступ к данным
– Защита файлов с помощью службы управления правами
Обеспечивается пятью уровнями безопасности
Безопасность SharePoint
37. • Ваша документация должна отражать текущее
состояние системы. Документируйте ключевые
установки IIS, SharePoint, баз данных после
инсталляции.
• Контролируйте малейшие изменения в системной
конфигурации в процессе эксплуатации.
Документируйте Все!
Человеку свойственно забывать, причем иногда о самых важных вещах
Документируйте Ваш SharePoint!
38. • Очень удачный пакет от Acceleratio Ltd
SPDocKit (http://tinyurl.com/spdockit)
Средства Документирования SharePoint
39. Michael Noel
Company Site: http://www.cco.com
Twitter: http://twitter.com/michaeltnoel
LinkedIn: http://linkedin.com/in/michaeltnoel
Facebook: http://facebook.com/michaelnoel
VK: http://vk.com/sharingtheglobe
Slides: http://slideshare.net/michaeltnoel
Travel blog: http://sharingtheglobe.com