Виртуализация KVM

Не совсем новым направлением развития IT-технологий является виртуализация, но в настоящее время оно определенно переживает момент бурной активности. Виртуализация применяется для развития виртуальной инфраструктуры с новыми возможностями на базе IT-ресурсов. Сама технология и термин возникли на платформе программно-аппаратного обеспечения в прошлом веке вместе с появлением виртуальных машин благодаря компании IBM. Эти технологии не были востребованы несколько десятков лет, и только сейчас увеличение мощностей физических серверов и ПК дало хорошее поле для разворачивания виртуальных серверов.

Виртуальные выделенные сервера создаются на площадке физического сервера (хоста) одним из трех способов виртуализации:

  • Полная виртуализация. Здесь платформой для серверов служит специальное ПО, называемое гипервизором. Распределяя дисковое пространство и процессорное время между гостевыми серверами с отдельными ОС, гипервизор "заботится" о полной независимости между ними. На этой платформе в рамках одного физического сервера вполне совместимы ОС Linux, Windows и многие другие. Для достижения производительности сравнимой с производительностью реального сервера требуется аппаратная поддержка технологий виртуализации Intel-VT или AMD-V, которая на сегодняшний день есть практически в любом современном компьютере, не говоря уже о серверах.
  • Пара-виртуализация. От полной виртуализации такой способ отличается в первую очередь тем, что не требует аппаратной поддержки функций виртуализации, однако необходима поддержка конкретного гипервизора со стороны ОС. Работать в таком режиме могут далеко не все ОС и далеко не со всеми гипервизорами.
  • Виртуализация ОС. Здесь все функции гипервизора выполняет ОС хоста виртуализации. Полноценной виртуализацией этот метод назвать можно с некоторой натяжкой, так как несмотря на изолирование окружений виртуальных машин друг от друга и более-менее "честное" распределение ресурсов, ядро ОС будет общим для всех. Как следствие на одном физическом сервере нельзя одновременно запустить скажем Linux и FreeBSD.

Стоит ли говорить, что, благодаря своей "всеядности" в плане ОС, наиболее популярным является первый тип виртуализации. Среди программных продуктов, реализующих такое решение, в первую очередь заслуживают внимания продукты с открытой лицензией, например, KVM (Kernel-based Virtual Machine). Это молодой, активно развивающийся, уже практически ни в чем не уступающий своим более "матерым" собратьям, а зачастую и превосходящий их, по скорости и функционалу, проект. Из явных достоинств решения на базе KVM можно выделить следующие:

  • Поддержка специальных дисковых и сетевых устройств virtio, позволяющих минимизировать потери производительности при виртуализации, есть в семействах ОС Linux, Windows, BSD.
  • Продвинутая система работы с виртуальной памятью позволяет существенно экономить оперативную память хоста виртуализации при запуске на нем большого количества однотипных ОС без потери производительности за счет объединения страниц памяти.
  • Функция миграции работающих ВМ между физическими серверами позволяет переносить виртуальные сервера без каких либо перерывов в их работе в считанные секунды.
  • Формат образов дисков виртуальных серверов qcow2, который является стандартом для KVM, предоставляет возможность переносить образ диска с одного физического сервера на другой в процессе миграции без остановки виртуальной машины; помимо этого он позволяет "на лету" создавать копии дисков для целей резервного копирования например.
  • KVM предоставляет богатый набор средств для "пробрасывания" реального оборудования в виртуальное окружение. Вы можете "отдать" виртуальному серверу любое устройство начиная от банальной usb-флешки и заканчивая сверхсовременным графическим ускорителем. Кажется невероятным, но все это происходит практически без потерь в скорости работы "пробрасываемых" устройств.
  • Система управления ресурсами виртуального сервера позволяет творить невероятные для физических серверов вещи: динамически изменять количество оперативной памяти, "на лету" добавлять различные сетевые, дисковые устройства и даже процессоры без выключения или перезагрузки гостевой системы.

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

Теги: