Даже в своей самой простой форме технологии виртуализации привели к глубоким изменениям в центрах обработки данных: изменились серверы, запоминающие устройства, сети. В данной статье речь пойдет исключительно о гипервизоре, испытанной технологии, в течение многих лет применявшейся для работы серверов как многоабонентского устройства (возможности для одного сервера выполнять несколько вычислительных рабочих нагрузок, как будто они выполняются на нескольких серверах).
Существует несколько базовых понятий, которые необходимо усвоить в отношении современного гипервизора.
На самом высоком уровне технологии гипервизора представляют интеллектуальные программные компоненты, позволяющие абстрагировать аппаратные ресурсы и обеспечивать многоабонентскую работу серверов. Эти виртуальные серверы (или службы) представляют собой программные виртуальные машины (ВМ), обращающиеся к базовым физическим ресурсам сервера и делящиеся этими ресурсами друг с другом.
Основные определения
- Гипервизор типа I. Этот тип гипервизора показан на рисунке 1, он развертывается на компьютере без операционной системы. Таким образом, это первый программный продукт, устанавливаемый на сервере. Он будет напрямую взаимодействовать с аппаратными средствами физического сервера. Затем эти ресурсы паравиртуализуются и предоставляются работающим виртуальным машинам. Это предпочтительный метод для многих производственных систем.
- Гипервизор типа II. Эта модель, показанная на рисунке 2, также известна как хостируемый (hosted) гипервизор. Программа устанавливается не на «голом железе», а поверх действующей операционной системы. Например, на сервер с Windows Server 2008 R2 поверх операционной системы может быть установлен гипервизор VMware Workstation 8. Появляется дополнительный уровень программного обеспечения, через который передаются вычислительные ресурсы, прежде чем они достигнут виртуальной машины, но задержка минимальная, и благодаря современным усовершенствованиям производительность гипервизора может оставаться оптимальной.
- Гостевая машина. Гостевая машина, или виртуальная машина, представляет собой рабочую нагрузку, то есть рабочее приложение, устанавливаемое поверх гипервизора. Это может быть виртуальное устройство, операционная система или виртуализуемая рабочая нагрузка другого типа. Гостевая машина исходит из того, что является самостоятельным компьютером с собственными выделенными устройствами. Таким образом, благодаря виртуализации вы можете использовать один физический компьютер для выполнения нескольких рабочих нагрузок. Все это происходит при интеллектуальном распределении ресурсов между виртуальными машинами.
- Хост-компьютер. Это физический сервер. Виртуализация может охватывать несколько компонентов — сети хранения SAN, локальные сети, проводные соединения и т. д., но в данной статье мы сосредоточимся на ресурсах физического сервера. Основные ресурсы — оперативная память и процессор — делятся между виртуальными машинами и распределяются по усмотрению администратора. Машина, которой требуется больше оперативной памяти (например, контроллер домена), получит больше ресурсов, а менее важная виртуальная машина (скажем, сервер лицензий) будет иметь меньше ресурсов. Благодаря современным технологиям гипервизоров многие ресурсы можно выделять динамически.
- Инструменты паравиртуализации. После установки гостевой виртуальной машины поверх гипервизора на этой виртуальной машине обычно устанавливается набор инструментов. Они предоставляют набор операций и драйверов для оптимизации работы гостевых виртуальных машин. Например, хотя собственные драйверы для сетевой платы будут работать, взаимодействие паравиртуальных драйверов сетевой платы с базовым физическим уровнем будет гораздо более эффективным и обеспечит сложные сетевые технологии работы.
- Контейнеры. Эта технология все чаще используется совместно с традиционными гипервизорами, такими как VMware или XenServer, или вместо них. Виртуализация уровня операционной системы — превосходный инструмент для создания надежно изолированных многоабонентских сред. Технологии контейнеров, такие как Docker (https://www.docker.com/), добавляют новый уровень абстракции и автоматизации на платформе виртуализации уровня операционной системы на серверах Linux. Контейнеры приложений помогают абстрагировать процесс виртуализации уровня операционной системы. Это дает администраторам большую степень контроля над службами подготовки, расширенные ограничения в области безопасности и процессов и даже более интеллектуальную изоляцию ресурсов. Это важно, поскольку вы можете, например, запустить контейнер Microsoft IIS, не выделяя целиком виртуальную машину или лицензию операционной системы. Вы непосредственно запускаете только контейнер IIS. Аналогично другие поставщики, такие как Citrix со своей NetScaler CPX, могут запускать мини-ADC в контейнерной среде.
Рисунок 1. Гипервизор типа I |
Рисунок 2. Гипервизор типа II |
Интеграция становится все более тесной. Среда Microsoft Azure дополнена поддержкой контейнеров Docker (http://azure.microsoft.com/blog/2014/10/15/new-windows-server-containers-and-azure-support-for-docker/) на виртуальных машинах Linux, что позволяет обширной экосистеме «докеризованных» приложений Linux работать в «облаке» Azure. При еще более глубоком внедрении «облака» системы контейнеров, использующие Docker, также могут быть интегрированы с платформами Chef, Puppet, OpenStack и Amazon Web Services. Red Hat тоже вступил в игру, оснастив Docker таким передовым инструментарием Linux, как systemd и SELinux.
Все эти инструменты дают возможность вынести систему контейнеров за пределы вашего центра обработки данных. Новые возможности позволяют создать собственную гибридно-«облачную» экосистему контейнеров, охватывающую центр обработки данных и, например, AWS (https://docs.docker.com/installation/amazon/). Наконец, основные поставщики гипервизоров также предоставляют передовые службы контейнеров. Среди них три наиболее важных: VMware vSphere, Microsoft Hyper-V и Citrix XenServer.
Теперь рассмотрим, что поделывали в последнее время производители трех основных гипервизоров.
VMware vSphere
В апреле 2018 года была выпущена версия vSphere 6.7, ставшая дальнейшим развитием версии 6.5 (вышедшей годом ранее). Основное внимание уделено оптимизации взаимодействия с пользователем (простота, эффективность, быстродействие).
Новый vCenter Server Appliance проще в использовании и управлении и располагает важными улучшениями рабочих характеристик по сравнению с версией 6.5: согласно данным, предоставленным компанией VMware, достигается двукратное увеличение числа операций в секунду, трехкратное сокращение объема используемой памяти и трехкратное увеличение скорости выполнения DRS-операций.
Кроме того, сократилось время, необходимое для обновления физических хост-компьютеров ESXi, гипервизора типа I. Вместо двух перезагрузок теперь для обновления требуется всего одна. Новая функция vSphere Quick Boot перезапускает ESXi без перезагрузки физического хост-компьютера.
Также появился новый упрощенный графический интерфейс пользователя на основе HTML5.
Компания VMware реализовала множество других важных улучшений в сферах безопасности и поддержки гораздо большего числа типов рабочей нагрузки (HPC, машинное обучение, в памяти, «облачные» и т. д.) и возможностей гибридного «облака». Подробнее об этом рассказано в статье по адресу: blogs.vmware.com/vsphere/2018/04/introducing-vmware-vsphere-6-7.html.
Microsoft Hyper-V
Hyper-V впервые появился на Server 2008 R2, и это была добротная технология гипервизора. Однако в продукте отсутствовали некоторые корпоративные функции, имеющиеся в VMware. Зато это был простой гипервизор с приличным уровнем интеграции. Обратимся к новейшей редакции Hyper-V на Windows Server 2016 и посмотрим, что появилось здесь.
- Резервные копии, контрольные точки и восстановление. За годы накопилось много откликов по этой теме. Поэтому, вместо того чтобы полагаться на службы теневого копирования тома (VSS) для порой ненадежного резервного копирования, в Windows Server 2016 отслеживание изменений было реализовано как функция самого Hyper-V. В результате сторонним поставщикам средств резервного копирования стало значительно проще поддерживать ее.
- Последовательные обновления кластера. Переход от версии 2012 к версии 2016 стал гораздо проще.
- Вычислительная устойчивость виртуальной машины. Характеристика, заметно расширяющая возможности. Например, если потеряно соединение с хранилищем данных, происходит приостановка, но не сбой виртуальной машины. Можно задать пределы, позволить виртуальным машинам работать в изолированных режимах, если потеряно соединение с кластером, и даже точно указать, когда должна произойти отработка отказа.
- Качество обслуживания хранилища (QoS). Сигнал трафика IOPS (число операций ввода-вывода в секунду) поможет отслеживать трафик виртуальных машин и служб. Удобное решение.
- Экранированные виртуальные машины. Это мощные средства безопасности. В экранированных виртуальных машинах используются алгоритм шифрования Bitlocker компании Microsoft, безопасная загрузка и виртуальный доверенный платформенный модуль (TPM). Кроме того, требуется новый компонент под названием «служба защиты узла Host Guardian Service». Его цель — упростить доступ администратора узла, если виртуальная машина, например, находится в «облаке». В результате экранированная виртуальная машина будет соприкасаться только с указанными вами узлами. Таким образом, виртуальная машина шифруется, как и сетевой трафик, например, при динамической миграции.
- Контейнеры Windows и Hyper-V. Новая операционная система Microsoft поддерживает как контейнеры Windows Server, которые используют общие файлы операционной системы и память, так и контейнеры Hyper-V, которые имеют собственные файлы ядра ОС и память.
Что еще нового в Hyper-V для Server 2016? Серверы Nano Server. Это, в сущности, упрощенная версия Windows Server, оптимизированная для размещения Hyper-V, запускаемых в виртуальной машине, или выполнения единственного приложения.
Citrix XenServer
XenServer — один из лучших открытых гипервизоров и остается предпочтительным вариантом для многих. Ко времени подготовки данной статьи последней версией была XenServer 7.5, вышедшая в мае 2018 года.
Выпуск в значительной степени ориентирован на совершенствование управляемости и доступности, оптимизацию управления хранилищем и поддержку дополнительных областей применения.
Компания Citrix вчетверо увеличила размер пула XenServer, с 16 до 64 хост-компьютеров. Это означает, что пользователям придется управлять меньшим количеством пулов, при этом повышается гибкость при миграциях внутри пула, общем использовании хранилища и достижении высокой доступности.
Выпуск дополнен экспериментальной функцией, обеспечивающей тонкую подготовку для блочных хранилищ. Разработчики утверждают, что тонкая подготовка для SAN, достигаемая благодаря применению репозиториев GFS2 Storage Repositories (GFS2 — файловая система для совместного доступа к диску на основе Linux, предназначенная для блочных хранилищ), поможет пользователям сократить затраты на хранение данных.
Новая функция GFS2 Storage Repositories увеличивает максимальный размер виртуальных дисков (с 2 до 16 Тбайт), что в свою очередь расширяет спектр возможных случаев применения. Один из них — поддержка больших баз данных.
Как и в vSphere 6.7, в XenServer 7.5 реализовано много усовершенствований, подробно описанных в статье по адресу: www.citrix.com/blogs/2018/05/30/you-asked-we-delivered-introducing-xenserver-7-5/.
Развитие в сфере виртуализации происходит непрерывно. В будущем даже компании, уже развернувшие средства виртуализации, будут использовать новые функции, обеспечивающие более глубокую консолидацию, интеграцию с «облаком» и высокую эффективность. Никогда не отказывайтесь пробовать новые функции, которые могут оказать положительное влияние на функционирование центра обработки данных.