Простая конфигурация SharePoint из двух серверов — идеальный вариант для виртуального сервера. Система серверов Microsoft IIS, состоящая из SharePoint в качестве Web-интерфейса и сервера Microsoft SQL Server в качестве базы данных, особенно если не планируется их интенсивно использовать, может быть виртуализирована с помощью Microsoft Virtual Server 2005, VMware Server (оба продукта распространяются бесплатно) либо VMware ESX Server, после чего ее можно запустить на физическом сервере. Давайте посмотрим, что нам потребуется для этой операции, и подумаем, какие настройки нужно будет сделать для успешного запуска виртуального сервера SharePoint.

Виртуализация SharePoint Server 2007

Существует несколько преимуществ виртуализации простой фермы серверов Microsoft Office SharePoint, начиная от повышенной безопасности и заканчивая более высокой производительностью и снижением затрат.

Повышенная безопасность. Виртуальные серверы могут помочь повысить безопасность, особенно если SharePoint Server 2007 доступен через Internet. Как известно, данные SharePoint Server 2007 обычно хранятся во внутренней базе данных Microsoft SQL Server. Если оба приложения установлены на одном сервере, сервер базы данных также открыт для доступа из Internet. Однако, если серверы виртуализированные, только клиентская часть Web-SharePoint Server 2007 открыта для доступа из Internet, что защищает базу данных, существующую на отдельном виртуальном сервере, невидимом из Internet.

Отказоустойчивость. Запуск сразу двух виртуальных гостевых серверов на базовом сервере не понизит отказоустойчивость. Ведь сервер SharePoint Server 2007 не работает без базы данных и наоборот. Другими словами, если вы теряете из-за остановки одного из физических серверов либо клиентскую часть SharePoint Server 2007, либо сервер базы данных, портал останавливается.

Облегченное восстановление. Конфигурация гостевого виртуального сервера и логические диски сохраняются как файлы на базовом сервере. Создание резервных копий этих файлов, по сути дела, то же самое, что и создание автоматической резервной копии гостевых виртуальных серверов. Передача гостевого виртуального сервера другому базовому серверу означает просто копирование файлов на него и запуск гостевого виртуального сервера на базовом сервере. Вы можете тиражировать файлы гостевого виртуального сервера на удаленный сайт восстановления в аварийных ситуациях, используя приложения резервного копирования независимых разработчиков, такие как продукты Neverfail или репликации распределенной файловой системы Distributed File System Replication (DFSR), которая является неотъемлемой частью Windows Server 2003 R2. Это значительно упрощает восстановление фермы серверов SharePoint Server 2007.

Сокращенное время установки. Если создать базовый образ гостевого виртуального сервера, можно значительно сократить время, необходимое для развертывания гостевого сервера, до 15 минут или еще меньше, по сравнению с двумя или более часами, которые требуются для создания нового физического сервера.

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

Вопрос о 32 или 64 разрядах

Если вы планируете использовать виртуальный сервер, потребуется кое-что решить еще до того, как вы просто выберете платформу программного обеспечения своего виртуального сервера: нужно подумать, использовать 32- или 64-разрядную версию серверов SharePoint Server 2007 и SQL Server 2005. Если аппаратное обеспечение может поддерживать 64-разрядную версию сервера Windows Server 2003 R2 в качестве гостевого виртуального сервера, я настоятельно рекомендую использовать 64-разрядные версии серверов SharePoint Server 2007 и SQL Server 2005. Функции индексирования серверов SharePoint Server 2007 и SQL Server 2005 интенсивно используют память, диск и процессоры, поэтому использование 64-разрядной версии этого программного обеспечения может увеличить производительность. Единственный недостаток использования 64-разрядной версии SharePoint — это невозможность запускать iFilters для источников данных независимых разработчиков. Например, iFilter для PDF не работает с 64-разрядной версией Windows SharePoint Services 3.0 и SharePoint Server 2007.

Более того, запуск 64-разрядных версий серверов SharePoint Server 2007 и SQL Server 2005 в виртуальной среде ограничивает вас в выборе программного обеспечения виртуального сервера, потому что на момент написания статьи только VMware Server и ESX Server могли запускать 64-разрядные версии гостевых серверов. Virtual Server 2005 поддерживает 32-разрядные гостевые системы. Если вы используете VMware Server, ваше аппаратное обеспечение должно быть способно запускать как 64-разрядную версию Windows Server 2003 в качестве базовой системы, так и 64-разрядный гостевой виртуальный сервер.

Даже если ваш сервер поддерживает 64-разрядный гостевой виртуальный сервер, для некоторых процессоров, возможно, придется вначале включить поддержку этой функции, войдя в BIOS сервера и перезапустив базовый сервер. По моему опыту большинство серверов поставляется с выключенной по умолчанию поддержкой 64-разрядных виртуальных систем. Если планируется использовать VMware Server Server, нужно проверить, может ли сервер запускать 64-разрядные гостевые системы (чтобы это сделать, следует загрузить утилиту проверки процессора на совместимость с 64-разрядными системами на http://www.vmware.com/download/server/drivers_tools.html.)  

Если предполагается задействовать ESX Server, нужно зайти на сайт VMware, чтобы убедиться, что ваш сервер (и хранилище SAN, если оно используется) включен в список совместимых серверов. ESX Server недавно стал поддерживать новые четырехъядерные процессоры Intel. Для максимальной производительности гостевого виртуального сервера следует использовать ESX Server в качестве базовой операционной системы, потому что он обеспечивает практически неизмененную производительность аппаратного обеспечения, требует меньшей памяти и может обеспечить гостевой виртуальный сервер с оперативной памятью объемом 16 Гбайт. Это очень напоминает операционную систему Linux, однако, если вы не знакомы ни с ней, ни с сервером ESX, будьте готовы к обучению.

Если вы мало знакомы с виртуализацией и портал не будет использоваться интенсивно, задействуйте VMware Server с 64-разрядным сервером Windows Server 2003 R2 в качестве базовой операционной системы, потому что VMware Server распространяется бесплатно и вы уж точно знакомы с операционной системой Windows. VMware Server имеет также более широкий диапазон поддержки гостевых виртуальных систем, чем Virtual Server 2005.

Настройка базового сервера

Даже если вы сможете создать сервер SharePoint Server 2007 и запустить гостевой виртуальный сервер на устаревшем оборудовании, производительность пострадает. Сказать по правде, запуск виртуальных серверов SharePoint Server 2007 потребует покупки нового сервера. Самое последнее поколение серверов значительно быстрее, чем предыдущее, особенно серверы с многоядерными процессорами и жесткими дисками SAS.

Даже если вы приобретете новое аппаратное обеспечение для сервера, нужно будет проследить за тем, достаточно ли памяти на базовом сервере для того, чтобы поддерживать гостевые виртуальные серверы. Для производственного портала SharePoint Server 2007 нужно задать конфигурацию с начальной памятью 8 Гбайт. Это позволит запустить дополнительный гостевой виртуальный сервер на базовом, если потребуется. Если вы используете VMware Server с Windows Server 2003 в качестве базовой операционной системы, убедитесь, что версия Windows Server 2003 может поддерживать тот объем памяти, который установлен на сервере. Таблица показывает различные версии Windows Server 2003 R2 и максимальный объем памяти, который поддерживает каждая из них.

Я не рекомендую использовать 32-разрядную версию Windows Server 2003 R2 Standard в качестве базовой операционной системы, поскольку она не поддерживает достаточно оперативной памяти. Вы можете использовать 32-разрядную версию Windows Server 2003 R2 Enterprise, но для того, чтобы воспользоваться преимуществом нового серверного оборудования, следует все-таки запустить 64-разрядную версию Windows Server 2003, либо Standard, либо Enterprise. Версия Enterprise позволяет запускать четыре копии операционной системы в качестве виртуальной гостевой операционной системы на одном базовом сервере, независимо от того, какое программное обеспечение для сервера виртуализации используется.

О программах обеспечения защиты

Установите антивирусное программное обеспечение на базовой операционной системе, но оградите все файлы гостевого виртуального сервера от антивирусного сканирования, чтобы повысить производительность всех виртуальных серверов, запущенных на базовом. Также установите антивирусное и антишпионское решение, разработанное специально для SharePoint Server 2007, такое как Microsoft Forefront Security for SharePoint или другое. Вдобавок к антивирусному и антишпионскому решению для SharePoint Server 2007 нужно установить антивирусное и антишпионское программное обеспечение файлового уровня на гостевых системах виртуального сервера.

SharePoint Server 2007 и гостевые системы

Чтобы упростить создание гостевого сервера, нужно установить базовый образ Windows Server 2003 R2, затем просто скопировать образ диска в другую папку. Это потребуется, если придется создавать еще один или несколько новых виртуальных серверов. Для базового образа установите операционную систему, дополнительные средства виртуального сервера, последние пакеты обновления и текущие исправления, затем скопируйте установочные файлы в папки amd64 и/или i386 на гостевой сервер и объедините серверы в рабочую группу. 64-разрядная версия имеет в своем составе установочные папки как amd64, так и i386. Установочные файлы i386 используются, чтобы запускать 32-разрядные программы Windows в 64-разрядной версии Windows Server 2003. Когда потребуется установить новый гостевой виртуальный сервер, можно скопировать файл жесткого диска в другую папку и создать новый сервер, используя базовый образ жесткого диска. Когда вы запустите сервер, переименуйте его, установите IP-адрес и присоединяйтесь к домену. Создавая таким образом новый виртуальный сервер, можно сэкономить как минимум час времени на установку для каждого нового гостевого виртуального сервера.

Как много виртуальных гостевых серверов можно запустить? Для SharePoint Server 2007 я обычно устанавливаю два: один виртуальный сервер будет поддерживать SQL Server 2005, а другой — сервер SharePoint Server 2007, включая IIS, приложения и службы индексирования. Возможно, придется запустить по крайней мере одну 32-разрядную гостевую систему для резервирования или других серверных функций, которые не будут запускаться в 64-разрядной версии Windows Server 2003 R2. Дело в том, что некоторые программы резервного копирования не поддерживаются непосредственно на 64-разрядном сервере или в них возникают проблемы, даже если эти программы запускаются на 64-разрядной версии. Например, несмотря на то что резервная копия Symantec Exec 11 d позволяет провести установку на 64-разрядной версии Windows, я столкнулся со множеством сбоев и потому считаю ее крайне ненадежной.

Exec 10 d поддерживает удаленное резервное копирование 64-разрядного сервера Windows.

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

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

  • внешний сервер и приложения SharePoint Server: 2 Гбайт оперативной памяти; 20 Гбайт памяти на диске С; 40 Гбайт памяти на диске D; один процессор;
  • сервер SQL Server 2005: 3,8 Гбайт оперативной памяти (64-разрядная версия SQL Server) или больше, если вы запускаете ESX Server; 3 Гбайт памяти (32-разрядная версия SQL Server); 20 Гбайт на диске С; 100 Гбайт на диске D; один процессор.

Файлы гостевого виртуального сервера устанавливаются на массив RAID 5 или RAID 10 базового компьютера или на 4-Гбайт Fibre Channel SAN. Я не заметил увеличения производительности при назначении более одного процессора каждому гостевому серверу. После того как серверы запустятся и поработают некоторое время, можно подстроить эти параметры, если необходимо. Вероятно, самая важная настройка, которую надо сделать, — указать объем памяти для каждого гостевого виртуального сервера. Для дисков гостевого виртуального сервера я предлагаю заранее место не выделять. Хотя производительность действительно будет выше, если вы сделаете это заранее, но файлы виртуальных дисков на базовой системе будут меньше, если вы заранее не выделите для них место. А это упрощает работу с файлами, особенно когда создаются резервные копии. Я обнаружил, что в большинстве сценариев использования SharePoint Server 2007 занимаемое им дисковое пространство увеличивается очень медленно, обычно меньше нескольких мегабайтов в день. Я бы пожертвовал производительностью ради более быстрого восстановления файлов гостевого виртуального сервера, меньшего использования дискового пространства на базовом сервере и ускорения резервного копирования.

Убедитесь, что вы задали в конфигурации каждого гостевого сервера автоматический запуск при начальной загрузке базового сервера, иначе придется вручную запускать каждый гостевой сервер всякий раз, когда базовый сервер перезагружается. Хотя состояния виртуальных серверов сохраняются по умолчанию, рекомендуется отключать серверы до перезагрузки или выключения базового сервера. Убедитесь, что все администраторы сети осведомлены о конфигурации виртуального сервера и научите их отключать все виртуальные гостевые системы до отключения базового сервера.

Резервирование SharePoint Server 2007

Одна из замечательных особенностей SharePoint Server 2007 — это наличие мусорной корзины Recycle Bin, что обеспечивает своеобразную «страховочную сеть» на тот случай, если пользователи случайно удалят какой-либо элемент данных из портала. Известные поставщики программ резервного копирования, такие как Symantec или CA, должны вскоре разработать агентов, поддерживающих SharePoint Server 2007. Если вы запускаете Virtual Server 2005 или VMware Server, есть одна возможность для резервирования — отключить гостевые системы виртуального сервера и выполнить резервное копирование всех файлов гостевых виртуальных серверов на базовом сервере. Это дает вам запасной образ всех гостевых виртуальных серверов, запущенных на базовом. Главное неудобство такого подхода — вы не можете произвести детализированное восстановление: необходимо восстанавливать весь портал. Если вы запускаете ESX Server, можно сделать резервную копию файлов гостевого виртуального сервера, используя программное обеспечение типа esxRanger SE от Vizioncore или Consolidated Backup от VMware при работе виртуального сервера. Также можно использовать Central Administration Backup из SharePoint Server 2007 или утилиты smigrate или stsadm, чтобы выполнить резервное копирование SharePoint Server 2007 в файл, затем сделать резервную копию на магнитную ленту или другие носители.

Для полной поддержки детализированного резервного копирования и восстановления можно попробовать решения других фирм, таких как программа резервного копирования DocAve for SharePoint Server 2007 компании AvePoint, которая требует специального сервера резервного копирования и предназначена для использования в крупных корпорациях. Основное преимущество этого решения — возможность делать резервную копию и восстанавливать данные на уровне документа.

Примите на службу виртуальный сервер

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

Алан Сугано (asugano@adscon.com) — президент компании ADS Consulting Group, специализирующейся на разработках в области Microsoft.NET и SQL Server и сетевых технологиях