Итак, вы окончательно решили реализовать SharePoint в своей компании. Что нужно сделать для того, чтобы SharePoint успешно работал? Для достижения наилучшей производительности и масштабируемости следует учесть несколько факторов.
- Какая из версий Microsoft SharePoint в наибольшей степени соответствует вашим требованиям?
- Каков размер вашего первого портала?
- Какую платформу вы желаете использовать: 32- или 64-разрядную?
- Хотите ли вы использовать виртуализацию?
- Нужно ли вам решение с высокой доступностью?
- Какую конфигурацию для своей фермы Microsoft SharePoint вы предпочитаете?
- Как вы хотите выполнять резервное копирование платформы Microsoft SharePoint?
- Как вы планируете восстанавливать платформу Microsoft SharePoint в случае необходимости?
Версии SharePoint
SharePoint выпускается в пяти версиях:
- Windows SharePoint Services 3.0 (WSS 3.0)
- Microsoft Search Server 2008 Express
- Microsoft Office Forms Server 2007
- Microsoft Office SharePoint Server 2007 (MOSS 2007) со стандартной пользовательской лицензией Standard CAL
- MOSS 2007 с корпоративной пользовательской лицензией Enterprise CAL или для узлов Internet.
Чтобы легче было сделать выбор, какую версию лучше приобрести, я выделю ключевые функции каждой из них.
Редакция WSS 3.0 доступна бесплатно (http://technet.microsoft.com/en-us/windowsserver/sharepoint/bb400747.aspx) для пользователей, у которых есть Windows Server 2008 или Windows Server 2003. WSS 3.0 — это полностью работающий портал. Он включает в себя Standard Site Templates, Web Parts и интеграцию с Microsoft Office 2007. Когда вы устанавливаете MOSS 2007 (редакции Standard или Enterprise), в него уже включены все функции WSS 3.0.
Search Server 2008 Express обеспечивает поисковую способность для пользователей WSS 3.0, покупать полную версию MOSS 2007 не требуется. С помощью Search Server 2008 Express пользователи могут выполнять поиск по корпоративным хранилищам документов и материалов и расширять способности механизма поиска, используя iFilters. Он включает усовершенствованный релевантный алгоритм, который оптимизирован для проведения поисков в корпоративных хранилищах. Данный продукт можно получить бесплатно (http://www.microsoft.com/enterprisesearch/en/us/search-server.aspx). Все функции, имеющиеся в Search Server 2008 Express, включены в MOSS 2007 (Standard или Enterprise).
Office Forms Server 2007 позволяет пользователям развертывать формы, созданные в Office InfoPath 2007 (поставляется отдельно) на портале SharePoint и централизованно управлять этими формами, используя Office InfoPath Forms Services. Компания Microsoft выпустила Office Forms Server 2007, чтобы разрешить пользователям MOSS 2007 с лицензией Standard CAL задействовать формы InfoPath без покупки MOSS 2007 с лицензией Enterprise CAL. Все функции, имеющиеся в Office Forms Server 2007, включены в MOSS 2007 с Enterprise CAL.
MOSS 2007 с лицензией Standard CAL включает в себя все, что есть в WSS 3.0 и Search Server 2008 Express. Также он включает каталог Site Directory, диспетчер Site Manager, элементы Social Networking Web Parts, доставку по RSS, профили пользователей и их хранилище Profile Store, возможности указания целевой аудитории, шаблоны Document Management Site Templates, Enterprise Site Templates, интеграцию с Microsoft Information Rights Management, механизм однократной регистрации SSO и другие функции. Возможности развертывания форм InfoPath на портале SharePoint отсутствуют.
MOSS 2007 с лицензией Enterprise CAL включает в себя все, что есть в MOSS 2007 с лицензией Standard CAL. Более того, в нем реализованы средства бизнес-аналитики (BI), которые позволят интегрировать данные из внешних источников, таких как приложения ERP и другие корпоративные приложения. Вы можете интегрировать любую базу данных, которая поддерживается через соединение ADO.NET. Оно включает интегрированные модули Data Connection Libraries, в централизованном порядке сохраняющие одобренные строки соединений с внешними источниками данных. MOSS 2007 с лицензией Enterprise CAL включает службы Excel Services, которые позволяют пользователям обмениваться информацией BI из крупноформатных таблиц Excel через браузер. Используя Excel Services, пользователи могут показывать схемы, таблицы, сводные таблицы, панели и наборы показателей, созданные в рабочих книгах Excel, без какой-либо специальной доработки.
Дополнительную информацию о возможностях версий SharePoint можно найти по адресу http://office.microsoft.com/en-us/sharepointtechnology/FX101758691033.aspx. Учтите, что, вне зависимости от версии SharePoint, необходимо сохранять данные SharePoint на сервере внутренней базы данных. С WSS 3.0 можно использовать Windows Internal Database (которая также известна как Microsoft SQL Server 2005 Embedded Edition), но большинство специалистов используют SQL Server 2008 (Standard или Enterprise Edition) или SQL Server 2005 (Standard или Enterprise Edition).
Размер портала
Часто очень трудно бывает предсказать, какой размер портала SharePoint будет использоваться. Возможно, ваши грандиозные планы по развертыванию вызовут скромный интерес. Или наоборот, не веря, что портал будет популярным, поскольку его всерьез не воспримут, вы столкнетесь с изрядно возросшим трафиком, грозящим остановкой портала. По моему опыту, самая лучшая реализация начинается с малого и далее растет по мере необходимости. Цикл разработки немного отличается у разных порталов, поскольку большая часть обсуждаемых пунктов может быть быстро изменена и модифицирована. По этой причине я настоятельно рекомендую задействовать прототип любого проекта SharePoint вне зависимости от окончательного размера портала. Создайте несколько узлов, получите обратную связь от пользователей, сделайте необходимые модификации и повторите все снова.
Некоторые из большинства успешных реализаций, в которых я принимал участие, представляют собой проекты, выступающие в роли катализатора, например портал, создаваемый как новое хранилище документов, или портал для сложного проекта, который объединяет много сотрудников. Этот вариант реализации наиболее эффективен, потому что пользователи заинтересованы в том, чтобы получить максимум выгоды от портала. Это существенно, ведь сайт SharePoint становится последней инстанцией для таких проектов, и все ключевые участники соглашаются отправлять реальную информацию на портал. В какой-то момент информация на портале образует «критическую массу» для проекта, а это значит, что развертывание SharePoint идет успешно. В такой момент пользователи осознают потенциальную мощь SharePoint и начинают все больше использовать портал в своей работе.
Еще один подход к развертыванию состоит в том, чтобы попытаться создать сайт SharePoint, который будет включать в себя все, что необходимо пользователям. В этом случае пользователи часто бывают «перегружены» возможностями сайта, и им не всегда удобно работать с порталом. Часто это затрудняет привлечение пользователей на сайт SharePoint, и портал простаивает. Гораздо лучше начинать с малого. Создайте прототип и дорабатывайте портал по мере необходимости.
32 против 64
Если у вас нет достаточно веской причины для установки 32-разрядной версии SharePoint, рекомендую использовать 64-разрядную платформу для внешних и внутренних серверов. Если вы планируете интегрировать функции BI со своим порталом, вероятно, 32-разрядный сервер понадобится для совместимости. Например, продукт Microsoft Dynamics GP требует 32-разрядного сервера SharePoint для интеграции функций BI с сайтом SharePoint. Однако 64-разрядная поддержка в будущем все же планируется.
Одним из главных преимуществ 64-разрядной платформы является масштабируемость. С 32-разрядной платформой и стандартной версией Server 2008 или Windows 2003 вы можете использовать только 4 Гбайт оперативной памяти. С 64-разрядной платформой и стандартной версией Server 2008 или Windows 2003 можно оперировать 32 Гбайт оперативной памяти. Масштабируемость особенно важна в случаях, когда вы не уверены, насколько велик будет портал. 64-разрядная платформа имеет возможность управлять большим количеством пользователей, и соответственно большим количеством узлов. На 64-разрядной платформе можно компенсировать медленную дисковую подсистему, добавляя больше памяти во внешние или внутренние серверы, потому что эта дополнительная память будет кэшировать в памяти информацию с дисков, обеспечивая более высокую производительность и снижая нагрузку на дисковую подсистему.
Виртуализация
Виртуализация позволяет запускать несколько виртуальных серверов на одном физическом. Для одной небольшой фермы внешних/внутренних серверов SharePoint виртуализация является хорошим решением в силу сниженных затрат на «железо» и меньшей вероятности ошибки, но что можно сказать о больших? Виртуализация крупных ферм SharePoint также возможна. Подумайте над перечисленными ниже пунктами, когда будете виртуализировать свою среду SharePoint.
Платформа виртуализации. Хотя вы можете задействовать бесплатные продукты виртуализации, которые запускаются поверх универсальной операционной системы (например, VMware Server, Microsoft Virtual Server 2005), я рекомендую для лучшей производительности использовать гипервизор (напри мер, VMware ESX Server, Microsoft Hyper-V). По моему опыту, производительность гипервизоров значительно выше, чем у бесплатных продуктов виртуализации. Кроме того, с гипервизорами вы получите гораздо более высокое (иногда двойное) увеличение числа виртуальных серверов на один хост. Вы теряете минимум производительности (около 4%) при запуске виртуальной машины на гипервизоре по сравнению с запуском этой машины на выделенном «железе».
Балансировка нагрузки. Если вы планируете уравновесить загрузку внешних серверов в виртуальной среде, убедитесь, что они находятся на разных хостах. Если вы поставите внешние серверы на один хост, вы скорее потеряете в производительности, чем наоборот.
Ограничения памяти. ESX Server и Hyper-V позволяют распределять до 64 Гбайт оперативной памяти гостевым системам сервера. Если вы не управляете чрезмерно большим сервером базы данных, этой памяти должно хватить для всех серверов SharePoint. Бесплатные продукты, такие как VMware Server и Virtual Server 2005, выделяют максимум 3,8 Гбайт памяти на одну гостевую систему, а этого может быть недостаточно даже для небольшой фермы SharePoint.
Ожидаемая загрузка процессора. Серверы фермы SharePoint имеют тенденцию массивной загрузки процессора в силу наличия нескольких источников: сессии SSL, сканирование на вирусы, хранимые процедуры и неравномерность загрузки фермы. Некоторые платформы виртуализации, такие как ESX Server, позволяют сохранять такты процессора для выделенных гостевых систем виртуального сервера. Если вы предвидите объемный трафик SSL и ощущаете необходимость в балансировке нагрузки на внешних серверах, используйте специальный акселератор SSL, такой как устройство F5 Network BIG-IP, для снижения загрузки процессоров на внешних серверах. В виртуальном мире не стоит полагаться на дополнительные виртуальные процессоры для увеличения производительности. Увеличение количества процессоров с одного до четырех у гостевых систем приведет к примерно 10-процентной прибавке производительности. Гипервизоры лучше выполняют работу по распределению ресурсов процессоров хоста. Вы получите большую производительность, сохраняя циклы процессора для гостевых систем сервера, чем если бы распределяли процессоры на каждой гостевой системе.
Мгновенные снимки. Одной замечательной чертой ESX Server и Hyper-V является способность делать мгновенные снимки виртуальных систем. Можно сделать снимок фермы сервера SharePoint до каких-либо значительных изменений портала (например, установка пакета обновлений или существенная модернизация сайта). Если что-то идет не так после изменений, вы можете вернуть ферму в прежнее состояние. Если все идет хорошо, можно реализовать изменения на виртуальном сервере. Снятие снимков обычно занимает около минуты, то есть значительно меньше, чем инкрементальная резервная копия. Но помните, что снимки могут быстро израсходовать место на хосте. Снятие снимков гостевых систем сервера создает дельта-файл, в который записываются все изменения в гостевых системах сервера. Когда в гостевых системах, для которых делают снимок, производятся существенные изменения, весьма необычно видеть дельта-файл, растущий быстрее, чем первоначальный дисковый файл виртуального сервера. По этой причине следует использовать снимки изредка и проверять, достаточно ли у вас дискового пространства на физическом сервере.
Поддержка 64-разрядных гостевых систем. Если вы планируете управлять 64-разрядными гостевыми системами сервера виртуализации, нужно проверить два фактора: платформа виртуализации должна поддерживать 64-разрядных гостей (ESX Server и Hyper-V поддерживают их), а BIOS физического сервера и его процессор должны поддерживать 64-разрядную виртуализацию.
Восстановление после сбоя. Если вам не повезло и пришлось выполнять восстановление фермы, вы знаете, что это трудоемкий процесс, даже с хорошими резервными копиями. Если ваша ферма SharePoint управляется на виртуальной платформе и у вас есть копии образа виртуальных серверов, процесс восстановления значительно упрощается. Я рекомендую создавать копии образа гостевых систем сервера как минимум раз в неделю наряду с другими копиями, которые делаются в течение этого периода времени. Копии образа виртуального сервера включают снятие мгновенного снимка гостевых систем сервера, резервное копирование дискового файла виртуального сервера и удаление снимка. Если у вас есть резервные копии дисковых образов виртуального сервера, процесс восстановления значительно упрощается. Чтобы восстановить виртуальный сервер на другом хосте, нужно только запустить гипервизор на новом оборудовании, установить резервную копию программного обеспечения, установить агент резервирования на виртуальном серверном хосте и восстановить виртуальные образы серверного диска. После запуска гостевых систем сервера вам может понадобиться восстановление из последней полной или диффиренциальной копии. Поскольку виртуализация создает независимую от «железа» платформу, вы можете восстановить эти виртуальные образы гостевых систем сервера на другом физическом сервере, без проблем управляя той же самой платформой виртуализации. Если у вас есть 64-разрядные гостевые системы сервера, убедитесь, что ваш новый физический сервер готов к принятию 64-разрядных гостей.
Высокая доступность
Всестороннее обсуждение относительно высокой доступности выходит за рамки данной статьи. Однако приведу несколько рекомендаций. Если ваша ферма SharePoint должна быть постоянно доступной, подумайте о кластерах — Microsoft или VMware. Кластеры обычно состоят из общего хранилища на системе SAN с двумя или более узлами кластеров. Кластеры разработаны таким образом, что они автоматически прекращают работу, если с аппаратурой что-то не так. Кластеры Microsoft обычно являются кластерами одного приложения, такими как кластеры Microsoft Exchange или SQL Server. Кластеры VMware обычно представляют собой кластеры нескольких приложений, где разные приложения находятся в одном и том же кластере. Кластеры VMware, как правило, предлагают хорошую детальную обработку отказа по сравнению с кластерами Microsoft. Стоят они дорого. Например, iSCSI SAN стоит от 30 тыс. долл., а Fibre Channel SAN — от 50 тыс. долл. И это только SAN, а еще надо будет приобрести серверные узлы и программное обеспечение. Самый хороший способ оправдать цену кластера — это подсчитать стоимость простоя.
Я обычно начинаю рассматривать высоконадежные решения для компаний, у которых 250 и более пользователей. Например, у меня был клиент, который управлял хедж-фондом и оценивал простой в 20 тыс. долл. за минуту. Хотя в офисе было лишь 30 пользователей, клиент решил установить кластер, потому что цена простоя была весьма высока.
Конфигурация фермы SharePoint
При проектировании оптимальной конфигурации фермы для портала SharePoint компании следует подумать над многими факторами. Перечислим несколько пунктов, на которые стоит обратить внимание.
Internet-доступ к порталу. Каков ожидаемый трафик Internet? Убедитесь, что вы приняли во внимание не только скорость канала связи с Internet, но и текущий максимум и средний процент использования канала с Internet. Если вы предвидите активное использование канала Internet, вам, вероятно, следует увеличить пропускную способность канала. Когда есть доступ к сайту SharePoint из Internet, я считаю, что соединения по SSL обязательны. Многочисленные сессии SSL могут существенно отяготить Web-сервер SharePoint. Если вы считаете, что будет более 50 одновременных сессий, примите решение использовать специальное устройство балансировки нагрузки SSL с двумя или более внешними серверами для устойчивости к сбою. Это позволит снизить нагрузку на процессор на Web-сервере и оптимизировать работу по балансировке нагрузки, по сравнению с Microsoft Network Load Balancing (NLB), потому что аппаратное решение принимает во внимание фактический объем трафика, а не число соединений. Устройства балансировки нагрузки SSL обычно снабжены proxy-модулем SSL и проверяют пакеты в трафике SSL, что повышает безопасность сайта SharePoint. Если доступ к порталу будет осуществляться прямо из Internet, подумайте о размещении фермы SharePoint у провайдера таких услуг.
Специальные серверы для ролей SharePoint. Если вы предполагаете активное использование портала для поиска, работы Web-служб, преобразования документов или вычислений в таблицах Excel, рассмотрите вариант с выделением одного сервера для каждой из серверных ролей, которые предположительно будут использоваться чаще всего. Для устойчивости при сбое подумайте об использовании двух или более серверов для каждой роли.
Серверы баз данных. Если ваш сайт очень большой, вы, возможно, захотите распределить свой логический сайт SharePoint на два или несколько серверов баз данных.
Наиболее распространенным вариантом фермы SharePoint является один внутренний сервер базы данных SQL Server с одним внешним сервером. Внешний сервер отвечает за администрирование, Web-службы, преобразование документов, вычисления в таблицах Excel, поиск и работу с входящей электронной почтой.
Если вы используете виртуальные серверы для фермы SharePoint и эти серверы находятся на одном физическом сервере, не имеет смысла запускать различные серверные роли SharePoint на нескольких серверах, за исключением отделения сервера базы данных от остальных ролей сервера SharePoint (это должно быть сделано исключительно по причине безопасности). Если вы запускаете виртуальные серверы вашей фермы SharePoint и вам нужна высокая доступность и балансировка нагрузки, убедитесь, что у вас нет виртуальных серверов с одинаковыми ролями, запущенными на одном и том же хост-сервере. Например, если необходима высокая доступность и балансировка нагрузки для Web-серверов SharePoint в виртуальной среде, убедитесь, что каждый виртуальный сервер запущен на другом хосте. Размещение двух виртуальных серверов на одном хосте не снизит вероятность сбоя, потому что отказ аппаратных средств на хост-сервере заставит оба виртуальных сервера остановиться. Кроме того, размещение двух виртуальных серверов на одном хосте больше навредит, нежели поможет производительности. Для получения всесторонней информации о решениях для фермы SharePoint рекомендую бесплатно загрузить книгу Planning and Architecture for Office SharePoint Server 2007, пройдя по ссылке: http://technet.microsoft.com/en-us/library/cc262757(TechNet.10).aspx.
Резервные копии
Если вы используете агент резервирования SQL Server, вы можете отчасти защитить установку SharePoint, создавая дополнительную копию базы данных SQL Server или сохраняя дамп базы данных SQL Server в файл, который позднее будет храниться автономно. Следует создать резервные копии всех других серверов в ферме SharePoint. Для более крупных сред, использующих SAN, можно сделать снимки SAN и сохранить их на дисках Just a Bunch of Disks (JBOD), чтобы обойти ограничения по времени резервирования. Оперативные резервные копии уязвимы для проникновения вирусов и других атак вредоносных программ. Поэтому очень важно сохранить копии снимков резервных копий на автономных носителях.
На данный момент большинство программ резервного копирования поддерживает агентов резервирования, специализированных для MOSS 2007. Преимущество резервных агентов, предназначенных для SharePoint, заключается в том, что они предлагают детальное восстановление и могут работать с многосерверными фермами. Даже если вы в состоянии выполнить восстановление SQL Server, детальное восстановление без агента резервирования, предназначенного для SharePoint, может оказаться сложным. Мне приходилось замечать, что нередко запросы на восстановление идут не для всего сайта SharePoint, а лишь для каких-либо подузлов или конкретного документа на портале. Это тот случай, когда агенты резервирования оправдывают свою цену. Хотя системы отчасти защищены функцией Recycle Bin, реализованной в MOSS 2007, мне иногда приходилось проводить детализированное восстановление.
Если у вас на портале есть особо важные данные, я рекомендую купить и использовать программное обеспечение, у которого имеется агент резервирования, предназначенный для MOSS 2007. Я считаю целесообразным создавать либо полную резервную копию один раз в неделю, наряду с дифференциальными копиями в течение этого времени, либо полную копию всего портала SharePoint каждый день.
Аварийное восстановление
Если вы работаете в компании, которая должна следовать положениям акта Сарбейнса-Оксли, важно убедиться, что вы можете выполнить восстановление после аварии и понять, насколько быстро вы в состоянии это сделать. Если у вас был неудачный опыт восстановления сайта SharePoint после отказа оборудования или аварии, вы знаете, что это может быть проблематично. Применение многосерверной фермы только осложняет процесс восстановления. Ниже перечислены шаги для восстановления простой двухсерверной фермы SharePoint.
- Купите новое оборудование.
- Установите Server 2008 или Windows 2003 на сервер базы данных.
- Установите резервное программное обеспечение.
- Установите ленту на резервном сервере.
- Установите агент резервирования на сервер базы данных.
- Восстановите программы (включая SQL Server) на сервере базы данных.
- Восстановите базы данных на сервере базы данных.
- Установите Server 2008 или Windows 2003 на внешний сервер.
- Установите агент резервирования на внешнем сервере.
- Восстановите SharePoint на внешнем сервере.
- Протестируйте.
Если ферма SharePoint поддерживается на виртуальных серверах, процесс будет более простым при условии, что у вас есть образы гостевых систем сервера, копируемые еженедельно, наряду с традиционными копиями, создаваемыми в течение недели. Перечислим действия, при которых ESX Server используется в качестве платформы виртуализации.
- Купите новое оборудование.
- Установите ESX Server на сервер хоста.
- Установите резервное программное обеспечение.
- Установите ленту на резервном сервере.
- Установите агент резервирования на хосте ESX Server.
- Восстановите ферму серверов SharePoint на хосте ESX Server и запустите их.
- Если нужно, восстановите последнюю полную или дифференциальную копию на сервере. По выбору восстановите последнюю полную или дифференциальную копию на сервере базы данных.
- Протестируйте.
Существует два основных преимущества использования виртуализации при аварийном восстановлении: участие администратора во время процесса восстановления значительно меньше и восстановление на разнородном оборудовании хоста не усложняет процесс. Используя виртуализацию при аварийном восстановлении, вы можете сократить время восстановления как минимум наполовину по сравнению с восстановлением серверов, которое начинается с «голого железа».
Существует немало факторов, которые надо учесть при принятии решения о внедрении платформы SharePoint, способной улучшить работу вашей компании. Тщательный анализ каждого фактора послужит гарантией того, что ваш портал заработает хорошо и будет легко масштабироваться.
Алан Сугано (asugano@adscon.com) — президент компании ADS Consulting Group, специализирующейся на разработках в области Microsoft.NET и SQL Server и сетевых технологиях