Виртуализация в Linux. Windows и другие ОС "в гостях" у KVM и др. виртуальных машин.

nid#60

Реклама

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

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

Зачем нужна виртуализация?

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

Виртуализация позволяет параллельно запускать несколько операционных систем на одной машине и объединять несколько вычислительных единиц в одну, для запуска единой ОС (технологии кластеров и мейн-фреймов). К виртуализации технических ресурсов так же можно отнести технологии RAID-массивов данных, объединяющих множество накопителей в один логический, и распределённые сетевые хранилища.

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

Типы виртаулизации

К двум основным типам виртуализации можно отнести полостью программный и частично аппаратный (или просто "аппаратный"). В первом случае эмуляция оборудования и разделение ресурсов происходит полностью на программном уровне. Во втором же - виртуальная машина становится частью реального оборудования, самостоятельно разделяющего свои адресные и вычислительные ресурсы, что очень хорошо сказывается на её производительности.


Наиболее распространёнными технологиями аппаратной виртуализации на сегодня являются Intel VT (Intel Virtualization Technology) и AMD-V (AMD Virtualization или SVM - "Secure Virtual Machines"), различающиеся в основном производителем несущего процессора.

Что такое и почему KVM/Qemu?

Среди множества различных виртуальных машин, отличающихся и подходом к реализации, и своей архитектурой в целом, и способами разработки (VMWare, VitrualBox, XEN и т.п.), для пользователей GNU/Linux наиболее интересна должна быть встроенная в ядро Linux (внутриядерная) виртуальная машина KVM ("Kernel Virtual Machine"), работающая на основе встроенной аппаратной виртуализации для x86-совместимых процессоров от AMD или Intel (AMD-V или Intel VT). KVM включена в основную ветку Linux в феврале 2007 года, в версии 2.6.20. Таким образом, KVM - стандартная для GNU/Linux виртуальная машина, обеспечивающая отличную производительность и стабильность построенных на её базе систем.

Выполнена KVM в виде одноимённого модуля ядра Linux (kvm.ko), взаимодействующего с аппаратной частью виртуальной машины через дополнительные модули kvm-amd.ko и kvm-intel.ko в соответствии с производителем центрального процессора, и набора клиентских пользовательских программ проекта QEMU (частью которого и является KVM, в свою очередь). KVM позволяет использовать немодифицированные образы дисков QEMU, VMware и др.

Отдельно стоит упомянуть программу "Virtual Machine Manager", разработанную компанией Red Hat для управлениями несколькими видами виртуальных машин, включая KVM, QEMU и Xen, и включённую в большинство современных дистрибутивов GNU/Linux, openSUSE, Debian, Ubuntu и т.д. в т.ч. При помощи "Virtual Machine Manager" Вы сможете создавать, изменять, запускать и останавливать виртуальные машины, просматривать их и контролировать, как локально, так и удалённо.


QEMU (от англ. "Quick EMUlator") - свободная программа с открытым исходным кодом, разработанная с применением алгоритмов динамической бинарной трансляции для эмуляции аппаратного обеспечения различных платформ (x86-совместимые, PowerPC, ARM, MIPS R4000, SPARC, SPARC64 и m68k) в различных операционных системах (Syllable, FreeBSD, FreeDOS, Linux, Windows 9x, Windows 2000, Mac OS X, QNX, Android и др.) на различных платформах (x86, x86-64, PowerPC, DEC Alpha, SPARC/SPARC64, ARM, S390, IA-64 - Itanium, m68k). Автор программы - известный французский программист Фабрис Беллар (фр. Fabrice Bellard).
Виртуальная машина KVM была создана, разрабатывается и поддерживается фирмой Qumranet, которая была куплена компанией RedHat в сентябре 2008 года.

Загрузка и установка KVM/Qemu и "Virtual Machine Manager" в openSUSE Linux

Запустите YaST и выберите пункт "Установить гипервизор и инструменты" (пакет "yast2-vm"). Отметьте KVM для установки и продолжите: программа сама установит все необходимые компоненты и создаст первоначальную конфигурацию KVM. После, перезагрузите компьютер для активации новых модулей ядра Linux.

Создание, запуск и установка гостевых операционных систем в KVM

Перед попыткой запуска "Virtual Machine Manager" убедитесь в активности необходимых модулей ядра (смотрите настройки аппаратной виртуализации в BIOS) и системной службы "libvirtd" (YaST > "Системные службы..." в openSUSE Linux).

Запустите virt-manager от имени администратора (YaST > "Менеджер виртуальных машин" в openSUSE Linux) и выберите создание новой виртуальной машины. Далее Вам будет предложено выбрать ряд опций и запустить её.


Внимание: Запуск Windows в виртуальной машине, в отличие от использования Wine, не избавляет Вас от необходимости приобретения этой операционной системы!

Комментарии

Отправить комментарий

  • Доступны HTML теги: <b> <i> <u> <s> <kbd> <var> <code> <samp> <q> <cite> <ul> <ol> <li> <p> <br>
  • Строки и параграфы переносятся автоматически.
  • Шаблоны [цель|текст] обрабатываются как ссылки. Стандартный индикатор цели - ID материала.