Виртуализируйте все – испытания и невзгоды

Опубликовано: 22 Апреля, 2023


Введение


Раньше виртуализация приложений Microsoft уровня 1 была невероятно сложной. Компания не поддержала эти усилия, а само программное обеспечение не всегда подходило для виртуализированных сред. Как изменились времена!


Куда бы вы ни повернулись, то, что раньше было «невиртуализируемыми» приложениями, теперь перемещается в хорошо сконструированные виртуальные среды. В частности, в прессе много говорилось о том, что необходимо сделать для виртуализации некоторых приложений уровня 1 Microsoft, включая среди прочих Exchange Server, SQL Server и SharePoint. В этой статье я расскажу о том, что мы делаем в Вестминстерском колледже, чтобы перенести некоторые из этих приложений в нашу виртуальную инфраструктуру, размещенную на VMware vSphere.


Для начала скажу, что в зависимости от продукта мы находимся на разных этапах виртуальной миграции:



  • Windows Server. Само собой разумеется, что сам Windows Server должен иметь возможность виртуализации, прежде чем можно будет сделать что-либо еще. Серверы Windows уже давно подвергаются виртуализации.
  • SQL Server 2008 — мы уже развернули экземпляр SQL Server под управлением VMware. В частности, мы развернули виртуальный SQL-сервер для обработки некоторых новых задач отчетности, которые мы хотели выполнить. Новая виртуальная система SQL также поддерживает несколько небольших производственных баз данных. Со временем мы переместим все наши рабочие нагрузки SQL на виртуальные машины.
  • Exchange Server 2010. Мы построили нашу первоначальную виртуальную инфраструктуру на основе Exchange 2010 в рамках VMware vSphere и очень скоро планируем перенести наши текущие почтовые ящики Exchange 2007 на новые серверы.
  • SharePoint 2010. В настоящее время мы используем SharePoint 2007 как для нашего общедоступного веб-сайта, так и для выполнения некоторых задач в интрасети. Наша цель — как можно скорее приступить к планированию SharePoint 2010, чтобы начать пользоваться значительными улучшениями, внесенными в продукт, особенно в области бизнес-аналитики. Поскольку до нашего проекта виртуализации SharePoint 2010 осталось еще несколько недель, я не буду обсуждать этот продукт в этой статье, но сделаю это в следующей.

Общее планирование


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


Я не собираюсь рассматривать в этом документе все возможные сценарии лицензирования. Слишком много вариаций для каждого продукта. Однако я предоставлю некоторую общую информацию о лицензировании.


Политики поддержки гипервизора


В статье 957006 базы знаний Майкрософт, озаглавленной «Серверное программное обеспечение Майкрософт и поддерживаемые среды виртуализации», содержится конкретная информация, касающаяся возможности поддержки виртуализированного программного обеспечения Майкрософт. Первое замечание касается того, какие платформы виртуализации Microsoft будет поддерживать для своих серверных приложений. Неудивительно, что компания поддерживает Hyper-V, но Microsoft определенно понимает, что существует множество других вариантов, когда речь идет о базовом гипервизоре. Для платформ виртуализации, отличных от Microsoft, Microsoft запустила так называемую Программу проверки виртуализации Windows Server (SVVP). SVVP предоставляет стандартный метод, с помощью которого Microsoft проверяет базовую платформу, чтобы гарантировать, что их программное обеспечение будет работать достаточно хорошо, чтобы считаться поддерживаемым, когда клиенты звонят с проблемами.


Шаг 1 в вашем стремлении «виртуализировать все» состоит в том, чтобы убедиться, что ваш гипервизор — как продукт, так и версия — поддерживается Microsoft.


Поддержка виртуализированных приложений


Ваш следующий шаг — убедиться, что приложение Microsoft, которое вы собираетесь виртуализировать, поддерживается Microsoft в виртуальной среде. Хотя многие продукты компании прекрасно работают в своих виртуальных контейнерах, некоторые из них компания не поддерживает. Например, если вы планируете развернуть дополнительный сервер Exchange 2003, вам потребуется физическое оборудование, чтобы соответствовать рекомендациям по поддержке. Виртуальные серверы Exchange поддерживаются только для Exchange Server 2007 SP1 или более поздней версии; мы будем говорить больше об Exchange позже в этой статье.


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


Несоответствие


Очевидно, что организации не обязаны придерживаться политики поддержки Microsoft в отношении виртуализации, но невыполнение этого требования имеет последствия для поддержки. Если вы используете несовместимую систему, служба поддержки может потребовать, чтобы вы сначала привели среду в соответствие, прежде чем оказывать помощь в решении проблемы.


Windows-сервер


Что можно сказать о лицензировании Windows Server, чего не говорили годами? Решение проблемы разрастания серверов Windows — одна из основных причин, по которой виртуализация обеспечивает такую значительную окупаемость инвестиций. Таким образом, я не собираюсь тратить здесь много времени на обсуждение Windows Server, за исключением лицензирования.


Microsoft предоставляет привлекательные преимущества виртуализации в редакциях Windows Server Enterprise и Datacenter. Для каждого сервера, лицензированного по лицензии Enterprise, вы имеете право запускать до четырех экземпляров виртуальных машин (с сервером Windows на каждом) в этой системе без необходимости платить какие-либо дополнительные лицензионные сборы. В редакции Data Center вам разрешено неограниченное количество виртуальных экземпляров Windows.


Эти преимущества лицензирования применяются, даже если вы используете гипервизор стороннего производителя, например vSphere. Там, где я работаю, я приобрел лицензии Windows Server Data Center на базе процессоров в соответствии с соглашением кампуса и применил эти лицензии к нашим хостам VMware vSphere. Теперь мне больше не нужно лицензировать отдельные экземпляры Windows, работающие на виртуальных машинах.


SQL Server 2008/2008 R2


Во многих случаях SQL Server можно виртуализировать так же, как и любую другую рабочую нагрузку. Очевидно, что если вы используете массивную физическую машину с дюжиной четырехъядерных процессоров, 96 ГБ ОЗУ и полной SAN, выделенной для SQL, будет сложно воспроизвести эту рабочую нагрузку в виртуальной среде, что приводит к важному моменту. Убедитесь, что ваша рабочая нагрузка может работать в пределах вашей виртуальной среды. Кроме того, убедитесь, что вы не экономите на архитектуре только потому, что переходите на виртуальную среду. Разметка диска, оперативная память и вычислительная мощность по-прежнему имеют значение!


Для получения полной информации о производительности SQL Server в виртуальной среде прочитайте этот технический документ, предоставленный VMware, в котором подробно обсуждается проблема.


Уже чуть больше года я запускаю пару серверов SQL Server 2008 под управлением VMware ESX в производственных мощностях. Каждая виртуальная машина имеет размер, соответствующий потребностям, как с точки зрения емкости диска, так и с точки зрения оперативной памяти (по 2 ГБ на каждую, что достаточно для рабочей нагрузки). Эти SQL-серверы в настоящее время обрабатывают только задачи отчетности, но мы активно планируем переход с наших физических SQL-серверов на виртуальные серверы.


У нас также есть одна устаревшая система SQL Server 7, которая все еще находится в производстве. Около двух лет назад мы выполнили миграцию с физического на виртуальный с помощью продукта от Platespin (теперь принадлежащего Novell), который фактически захватывает физическую машину и копирует все на виртуальную. Мы прекрасно понимаем, что SQL Server 2000 не поддерживается в виртуальной среде. Черт возьми, SQL Server 2000 вообще больше не поддерживается, но у нас есть одно устаревшее приложение, которое зависит от этой системы, и физический сервер был на последнем издыхании, отсюда и миграция в виртуальную среду. Мы почти подошли к моменту, когда мы сможем отказаться от этой системы, но в то же время перемещение этого приложения в нашу виртуальную среду имело большой смысл и, не придерживаясь политики поддержки Microsoft, предоставило нам способ сохранить служба работает, пока мы работаем над ее выводом из эксплуатации.


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


Лицензирование SQL Server


При лицензировании SQL Server по количеству сокетов необходимо помнить о некоторых вещах. Помимо основного набора функций, есть некоторые реальные преимущества при покупке Enterprise версии SQL Server 2008:



  • SQL Server 2008 Standard — 1 ВМ на лицензию на процессор. Не может превышать ограничения лицензирования для каждого процессора.
  • SQL Server 2008 Enterprise — виртуальных машин на лицензию, если лицензированы все сокеты физических процессоров.

В SQL Server 2008 R2 Microsoft добавила выпуск Datacenter к линейке продуктов и синхронизировала лицензирование виртуализации на базе процессора с лицензированием линейки продуктов Windows Server:



  • SQL Server 2008 R2 Standard — 1 ВМ на лицензию
  • SQL Server 2008 R2 Enterprise — 4 ВМ на лицензию
  • Центр обработки данных SQL Server 2008 R2 — неограниченное количество виртуальных машин на лицензию

Обменный сервер 2010


Я думаю, можно с уверенностью сказать, что помимо самой Windows, наибольший интерес к виртуализации вызвал Exchange, а Microsoft предприняла масштабные шаги, чтобы сделать Exchange максимально виртуализируемым. производительность больше не является серьезной проблемой программного обеспечения. С точки зрения виртуализации самой большой проблемой при виртуализации Exchange является его прожорливый характер. По замыслу серверы Exchange будут потреблять всю оперативную память, которую вы им отдаете.


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


Общий



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

Роли



  • Роль единой системы обмена сообщениями не поддерживается в виртуальной среде. Если вам нужна единая система обмена сообщениями, вам необходимо установить эту роль на физическую машину.
  • Поддерживаются все остальные роли Exchange 2010.

Хранилище



  • Динамически расширяемые виртуальные диски не поддерживаются.
  • Разностные диски не поддерживаются.
  • Хотите верьте, хотите нет, но Microsoft поддерживает серверы Exchange на основе виртуальных машин, использующие инициатор iSCSI из виртуальной машины для доступа к хранилищу, но это не рекомендуемая конфигурация из-за снижения производительности. Рекомендуется использовать механизмы подключения iSCSI гипервизора.
  • Сетевое хранилище (на файловом уровне) никогда не поддерживается, независимо от того, как оно представлено.

Доступность



  • Группы обеспечения доступности баз данных (DAG) нельзя использовать в сочетании с инструментами гипервизора, обеспечивающими высокую доступность, или решениями по миграции, которые переносят серверы почтовых ящиков на другие хосты. Виртуальные машины, входящие в группу DAG Exchange, необходимо настроить так, чтобы они не участвовали в таких группах доступности.
  • Поскольку моментальные снимки не зависят от приложений и могут привести к непреднамеренному поведению, вы не можете делать моментальные снимки виртуальных машин Exchange.

Полный список требований смотрите здесь.


Мы развернули всего два сервера Exchange 2010 для развертывания в Вестминстерском колледже. На одном сервере будут размещаться почтовые ящики, а также серверы клиентского доступа и роли транспортного узла. Второй сервер также содержит роли сервера клиентского доступа и транспортного узла. Роли CAS использовали балансировку сетевой нагрузки. На данный момент мы отказались от использования DAG. Мы храним наши почтовые ящики в хранилище на основе RAID 10 и продолжаем регулярно делать резервные копии. Все-таки мы маленькое место. У нас менее 200 почтовых ящиков, к которым постоянно обращаются, но после подсчета студентов это число увеличивается до более чем 1500 почтовых ящиков. Наши студенты, однако, не проводят в системе весь день, поэтому их влияние на ввод-вывод минимально; в основном они потребляют дисковое пространство, которого у нас в избытке. Таким образом, мы уверены, что наш подход с двумя виртуальными машинами хорошо сработает для нас.


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


Резюме


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