Найти тему
VPSVille

Что такое виртуализация KVM

Оглавление

Программное обеспечение KVM получило распространение в создании серверов VPS/VDS, так как позволяет практически мгновенно развернуть новую виртуальную машину. В системе Linux программа Kernel-based Virtual Machine становится гипервизором типа 2. Обеспечивает оптимизацию управления и улучшает производительность вычислительных сред.

Что такое виртуальная среда?

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

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

Функции ВМ:

  • Создание и установка «облачных» приложений.
  • Тестирование ОС и приложений.
  • Развертывание среды для ускоренного и упрощенного выполнения программ при разработке.
  • Настройка бэкапов операционной системы.
  • Открытие файлов, пораженных вредоносным ПО.
  • Установка устаревшей версии ОС для запуска соответствующего приложения.
  • Проверка работоспособности приложения в рамках операционной системы, которая не предусмотрена разработчиком ПО.
  • Развертывание виртуальных серверов.

При необходимости гостевые системы можно масштабировать, чтобы гибко реагировать на пиковые нагрузки.

Что такое KVM?

КВМ — это простой в использовании, легкий и функциональный гипервизор с открытым исходным кодом. Компонент базируется на ядре операционной системы Linux, и входит в основную ее версию с 2007 года (v. 2.6.20).

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

Решение виртуализации как неотъемлемую часть Linux нельзя использовать на компьютерах с Windows. Однако Windows поддерживается как гостевая система вместе с большинством Unix-подобных операционных систем:

  • BSD (Berkeley Software Distribution),
  • Solaris,
  • Haiku,
  • ReactOS,
  • Plan 9,
  • AROS Research OS,
  • QEMU для запуска Mac OS X.

Аппаратные требования

Если говорить о том, что это такое KVM с точки зрения аппаратного обеспечения, то виртуальной гостевой системе нужны такие же ресурсы, как если бы она была установлена без гипервизора на физическом компьютере. Чем больше VM планируется запустить в хост-системе, тем больше «железа» – ЦП, диска, памяти и сети – придется добавить к хост-серверу виртуальных машин.

Составляющие виртуальной машины на основе ядра

Виртуальная машина Kernel-based часто используется для работы профессиональных серверных систем. Linux KVM приобретает еще большее значение из-за возможности интеграции в популярное облачное программное решение OpenStack.

KVM виртуализация – это несколько компонентов:

  • Расширение ядра kernel.ko для взаимодействия между реальным и виртуальным оборудованием, процессорные модули.
  • Libvirt: интерфейс прикладного программирования (API) для контроля и управления виртуальными машинами. Работает через команду «virsh» и графический интерфейс Virtual Machine Manager.
  • QEMU – эмулирует физический компьютер, а Linux KVM повышает его скорость за счет паравиртуализации. В большинстве дистрибутивов предусмотрены оба этих компонента.
  • KVMTool – более компактная альтернатива QEMU, но поддерживает только гостевые системы с такой же архитектурой.
  • Драйверы VirtIO для гипервизора, обеспечивающие паравиртуализацию.

Для развертывания виртуальной машины нужно ядро Linux на процессоре Intel или AMD с аппаратными расширениями виртуализации. Программа состоит из модуля ядра (kvm.ko), создающего основную инфраструктуру виртуализации, и модуля для соответствующего процессора: kvm-intel.ko или kvm-amd.ko соответственно.

На 64-разрядных процессорах можно запускать 32-битные и 64-битные гостевые ВМ. Чтобы проверить, поддерживает ли процессор виртуализацию, используют одну из следующих команд:

  • $ LC_ALL=C lscpu | grep Virtualization,
  • $ grep -E --color=auto 'vmx|svm|0xc0f' /proc/cpuinfo

Если после выполнения команды ничего не произошло, значит, использовать KVM не получится.

Последний вариант – проверить поддержку виртуализации в BIOS. Если компьютер произведен не раньше 2010 года, то в нем есть эта функция, но она отключена в биосе.

Как развернуть VM

Установка виртуальной машины начинается с запуска Yast2-vm, и через меню «Виртуализация» настраивается гипервизор с соответствующими инструментами KVM.

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

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

  • root # modprobe kvm-intel.

Проверяем, загружен ли модуль в память:

  • lsmod | grep kvm
  • kvm_intel 64835 6
  • kvm 411041 1 kvm_intel

Теперь узел готов обслуживать гостевые ВМ.

Преимущества и недостатки KVM

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

  • Входит в большинство дистрибутивов Linux.
  • Стабильность системы.
  • Единственная виртуальная машина на основе ядра с высокой производительностью.
  • Разработки авторитетных компаний.
  • Автоматическое администрирование через libvirt.

Поэтому стабильный и безопасный KVM хостинг VDS создается на такой виртуализации.

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

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

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