Технологии виртуализации серверов получили такое широкое распространение, что превратились в фактический стандарт для развертывания серверов во многих компаниях. Все чаще в центрах обработки данных новые серверы развертываются как виртуальные машины, если нет явных противопоказаний. Это важное изменение: всего несколько лет назад ситуация была противоположной, и серверы размещались на физическом оборудовании, если только не было особых причин для виртуализации.

Как же быть с Microsoft SharePoint? Следует ли виртуализовать некоторые или все экземпляры SharePoint, получая преимущества консолидации, оптимизации и гибкости, свойственные виртуальной инфраструктуре? На практике среда SharePoint, особенно состоящая из экземпляров SharePoint Server 2010, может быть успешно развернута на виртуальных серверах, при условии выделения достаточных ресурсов для виртуальных гостей (guest) и соответствующего масштабирования базовых систем виртуализации (host). .

Требования и рекомендации по инфраструктуре виртуализации

Ключ к стабильной и высокопроизводительной виртуальной среде SharePoint — правильный выбор базовой архитектуры виртуализации. Настройки по умолчанию и медленные диски пригодны для тестовой среды, но хост-системы с высоким быстродействием должны соответствовать специфическим требованиям. Поэтому при проектировании базовой инфраструктуры виртуализации необходимо выполнять следующие требования.

  • Процессоры должны обеспечивать аппаратную виртуализацию, то есть располагать режимом виртуализации. К ним относятся процессоры с технологией Intel Virtualization Technology (Intel VT) и AMD Virtualization (AMD-V).
  • Требуется наличие аппаратного механизма предотвращения выполнения данных data execution prevention (DEP).
  • Гостевые экземпляры SharePoint должны размещаться на гипервизоре Hyper-V или гипервизоре стороннего поставщика, который соответствует требованиям программы Server Virtualization Validation Program. Дополнительные сведения о программе можно найти во врезке «История виртуализации Microsoft».
  • Для основной операционной системы должно быть выделено достаточно памяти. Для узла Hyper-V необходимо выделить не менее 1 Гбайт оперативной памяти. При использовании другого гипервизора обратитесь к поставщику за информацией о минимальных требованиях к памяти.
  • Для управления узлом нужно выделить особый сетевой адаптер.
  • Необходимо использовать несколько массивов хранения или наборов дисковых устройств. Оптимальный вариант — выделить специальный массив хранения или набор дисковых устройств для основной операционной системы, другой — для гостевой и по крайней мере еще два для журналов и томов базы данных в виртуальных сеансах SQL Server.
  • Требуется использовать виртуальные диски VHD фиксированного размера или с прямым доступом к физическому жесткому диску (pass-through). Все диски VHD, используемые серверами SharePoint, должны быть дисками фиксированного размера или напрямую подключаться к хосту. Быстродействие виртуальных дисков с прямым доступом к физическому жесткому диску — самое высокое, поэтому такой метод настоятельно рекомендуется для серверов SharePoint. Скорость дисков фиксированного размера выше, чем у динамически расширяемых дисков, производительность которых снижается при изменении их размера.
  • Отношение числа виртуальных процессоров к физическим ядрам должно составлять 2:1. Выделение слишком большого числа виртуальных процессоров виртуальному узлу может привести к его перегрузке и снижению быстродействия. Поэтому отношение числа виртуальных процессоров к физическим ядрам не должно превышать 2:1. Например, если в компьютере установлено два четырехъядерных процессора (всего 8 ядер), то максимальное количество виртуальных процессоров, выделяемых и функционирующих в каждый момент времени, — 16. Если каждой виртуальной машине выделено по 4 виртуальных процессора, то на узле может быть запущено не более 4 виртуальных машин.

Помимо перечисленных технических требований к узлу виртуализации, необходимо помнить о следующих рекомендациях по проектированию виртуальной среды.

  • Следует выделить особый сетевой адаптер для переключения ресурсов в случае отказа. Для такой программы переключения узлов виртуализации, как Hyper-V Live Migration, необходим особый сетевой адаптер.
  • Узлам виртуализации рекомендуется выделить столько памяти и вычислительных ядер, сколько возможно в рамках бюджета. Благодаря возможности программного обеспечения виртуализации эффективно использовать расширенные ресурсы и в связи с необходимостью выделения дополнительных ресурсов для переключения узлов в случае отказа обычными становятся узлы виртуализации с несколькими многоядерными процессорами и огромным объемом оперативной памяти (64 Гбайт и более). При выборе оптимального размера узлов виртуализации следует соотносить стоимость дополнительных компонентов с необходимостью уменьшить количество узлов. Обычно дополнительные затраты на виртуализацию серверов составляют всего 5%, поэтому расходы на дополнительную память и вычислительные ядра с избытком компенсируются преимуществами расширенных ресурсов.
  • На узлах виртуализации следует запускать только программы виртуализации и серверную роль виртуализации. Исключение составляют программы для борьбы с вирусами и резервного копирования. Перегрузка узла виртуализации другими программами и серверными ролями может привести к существенному снижению производительности гостей. Кроме того, для запуска на сервере Windows любых ролей, кроме роли виртуализации, требуется одна дополнительная лицензия Windows Server. Но если на узле выполняется только программа виртуализации, операционная система узла не учитывается при определении числа лицензий Windows, используемых в рамках программы лицензирования виртуализации Microsoft.
  • В целях повышения производительности не устанавливайте все роли SharePoint и роль SQL Server на одной виртуальной машине. Даже в небольшой среде следует использовать по крайней мере две виртуальные машины: одну для роли базы данных SQL Server и одну для ролей внешнего компонента SharePoint и приложений.

Рекомендации по программному обеспечению и лицензированию

Очень желательно использовать новейшее программное обеспечение узлов виртуализации от конкретного поставщика. Например, новая версия Hyper-V поставляется вместе с Windows Server 2008 R2. Производительность Hyper-V 2.0 существенно выше, чем у Hyper-V 1.0, в частности усовершенствованы операции ввода/вывода для виртуальных жестких дисков фиксированного размера. Другие новшества Hyper-V 2.0 — Core Parking, Live Migration, TCP Offload, Jumbo Frames и поддержка процессоров с технологией Second-Level Address Translation (SLAT). При виртуализации SharePoint на платформе Hyper-V следует также подумать о возможности разместить виртуальный узел на Server Core, чтобы уменьшить уязвимость, требования операционной системы к месту на диске (2 Гбайт вместо 10 Гбайт) и памяти.

При управлении несколькими хост-системами виртуализации рекомендуется использовать программу централизованного управления. Например, Microsoft выпускает диспетчер System Center Virtual Machine Manager (VMM) 2008 R2 для управления средой виртуализации. Он обеспечивает преобразование физических серверов в виртуальные (P2V), библиотеки серверных шаблонов и управление гостями и узлами Hyper-V и VMware из одной консоли.

Компания Microsoft предоставляет экономичные варианты лицензирования для Windows Server, что позволяет компаниям значительно сократить затраты на виртуализацию серверов. Существует три типа лицензий для серверов виртуализации.

  • Windows Server Standard Edition. Каждая лицензия выдается для одной физической среды операционной системы (POSE) или одной виртуальной среды (VOSE). Обратите внимание, что не требуется лицензия для узла виртуализации, выделенного для задач виртуализации, независимо от того, применяется ли Windows Server (как в случае с Hyper-V).
  • Windows Server Enterprise Edition. На узле может существовать до четырех сред VOSE одновременно. Обратите внимание, что учитываются только активные виртуальные машины, поэтому отключенная виртуальная машина не влияет на лицензию Enterprise Edition.
  • Windows Server Datacenter Edition. Лицензия учитывает процессоры узла виртуализации (например, для двух четырехъядерных процессоров требуется две лицензии) и дает право запускать неограниченное число виртуальных машин на узле.

Эти варианты лицензирования применимы не только к Hyper-V, но и к любому гипервизору в рамках программы Server Virtualization Validation Program. Наиболее экономичный вариант для компаний с существенными капиталовложениями в инфраструктуру виртуализации следующий: купить соответствующее число лицензий Datacenter Edition, чтобы охватить все узлы виртуализации.

Виртуализация роли веб-сервера

Любая служба или роль SharePoint может быть виртуализована. Какой сервер SharePoint следует виртуализовать в первую очередь? Основной кандидат — сервер SharePoint с веб-ролью, то есть выполняющий Microsoft IIS и обслуживающий все веб-запросы, направляемые в SharePoint. В таблице 1 приведены ориентировочные требования к ресурсам для виртуальных серверов SharePoint с веб- и другими ролями.

Таблица 1. Ресурсы для ролей Sharepoint Server

Как видно из таблицы 1, серверу SharePoint, содержащему только веб-роль (то есть веб-серверу), необходимо выделить два виртуальных процессора и не менее 6 Гбайт оперативной памяти, наряду с одним виртуальным жестким диском для операционной системы. Если веб-серверу требуется обрабатывать более интенсивный веб-трафик, можно просто назначить дополнительные веб-серверы с такими же характеристиками. Размер виртуального жесткого диска для операционной системы хоста должен быть не менее 12 Гбайт плюс общий размер памяти, выделенной для виртуальной машины, но полезно увеличить размер тома (обычно до 50 или 100 Гбайт) с учетом будущего увеличения размера базовой операционной системы.

Виртуализация роли приложения

Другие вероятные кандидаты для виртуализации — серверы SharePoint с ролью сервера приложений (или серверы приложений). Серверы приложений могут содержать различные прикладные службы, такие как Access Service, PerformancePoint и Managed Metadata. Как правило, службы поиска к ним не относятся. С технической точки зрения это прикладные службы, но архитектурно их обычно относят к различным серверным ролям. Поэтому о роли сервера поиска будет рассказано отдельно.

Как показано в таблице 1, типичный виртуальный сервер приложений состоит из виртуальной машины с двумя виртуальными процессорами и оперативной памятью не менее 6 Гбайт. Необходим один виртуальных жесткий диск с заранее заданным размером от 50 до 100 Гбайт для гостевой операционной системы. Обратите внимание, что эти показатели могут быть различными, в зависимости от количества прикладных служб, установленных на одной машине, и числа пользователей приложений.

Малые компании иногда объединяют роли сервера приложений и веб-сервера на одном сервере SharePoint. При объединении ролей повышаются требования к памяти и процессорам в гостевом сеансе.

Виртуализация роли сервера поиска

Третьи в очереди на виртуализацию — серверы поиска SharePoint, которые содержат одну или несколько ролей поиска. К ролям поиска относятся серверы запросов (query), индексирования (index) и предварительного осмотра (crawl). Сервер запросов обеспечивает функциональность запросов, а сервер индексирования — функциональность индексации. В SharePoint 2010 нет ограничения на единственный индекс, как в Microsoft Office SharePoint Server (MOSS) 2007. Поэтому данная роль лучше масштабируется и соответствует большему количеству моделей распределенного развертывания. Роль сервера предварительного осмотра представляет компонент обходчика, используемый в SharePoint для просмотра документов в целях подготовки их поиска. Для избыточности можно создать несколько компонентов обходчика на различных серверах.

Типичный виртуальный сервер поиска состоит из виртуальной машины с четырьмя виртуальными процессорами и 8 Гбайт оперативной памяти (в таблице 1 предполагается, что используется стандартная поисковая функциональность SharePoint 2010). Если используется FAST Search Server 2010, требования к оперативной памяти возрастают до 12–16 Гбайт. Количество серверов поиска, как и серверов приложений, может быть различным в зависимости от числа индексируемых элементов и интенсивности поисковой нагрузки.

Для сервера поиска требуется один виртуальный жесткий диск с предопределенным размером от 50 до 100 Гбайт для гостевой операционной системы и другой виртуальный жесткий диск для индекса и запросов. Размер этого диска зависит от объема полного текста, индексируемого в различных источниках.

Небольшие компании иногда используют один сервер SharePoint для ролей поиска и веб. В результате сочетания этих ролей возрастают требования к памяти и процессору в гостевом сеансе.

Объединение всех ролей на виртуальном сервере

Многие компании сочетают роли поиска, приложений и веб на одном виртуальном сервере SharePoint. Часто это происходит в малых компаниях, которые хотят развернуть SharePoint на два гостевых сеанса в целях повышения готовности, но имеют небольшое число гостей.

Хотя объединение этих ролей приводит к дополнительной нагрузке в отдельном сеансе сервера, к комбинированному серверу применимы те же рекомендации относительно памяти и процессора, что и к специализированному веб-серверу. Как показано в таблице 1, типичный виртуальный комбинированный сервер состоит из виртуальной машины с четырьмя виртуальными процессорами и памятью от 10 до 16 Гбайт, в зависимости от количества пользователей. Один виртуальный жесткий диск размером от 50 до 100 Гбайт выделяется для гостевой операционной системы, другой — для индекса и собрания запросов.

Администраторов SharePoint, знакомых с MOSS 2007, поражают требования SharePoint 2010 к памяти. Действительно, для SharePoint 2010 необходима память гораздо большей емкости, чем для предшествующих версий. Требования к оперативной памяти можно уменьшить, отключив ненужные прикладные службы.

Виртуализация роли базы данных

Роль базы данных SQL Server — последняя и самая трудная для виртуализации роль. Для сервера с ролью базы данных (или сервера базы данных) требуется очень много ресурсов оперативной памяти и процессора. Необходимо не менее четырех виртуальных процессоров и 8 Гбайт оперативной памяти. Однако для оптимальной производительности необходимо не менее 12 Гбайт памяти.

Как и для виртуальных машин SharePoint, для виртуальной машины с SQL Server требуются виртуальные жесткие диски фиксированного размера или с прямым доступом к физическому жесткому диску. Конфигурация дисков одинакова для физических компьютеров SQL Server и виртуальных машин SQL Server; поэтому выделите достаточное количество физических дисков для томов базы данных и журналов. Кроме того, обязательно следуйте стандартным рекомендациям по оптимизации связки SharePoint-SQL Server, в частности заранее определите размер и переместите базу tempdb на тома с высоким быстродействием.

Помните, что это не более чем рекомендации. Реальная производительность определяется типом диска, аппаратной архитектурой и другими факторами. Некоторые компании рассчитывают требования к аппаратным средствам, а затем просто расширяют оперативную память или уменьшают количество баз данных в одном сеансе SQL Server.

Microsoft поддерживает как зеркалирование, так и кластеризацию баз данных в целях повышения отказоустойчивостии в виртуальной среде SQL Server. Кроме того, для виртуальных машин SQL Server реализованы режимы отработки отказов, в частности Hyper-V Live Migration. Необходимо отметить, что все базы данных SQL Server в ферме SharePoint требуется восстанавливать из одной временной точки с другими базами данных. Это относится к технологии моментальных снимков виртуализации и моментальным снимкам на основе SAN баз данных SQL Server.

Образцы виртуальных архитектур SharePoint 2010

Существует много способов развернуть SharePoint 2010 в виртуальной среде. Однако некоторые структуры более распространены и отражают типичные потребности компаний. Например, высокая готовность — обязательное условие для управления хранилищами важных документов и функциями коллективной работы SharePoint. Все новые возможности повышения готовности в SharePoint 2010 доступны в виртуальной среде и проще в развертывании благодаря гибкости, обеспечиваемой виртуализацией.

На рисунке 1 показана малая виртуальная среда SharePoint 2010 со всеми компонентами, запускаемыми на одном виртуальном узле. Этот тип развертывания не обеспечивает встроенных функций повышения готовности или восстановления после сбоя, зато организовать среду проще всего, сохраняя преимущества и масштабируемость, свойственные виртуализации. В таблице 2 показан пример характеристик сервера для среды такого размера, рассчитанной ориентировочно на 500 активных пользователей.

Рисунок 1. Малая виртуальная среда SharePoint 2010 с одним виртуальным узлом
Таблица 2. Требования к развертыванию малой виртуальной среды SharePoint

На рисунке 2 показана масштабируемая виртуальная архитектура с высоким уровнем готовности и устойчивости к сбоям, для 2000 активных пользователей. Вся среда SharePoint развертывается на двух виртуальных узлах, что обеспечивает высокую готовность. Базы данных SQL Server зеркалируются с одного виртуального гостя на другого, а следящий экземпляр SQL Server контролирует основной экземпляр SQL Server, обеспечивая автоматическое переключение в случае отказа виртуального узла или гостя.

Рисунок 2. Средняя виртуальная среда SharePoint 2010 с двумя виртуальными узлами

Для обеспечения высокой готовности и восстановления после отказа не требуется наличия общего хранилища, сетей хранения данных (SAN) или решений готовности узла. В таблице 3 перечислены рекомендации по выбору архитектуры тестовых хоста виртуализации и гостя для решения, представленного на рисунке 2.

Таблица 3. Требования к развертыванию виртуальной среды SharePoint средних размеров

Технологии виртуализации обеспечивают высокий уровень масштабируемости и не ограничены небольшими и средними компаниями. Например, архитектура, показанная на рисунке 3, обеспечивает обслуживание десятков тысяч пользователей SharePoint, полную устойчивость к сбоям и отличную готовность при высоком уровне производительности. В этой модели несколько систем SQL Server используются для различных баз данных SharePoint. По одной системе применяется для баз данных контента, баз данных прикладных служб и баз данных поиска. Группы серверов создаются для различных ролей сервера SharePoint, и веб-уровень разбивается на два компонента: один для пользователей и один для предварительного осмотра и администрирования. Решения отработки отказов на основе узлов, такие как Hyper-V Live Migration, можно применить для переключения отдельных гостевых сеансов между отказавшими узлами. Рекомендации по архитектуре виртуальных узлов и гостей, представленной на рисунке 3, будут аналогичны рекомендациям таблицы 3, но в расширенном масштабе.

Рисунок 3. Крупная виртуальная среда SharePoint 2010 с тремя виртуальными узлами

Три примера архитектуры иллюстрируют некоторые потенциальные возможности, доступные при проектировании виртуальной среды SharePoint. Каждая среда уникальна, и конкретные детали зависят от особенностей бизнеса и технологии. Однако образцовые архитектуры могут послужить отправной точкой при разработке высокопроизводительной виртуальной среды SharePoint 2010.

Виртуализация серверов обеспечивает значительные преимущества; в частности, архитекторам SharePoint становится проще построить среду с высокой готовностью и устойчивостью к сбоям, нежели при использовании исключительно физического оборудования. Кроме того, благодаря консолидации, оптимизации и экономии виртуальная среда идеально подходит для многих организаций. Продуманная виртуальная архитектура узлов и гостей поможет построить отказоустойчивую и высокопроизводительную среду SharePoint, в которой полностью реализованы преимущества виртуализации.

История виртуализации Microsoft

История поддержки продуктов Microsoft, функционирующих в виртуальной среде, — долгая и сложная. Несколько лет назад компания Microsoft предоставляла ограниченную поддержку для основных серверных продуктов, таких как SQL Server, Exchange Server и SharePoint. Был даже предусмотрен вариант дублирования неисправности на физическом оборудовании, если техникам не удается определить причину неполадки в виртуальной среде. Слабая поддержка усугублялась тем обстоятельством, что Virtual Server 2005 R2 был продуктом виртуализации во времена Microsoft Office SharePoint Server (MOSS) 2007. Virtual Server 2005 R2 не относится к числу гипервизорных продуктов и непригоден для виртуализации 64-разрядных гостевых систем. Поэтому поддерживались лишь платформы, функционирующие с 32-разрядными версиями MOSS 2007. Это существенно ограничивало потолок производительности, особенно для роли базы данных, которая наиболее требовательна к ресурсам и эффективно использует 64-разрядную архитектуру. Кроме того, для веб-интерфейсов обычно требуется гораздо больше памяти, чем на 32-разрядной платформе.

Изменения произошли в результате двух важных событий. Во-первых, был выпущен гипервизор Hyper-V, совместимый с 64-разрядной платформой. Во-вторых, появилась программа Server Virtualization Validation Program, в которой было определено официальное отношение компании к запуску продуктов Microsoft на сторонних платформах виртуализации на базе гипервизора. Подробнее о программе рассказано в статье Microsoft «Support policy for Microsoft software running in non-Microsoft hardware virtualization software» (support.microsoft.com/kb/897615). Продукты Microsoft разрешается запускать на сторонних платформах виртуализации, проверенных Microsoft и скомпилированных в соответствии с определенными критериями. Благодаря этим двум факторам стал возможным запуск серверов Microsoft на виртуальных машинах, а у компаний, желающих внедрить поддерживаемые решения виртуализации, появилось больше уверенности.

Продукты SharePoint, выпущенные в 2007 году, в том числе Windows SharePoint Services 3.0 (WSS 3.0) и MOSS 2007, стали первыми решениями, виртуализация которых была широко поддержана Microsoft. Но в производственных условиях большинство компаний предпочитает виртуализовать только веб-сервер и иногда сервер запросов. По различным причинам другие роли обычно не виртуализуются. Например, сервер индексирования, как правило, размещается только на физическом оборудовании из-за строгих требований к процессору и памяти, и накладываются ограничения — один сервер индексирования на поставщика общих служб.

Официально Microsoft поддерживает виртуализацию любой роли или службы SharePoint 2010. Компания позиционирует версию SharePoint 2010 как очень удобную для виртуализации благодаря технологии виртуализации и сокращению требований к подсистеме дискового ввода/вывода для компонентов индексирования и поиска. Кроме того, усовершенствования облегчают виртуализацию приложений с интенсивными операциями ввода/вывода, таких как SQL Server, упрощая виртуализацию роли базы данных SharePoint. В результате многие компании задумываются о виртуализации своих новых ферм SharePoint 2010.

Майкл Ноэль (michael@cco.com) — партнер Convergent Computing, обладатель сертификата Microsoft SharePoint MVP и автор книг по проблемам SharePoint, ISA Server и Exchange Server