Виртуальная машина что это такое – Виртуальная машина. Что это такое и зачем она нужна?Блог Ильдара Мухутдинова

Содержание

VirtualBox — Википедия

Материал из Википедии — свободной энциклопедии

(перенаправлено с «Virtualbox»)
Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 3 мая 2019; проверки требуют 2 правки. Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 3 мая 2019; проверки требуют 2 правки.

VirtualBox (Oracle VM VirtualBox) — программный продукт виртуализации для операционных систем Microsoft Windows, Linux, FreeBSD[7], macOS, Solaris/OpenSolaris, ReactOS, DOS и других[8].

Программа была создана компанией Innotek с использованием исходного кода Qemu. Первая публично доступная версия VirtualBox появилась 15 января 2007 года. В феврале 2008 года Innotek был приобретён компанией Sun Microsystems, модель распространения VirtualBox при этом не изменилась. В январе 2010 года Sun Microsystems была поглощена корпорацией Oracle, модель распространения осталась прежней[9][10][11][12][13][14][15][16].

Ubuntu 15.04 запущенная в VirtualBox на Windows 8.1
  • Кроссплатформенность
  • Модульность
  • Поддержка USB 2.0, когда устройства хост-машины становятся доступными для гостевых операционных систем (только в проприетарной версии)
  • Поддержка 64-битных гостевых систем[17] (начиная с версии 2.0), даже на 32-битных хост-системах[18] (начиная с версии 2.1, для этого обязательна поддержка технологии виртуализации процессором)
  • Поддержка SMP на стороне гостевой системы (начиная с версии 3.0, для этого обязательна поддержка технологии виртуализации процессором)
  • Встроенный RDP-сервер, а также поддержка клиентских USB-устройств поверх протокола RDP (только в проприетарной версии)
  • Экспериментальная поддержка аппаратного 3D-ускорения (OpenGL, DirectX 8/9 (с использованием кода wine) (только в 32-битных Windows 2000, XP, Vista, 7 и 8, для гостевых DOS / Windows 3.x / 95 / 98 / ME поддержка аппаратного 3D-ускорения не предусмотрена)
  • Поддержка образов жёстких дисков VMDK (VMware) и VHD (Microsoft Virtual PC), включая snapshots (начиная с версии 2.1[19])
  • Поддержка iSCSI (только в проприетарной версии)
  • Поддержка виртуализации аудиоустройств (эмуляция AC97 или SoundBlaster 16 или Intel HD Audio на выбор)
  • Поддержка различных видов сетевого взаимодействия (NAT, Host Networking via Bridged, Internal)
  • Поддержка цепочки сохраненных состояний виртуальной машины (snapshots), к которым может быть произведён откат из любого состояния гостевой системы
  • Поддержка Shared Folders для простого обмена файлами между хостовой и гостевой системами (для гостевых систем Windows NT 4.0 и новее, Linux и Solaris)[20]
  • Поддержка интеграции рабочих столов (seamless mode) хостовой и гостевой операционной системой
  • Поддержка формата OVF/OVA
  • Есть возможность выбора языка интерфейса (поддерживается и русскоязычный интерфейс)
  • Базовая версия полностью открыта по лицензии GNU GPL, соответственно нет ограничений в использовании

Начиная с версии 4, выпущенной в декабре 2010 года, основная часть продукта распространяется бесплатно под лицензией GPL v2. Устанавливаемый поверх неё дополнительный пакет, обеспечивающий поддержку устройств USB 2.0 и 3.0, протокол удалённого рабочего стола (RDP), шифрование накопителя, загрузку с NVMe и по PXE, распространяется под особой лицензией PUEL («для личного использования и ознакомления»), по который система бесплатна для личного использования, в целях обучения или для оценки перед принятием решения о приобретении коммерческой версии. При этом личное использование ограничивается одним хост-компьютером для одного пользователя. (До версии 4 было два разных пакета — свободная версия по GPL v2, и полная версия, бесплатная по PUEL.)

Сборка BIOS для VirtualBox начиная с версии 4.2 требует применения компилятора Open Watcom, что делает статус продукта как свободного сомнительным, в частности, по критериям проекта Debian собираемое таким образом программное обеспечение свободным считается не может; при этом организация Open Source Initiative признаёт такое программное обеспечение открытым.

VirtualBox Guest Additions — комплект программного обеспечения, устанавливаемый в гостевую операционную систему и расширяющий её возможности по взаимодействию с системой виртуализации и хост-системой[21]. Например, после установки специального драйвера «виртуальной видеокарты» становится возможным изменять разрешение рабочего стола гостевой операционной системы произвольным образом вслед за размером окна VirtualBox, в котором запущена виртуальная машина.

До версии 4.0.0 существовало две версии, различавшиеся по лицензии и функциональности. Начиная с 4.0.0 закрытые компоненты вынесены в отдельный пакет дополнений (Extension Pack)[22]:

Пакет дополнений содержит закрытые компоненты и распространяется под проприетарной лицензией PUEL (бесплатно только в персональных целях или для ознакомления):

  • RDP-сервер — позволяет подключаться к виртуальной системе удалённо с помощью любого RDP-совместимого клиента;
  • Поддержка USB — позволяет передавать виртуальной машине USB устройства;
  • Intel PXE — загрузка операционной системы по сети, используется для создания тонких клиентов и бездисковых рабочих станций.

VirtualBox плохо совместима с гостевыми системами под управлением Windows 95 и Windows 98 (система медленно работает и без установки дополнительных драйверов поддерживается разрешение экрана только 640×480)[notes 1]. При этом есть небольшая инструкция по установке и настройке Windows 98 под VirtualBox[23].

Начиная с версии 6, VirtualBox не поддерживает 32-битные операционные системы на хост-компьютере. Как заверяет корпорация Oracle, VirtualBox 5 будет поддерживаться до 2020 года. При этом VirtualBox может запускаться под Linux, macOS, Sun Solaris и FreeBSD.

Хотя VirtualBox имеет экспериментальную поддержку гостевых систем под управлением Mac OS X, лицензионное соглашение с конечным пользователем Mac OS X не позволяет операционной системе работать на аппаратуре, отличной от компьютеров Apple.

Заметки:
  1. ↑ Это связано с тем, что VirtualBox не оптимизирован под работу с глубиной цвета изображения 4 бит. Нет стабильных видеодрайверов под Windows 9x с поддержкой Direct 3D и OpenGL, что делает ретрогейминг с помощью VirtualBox очень ограниченным. Так например, в Quake 2 можно играть только в софтверном режиме. К тому же, пока нет стабильной эмуляции заявленной звуковой карты SB16 под ОС MSDOS.
Источники:

Что такое виртуальная машина и как она работает

  • Продажи: : Найти местный номер
  • Моя учетная запись
  • Портал
  • Вход
  • Бесплатная учетная запись
  • Обзор
  • Решения
  • Продукты
      • Избранные Избранные Ознакомьтесь с наиболее популярными продуктами Azure
      • DevOps DevOps Быстрое внедрение инноваций с помощью простых и надежных средств для непрерывной поставки
      • Аналитика Аналитика Получите такие преимущества, как сбор, хранение, обработка, анализ и визуализация данных любого типа и объема и с любой скоростью.
      • Базы данных Базы данных Продолжайте быстро развиваться и оперативно внедряйте инновации благодаря безопасным полностью управляемым службам баз данных корпоративного уровня.
      • Безопасность Безопасность Защита предприятия от сложных угроз для гибридных облачных нагрузок
      • Блокчейн Блокчейн Создавайте приложения на базе блокчейна и управляйте ими с помощью набора интегрированных средств
      • Виртуальный рабочий стол Windows Виртуальный рабочий стол Windows Лучший интерфейс виртуального рабочего стола, поставляемый Azure
      • Гибридная среда Гибридная среда Пользуйтесь инновациями Azure повсюду — применяйте гибкие, инновационные облачные вычисления к локальным рабочим нагрузкам.

Обзор 3-х популярных виртуальных машин для Windows

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

Виртуальный ПК почти как настоящий. У него есть собственный процессор, память, жесткий диск, сетевой адаптер и всё остальное. Конечно, это не физические устройства, но сделаны они так, чтобы операционные системы считали их именно такими — настоящими.виртуальные машины для Windows

На одном физическом компьютере одновременно может работать несколько виртуальных. Сколько именно — зависит от аппаратных ресурсов: чем шустрее процессор, объемнее оперативка, просторнее накопитель, тем больше. Обычный домашний ПК средней производительности на базе Windows 10 справляется с одновременной работой трех-пяти легковесных ОС (например, Windows XP, Android и Lubuntu + основная система). Или двух-трех относительно тяжеловесных (например, основная Windows 10 + виртуальные Windows 7 и Mac OS X). Как вы уже поняли, приложения-эмуляторы виртуальных компьютеров позволяют устанавливать и запускать на них самые разные ОС.

Для чего используются виртуальные машины

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

  • Для запуска приложений, которые не поддерживает основная система.
  • Для защиты системы от потенциального вреда непроверенных программ.
  • Как дополнительную преграду от вирусов при посещении сомнительных веб-ресурсов.
  • Для создания изолированной среды для изучения деятельности вредоносного ПО.
  • В качестве тестового полигона для отладки собственных разработок.
  • Для освоения технологий построения сетей.
  • Для двойной авторизации на некоторых игровых порталах и многого другого.

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

Сегодня мы не будем касаться промышленного применения ВМ, а рассмотрим только то, что может быть полезно домашним пользователям ОС Windows.

Oracle Virtualbox

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

список ос в virtualbox

Даже беглого взгляда на рабочую область Virtualbox достаточно, чтобы понять, что здесь к чему и как примерно пользоваться программой. Слева — список всех операционных систем, установленных на платформу Virtualbox (гостевых), справа — окно параметров виртуального компьютера выбранной из списка ОС или окно снимков — сохраненных состояний этой системы (некий аналог точек восстановления). На верхней панели — основные инструменты управления: кнопки мастера создания новой ВМ, перехода в меню настроек и запуска ВМ. Вверху справа — кнопки переключения вкладок левой части окна (на скриншоте показана вкладка настроек).

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

Рассмотрим процесс создания новой виртуальной машины и начало установки в нее Windows 10.

  • Кликнем в верхней панели кнопку «Создать».

кнопка создать

  • В первом окошке мастера создания ВМ укажем имя ОС (оно будет отображаться в списке гостевых систем), ее тип (Windows, Linux и т. д.) и версию. В нашем примере это Windows 10 32 bit (можно поставить и 64 bit, но ей потребуется больше ресурсов). Для перехода к следующему шагу нажмем Next.

имя и тип ос

  • Дальше укажем размер оперативной памяти ВМ. По умолчанию Windows 10 x86 отводится 1 Гб, но вы можете увеличить этот объем, сдвигая ползунок вправо. Если на вашем ПК не очень много оперативки, не отдавайте ВМ больше 2-3 Гб, иначе основная система будет тормозить из-за нехватки памяти.

объем памяти

  • Следом создаем виртуальный жесткий диск. Если вы ставите систему первый раз, выбирайте вариант «Создать новый».

создание нового виртуального жесткого диска

  • Тип виртуального диска оставим по умолчанию.

virtualbox disk image

  • Формат хранения данных — это область на физическом накопителе вашего компьютера, который отводится ВМ. Она может иметь постоянный или динамически расширяемый объем в тех пределах, которые вы определите дальше. Для экономии места выберем динамический формат.

динамический жесткий диск

  • Следом укажем имя тома (виртуального диска С) и его размер. По умолчанию — 32 Гб.

размер файла диска

  • После нажатия в последнем окошке кнопки «Создать» в списке появится новая виртуальная машина. Справа в рамке показаны ее параметры.
  • Для перехода к установке Windows кликнем в верхней панели кнопку «Запустить».

параметры виртуальной машины virtualbox

  • В окне, которое откроется после этого, появится окошко «Выберите загрузочный диск». Нажмите на иконку папки и укажите путь к дистрибутиву системы. Это может быть образ в формате .iso или физический носитель (DVD, флешка). Выбрав дистрибутив, нажмите «Продолжить».

выбор загрузочного диска

  • Дальнейший ход инсталляции ОС в виртуальную машину не отличается от установки ее на физический компьютер.

выбор места для установки windows

Некоторые настройки ВМ и гостевой системы

Клик в окне виртуальной машины захватывает курсор мыши (т. е. он будет двигаться только в пределах виртуального экрана). Для возврата курсора в основную ОС нажмите комбинацию Ctrl+Alt.

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

подключение образа диска дополнений гостевой ОС

Чтобы подключить к гостевой системе папку для обмена файлами с основной, кликните в меню «Устройства» пункт «Общие папки». Нажмите на значок «папка+» в открывшемся окне и через поле «путь к папке» укажите ее в проводнике (в нем показаны каталоги основной системы).

Если хотите, чтобы настройка работала постоянно, отметьте «Авто-подключение» и «Создать постоянную папку». Общая папка будет доступна из проводника виртуальной машины как сетевая.

настройка общей папки

Чтобы сохранить текущее состояние гостевой ОС, откройте меню «Машина» и выберите «Сделать снимок состояния».

создание снимка состояния

Чтобы изменить порядок опроса загрузочных устройств (например, для загрузки виртуальной машины с DVD), завершите работу гостевой ОС, откройте ее настройки (в главном окне Virtualbox) и зайдите на первую вкладку раздела «Система». В списке «Порядок загрузки» отметьте нужный носитель и, нажимая кнопки со стрелками, передвиньте его наверх.

изменение порядка загрузки устройств

VMware Workstation Pro

VMware Workstation pro — не менее функциональный продукт, чем Vrtualbox, но рассчитанный на профессиональное применение и интеграцию с другими сервисами производителя. Не бесплатный и довольно дорогостоящий, однако тоже очень популярный у домашних пользователей Windows.

Бесплатная версия VMware для личного использования тоже существует. Это VMware Workstation Player, но малая функциональность, сильно уступающая даже некоммерческому Vrtualbox, отвернула от него любовь наших сограждан.

Полноценный VMware Workstation Pro, с которым мы будем знакомиться сегодня, как и конкурент, поддерживает массу операционных систем, включая мобильные и Mac OS X (кстати, он совместим с большим количеством редакций OS X, нежели Virtualbox), и эмулирует все основные устройства компьютера. Еще он эмулирует интерфейс BIOS, в отличие от Vrtualbox.

эмуляция bios vmware workstation

Рассмотрим, как проходит процесс создания виртуальной машины и запуск установки Windows 10 на платформе VMware Workstation Pro.

Дизайн основного окна программы (который, кстати, видоизменяется от версии к версии) не позволит запутаться даже начинающему пользователю.

  • Чтобы создать новую виртуальную машину, нажмем одноименную кнопку на вкладке «Главная».

главное окно workstation 12 pro

  • В первом окошке мастера создания ВМ укажем тип конфигурации. Если вам нужен компьютер со стандартными параметрами (которых достаточно в 90% случаев), отметим «Обычный».

выбор типа конфигурации

  • Следом укажем тип ОС, которую будем устанавливать на эту виртуальную машину. Программа дает возможность запустить установку сразу после создания ВМ, причем без лишних действий с вашей стороны. Если вы согласны на это, укажите путь к файлу образа или носителя с дистрибутивом системы, если нет, отметьте «Я установлю систему позже».

файл образа установки

  • Чтобы не вводить ключ продукта, имя пользователя и пароль во время установки Windows, введите это данные в следующее окно. Первый пункт можно пропустить.

ввод ключа windows для установки

  • Дайте новой виртуальной машине имя и укажите будущее расположение папки с операционной системой.

имя и расположение вм

  • Определите размер виртуального диска. По умолчанию VMware отдает Windows 10 целых 60 Гб, но мы можем увеличить или уменьшить этот объем. Следом вам предстоит указать способ сохранения виртуального диска — в одном или нескольких файлах.

указание размера диска

  • Ниже показаны параметры только что созданного виртуального компьютера. Если вас что-то не устраивает, например, размер оперативной памяти, нажмите «Настройку оборудования».

параметры виртуального компьютера

  • Измените нужные характеристики, вернитесь в предыдущее окно и кликните «Готово».

изменение характеристик оборудования

  • После этого, наконец, запустится установка операционной системы. Ваше участие понадобится ближе к ее окончанию — для настройки сетевого обнаружения и проверки обновлений.

запуск установки windows 10

  • После загрузки рабочего стола программа автоматически установит в новую систему VMware Tools — то же, что и дополнения гостевой ОС в Virtualbox. После этого виртуальная машина готова к работе.

Список всех установленных гостевых операционных систем находится на вкладке «Мой компьютер».

список гостевых операционных систем

Некоторые опции виртуальной машины VMware

До установки VMware Tools окно гостевой системы, как и в Virtualbox, захватывает курсор мыши. Для возврата его в основную ОС нажмите Ctrl+Alt.

Чтобы попасть в интерфейс BIOS виртуальной машины, выделите ее в списке, откройте меню запуска (кнопка «play» на верхней панели) и кликните «При включении (машины) войти в режим BIOS».

вход в режим биос при включении

Microsoft Hyper-V

Диспетчер виртуальных машин Hyper-V — это встроенный компонент операционных систем всех редакций Windows 7-10, за исключением начальной и домашних. Если разобраться, он не хуже и не сложнее, чем два рассмотренных выше, просто некоторые пользователи ничего не знают о его существовании и только поэтому предпочитают сторонний софт.

Чтобы активировать диспетчер Hyper-V, зайдите в раздел приложений панели управления Windows, щелкните «Включение и выключение компонентов Виндовс» и в открывшемся окошке отметьте «Hyper-V».

включение компонента hyper-v

Перезагрузите компьютер, откройте поиск и с его помощью запустите диспетчер Hyper-V.

  • Для создания новой ВМ в панели диспетчера «Действия» нажмите «Создать» — «Виртуальная машина».

создание вм

  • Дайте новой виртуальной машине имя.

название виртуального компьютера

  • Определите ее поколение — 1 (старое, к которому относится Windows XP и все 32-битные системы) или 2 (новое — 64-битные Windows 7, 8.1 или 10).

поколение вм

  • Выделите виртуальной машине оперативную память. Флажок «Динамическая» позволит основной ОС использовать часть памяти, которая не задействована гостевой ОС, для своих нужд. Этой полезной возможности, кстати, нет ни в Virtualbox, ни в VMware.

память выделяемая при запуске

  • Настройки сети отложим на потом. Оставим по умолчанию «Нет подключения».

настройка сети

  • Далее определим размер, расположение виртуального диска и назначаем ему имя.

подключение виртуального винчестера

  • Последний шаг — параметры установки гостевой ОС. Укажем месторасположение носителя с дистрибутивом или файла образа iso. Либо отложим установку Виндовс на другое время. После нажатия кнопки «Готово» виртуальная машина будет создана, а вслед за этим запустится инсталляция операционной системы. Ее ход тоже ничем не отличается от установки ОС на реальный компьютер.

подключение iso образа для установки

Список всех виртуальных машин Hyper-V отображается в средней части окна диспетчера. Чтобы запустить любую из них, кликните 2 раза по ее имени. В окошке, которое откроется после этого, нажмите кнопку «Пуск».

запуск виртуальной машины

Чтобы виртуальные машины Hyper-v могли подключаться к Интернету, запустите через панель «Действия» диспетчер виртуальных коммутаторов. Выберите в показанном ниже списке тип сети «Внешняя» и нажмите «Создать виртуальный коммутатор». Сети «Внутренняя» и «Частная» предназначены для соединения виртуальных компьютеров между собой, и большинству пользователей не нужны.

диспетчер виртуальных коммутаторов

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

общий доступ к сетевому адаптеру

Кстати, Hyper-v поддерживает не только операционные системы семейства Windows, но и некоторых конкурентов, в частности, Linux и FreeBSD. Полный список всех совместимых с ним платформ, а также условия их использования в среде Windows, приведены на сайте MSDN.microsoft.

Некоторые опции виртуальных машин Hyper-V

Чтобы сделать снимок состояния запущенной гостевой ОС, Откройте верхнее меню ее окна «Действие» и щелкните «Контрольная точка». Либо нажмите комбинацию Ctrl+N.

Доступ к настройкам отдельной виртуальной машины открывается из ее контекстного меню в списке главного окна диспетчера и скрывается за кнопкой «Параметры».

Прочие возможности программы тоже весьма незамысловаты и осваиваются без особого труда.

Что такое виртуальная машина и зачем она нужна?

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

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

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

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

Что такое виртуальная машина на ПК и ее назначение

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

Но главное назначение пожалуй не в этом, а в очевидной экономии. Ведь не зря эту технологию давно развивают. Для работы серверов в первую очередь нужно производительное оборудование, которое дорого. Обычный сервер использует свои ресурсы где-то на 40-60%. А  если таких серверов два или больше, то получается что половина мощностей простаивает.

Чтобы избавиться от кластеризации, не внедрять  кучу  физический серверов и предназначены виртуальные машины. На одном компьютере можно установить к примеру, почтовый сервер, DNS-сервер, контроллер домена и прокси- сервер. При правильном расчете и настройке у вас будет четыре сервера, которые крутятся на одном физическом. Физический компьютер будет работать на оптимальной мощности.

Как настроить виртуальную машину Hyper -V для Windows?

Программа — гипервизор предназначена для установки, настройки, запуска и управления виртуальных машин. В Windows 10 разработчики сделали свою, встроенную и ничего таким образом не надо покупать. По умолчанию эта оснастка в операционной системе не видна и нам ее надо установить как дополнительный компонент. Для этого в «Панели управления» находим ссылку «Программы», а в нем «Установка дополнительных компонентов Windows»

Флажками отмечаем нужные компоненты:

Начнется установка гипервизора,  и применение изменений. Система попросит перезагрузку.

При перезагрузке не забудьте проверить —  включена ли виртуализация процессора в BIOS!

Что нам нужно еще для запуска виртуальной операционной системы? Нам достаточно найти ее образ iso и скачать его на компьютер. У меня есть дистрибутив от Linux Fedora для любителей астрономии в виде Iso. Интересно, что это за операционная система? Давайте для начала найдем наш Гипервизор. Для этого жмем на меню «Пуск» спускаемся вниз и находим «Средства администрирования».

Можно вывести ярлыки на рабочий стол для удобства. Диспетчер предназначен для управления виртуальными машинами. А «быстрое создание» говорит само за себя. Жмем на этот ярлык. По умолчанию система предлагает создать виртуальную машину Windows 10 или Linux -Ubuntu. Но мы сегодня будем искать другой образ, нажимаем «Сменить источник установки»:

Не забываем в «дополнительных параметрах» указать сетевой адаптер и имя виртуально машины.

В «Проводнике» ищем наш нужный образ операционной системы:

После чего нажимаем большую синюю кнопку:

Виртуальная машина  Hyper -V создается с параметрами по умолчанию,  обычно это минимальные системные требования для запуска. Система сама отбирает количество ядер процессора, выделяет оптимальный объем оперативной памяти,  создает ВИРТУАЛЬНЫЙ жесткий диск исходя из имеющихся пространства  в наличии. Место расположения виртуальной машины так же автоматически выбирается на диске. Но Вы можете изменять все  настройки под себя. Перед подключением зайдите:

Все параметры поддаются изменению; внимательно читаем, что и для чего предназначено:

После можно подключиться.

Как и любая операционная система, виртуальная так же требует установки. Все так же как и в реале:)

Типичная Linux- установка:

После загрузки графической оболочки KDE,  продолжим устанавливать дистрибутив на  ВИРТУАЛЬНЫЙ жесткий диск, выбрав соответствующий ярлык:

Управление виртуальной машиной Hyper-V осущесвляется путем нажатия кнопок в верхней части панели:

Кнопки позволяют запускать, приостанавливать, завершать работу, создавать контрольную точку, а так же экспортировать виртуальную машину. Все как в настоящем компьютере :). Hyper-V будет хороша на серверных редакциях Windows. Правда там нужно уметь много чего настраивать. И этот гипервизор у меня пару раз слетал после крупных кумулятивных обновлений «десятки». Его приходилось ставить заново.

Обзор виртуальной машины VM Workstation, как настроить и установить

Другим популярным решением является VM Ware Workstation. Это очень гибкое программное решение, с ним у меня  не было проблем. Оно не бесплатно. Но оно легкое,  и работает без сбоев, его просто было настраивать. Скачиваем и настраиваем программу. На последних редакциях Windows 10 гипервизор не запустится, программа выдаст ошибку. Если при  первом запуске виртуальной машины  у вас появиться ошибка vmware player and device/credential guard are not compatible, сначала устраняем причину здесь.

 

Соглашаемся с указаниями мастера; после установки перезагружаем компьютер. Запускной  файл находим через меню «Пуск» и клацаем по нему:

Открываем программу, создаем  новую виртуальную машину.

Выбираем обычный тип установки:

Далее, мастер как и положено предложит установить операционную систему. Сделать это он предлагает либо с CD/DVD диска либо с файла ISO. У меня  файл лежит на диске, его я и буду использовать. В этом примере я ставлю Windows XP.

При использовании «быстрой установки»  такие параметры как имя компьютера, раскладка клавиатуры, ключ продукта, имя пользователя, учетная запись,  будут установлены по умолчанию. Это не всегда удобно, и эти данные исправляются после установки, либо в момент создания образа операционной системы. Но в последнем случае придется пройти вручную по всем этапам — как на физическом компьютере.

Не забываем в следующем окне указать имя виртуальной машины и ее расположение.

Вот мы и дошли до ключевых настроек. Нужно указать размер ВИРТУАЛЬНОГО жесткого диска:

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

Запускаем виртуальную машину,  после этого начнется установка операционной системы. Обращаем внимание, что подключенные к физическому компьютеру периферийные устройства можно будет использовать и на виртуальной машине. Некоторые из них (флешки, внешние жесткие диски) надо будет подключать вручную через меню «Виртуальная машина» — «Подключаемое оборудование»

 

Управление виртуальными машинами осуществляется понятно и просто. Так же есть панель управления, которая расположена в верхней части окна:

Виртуальная машина Windows XP на Windows 10, видео

Давайте посмотрим пример создания виртуальной машины в коротком ролике:

Ничего сложного!  Удачи!

Автор публикации

не в сети 8 часов

admin

0 Комментарии: 59Публикации: 316Регистрация: 04-09-2015

Автоматизация Для Самых Маленьких. Часть 1.1. Основы виртуализации / Habr

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

В данной статье мы затронем (или попытаемся затронуть) вопросы: а как собственно происходит виртуализация сетевых функций, как реализован backend основных продуктов, обеспечивающих запуск и управление VM, а также как работает виртуальный свитчинг (OVS и Linux bridge).

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


  • Введение и краткая история виртуализации
  • Типы виртуальных ресурсов — compute, storage, network
  • Виртуальная коммутация
  • Инструменты виртуализации — libvirt, virsh и прочее
  • Заключение


История современных технологий виртуализации берет свое начало в 1999 году, когда молодая компания VMware выпустила продукт под названием VMware Workstation. Это был продукт обеспечивающий виртуализацию desktop/client приложений. Виртуализация серверной части пришла несколько позднее в виде продукта ESX Server, который в дальнейшем эволюционировал в ESXi (i означает integrated) — это тот самый продукт, который используется повсеместно как в IT так и в Telco как гипервизор серверных приложений.

На стороне Opensource два основных проекта принесли виртуализацию в Linux:

  • KVM (Kernel-based Virtual Machine) — модуль ядра Linux, который позволяет kernel работать как гипервизор (создает необходимую инфраструктуру для запуска и управления VM). Был добавлен в версии ядра 2.6.20 в 2007 году.
  • QEMU (Quick Emulator) — непосредственно эмулирует железо для виртуальной машины (CPU, Disk, RAM, что угодно включая USB порт) и используется совместно с KVM для достижения почти «native» производительности.
На самом деле на сегодняшний момент вся функциональность KVM доступна в QEMU, но это не принципиально, так как бо́льшая часть пользователей виртуализации на Linux не использует напрямую KVM/QEMU, а обращается к ним как минимум через один уровень абстракции, но об этом позже.

Сегодня VMware ESXi и Linux QEMU/KVM это два основных гипервизора, которые доминируют на рынке. Они же являются представителями двух разных типов гипервизоров:

  • Type 1 — гипервизор запускается непосредственно на железе (bare-metal). Таковым является VMware ESXi, Linux KVM, Hyper-V
  • Type 2 — гипервизор запускается внутри Host OS (операционной системы). Таковым является VMware Workstation или Oracle VirtualBox.

Обсуждение что лучше, а что хуже выходит за рамки данной статьи.

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

Пожалуй, наиболее важной и самой широко используемой является технология Intel VT (Virtualization Technology) — набор расширений, разработанных Intel для своих x86 процессоров, которые используются для эффективной работы гипервизора (а в некоторых случаях необходимы, так, например, KVM не заработает без включенного VT-x и без него гипервизор вынужден заниматься чисто софтверной эмуляцией, без аппаратного ускорения).
Наиболее известны два из этих расширений — VT-x и VT-d. Первое важно для улучшения производительности CPU при виртуализации, так как обеспечивает аппаратную поддержку некоторых ее функций (с VT-x 99.9% Guest OS кода выполняется прямо на физическом процессоре, делая выходы для эмуляции только в самых необходимых случаях), второе для подключения физических устройств напрямую в виртуальную машину (для проброса виртуальных функций (VF) SRIOV, например, VT-d должен быть включен).

Следующей важной концепцией является отличие полной виртуализации (full virtualization) от пара-виртуализации (para-virtualization).
Полная виртуализация — это хорошо, это позволяет запускать какую угодно операционную систему на каком угодно процессоре, однако, это крайне неэффективно и абсолютно не подходит для высоконагруженных систем.
Пара-виртуализация, если коротко, это когда Guest OS понимает что она запущена в виртуальной среде и кооперируется с гипервизором для достижения большей эффективности. То есть появляется guest-hypervisor интерфейс.
Подавляющее большинство используемых операционных систем сегодня имеют поддержку пара-виртуализации — в Linux kernel это появилось начиная с ядра версии 2.6.20.

Для работы виртуальной машины нужны не только виртуальный процессор (vCPU) и виртуальная память (RAM), требуется также эмуляция PCI-устройств. То, есть по сути, требуется набор драйверов для управления виртуальными сетевыми интерфейсами, дисками и тд.
В гипервизоре Linux KVM данная задача была решена посредством внедрения virtio — фреймворка для разработки и использования виртуализированных устройств ввода/вывода.
Virtio представляет из себя дополнительный уровень абстракции, который позволяет эмулировать различные I/O устройства в пара-виртуализированном гипервизоре, предоставляя в сторону виртуальной машины единый и стандартизированный интерфейс. Это позволяет переиспользовать код virtio-драйвера для различных по своей сути устройств. Virtio состоит из:

  • Front-end driver — то что находится в виртуальной машине
  • Back-end driver — то что находится в гипервизоре
  • Transport driver — то что связывает backend и frontend

Эта модульность позволяет изменять технологии, применяемые в гипервизоре, не затрагивая драйверы в виртуальной машине (этот момент очень важен для технологий сетевой акселерации и Cloud-решений в целом, но об этом позже).
То есть существует связь guest-hypervisor, когда Guest OS «знает» о том, что запущена в виртуальной среде.
Если вы хоть раз писали вопрос в RFP или отвечали на вопрос в RFP «Поддерживается ли в вашем продукте virtio?» Это как раз было о поддержке front-end virtio драйвера.

Из чего же состоит виртуальная машина?
Выделяют три основных вида виртуальных ресурсов:
  • compute — процессор и оперативная память
  • storage — системный диск виртуальной машины и блочные хранилища
  • network — сетевые карты и устройства ввода/вывода

CPU


Теоретически QEMU способен эмулировать любой тип процессора и соотвествующие ему флаги и функциональность, на практике используют либо host-model и точечно выключают флаги перед передачей в Guest OS либо берут named-model и точечно включают\выключают флаги.

По умолчанию QEMU будет эмулировать процессор, который будет распознан Guest OS как QEMU Virtual CPU. Это не самый оптимальный тип процессора, особенно если приложение, работающее в виртуальной машине, использует CPU-флаги для своей работы. Подробнее о разных моделях CPU в QEMU.

QEMU/KVM также позволяет контролировать топологию процессора, количество тредов, размер кэша, привязывать vCPU к физическому ядру и много чего еще.

Нужно ли это для виртуальной машины или нет, зависит от типа приложения, работающего в Guest OS. Например, известный факт, что для приложений, выполняющих обработку пакетов с высоким PPS, важно делать CPU pinning, то есть не позволять передавать физический процессор другим виртуальным машинам.

Memory


Далее на очереди оперативная память — RAM. С точки зрения Host OS запущенная с помощью QEMU/KVM виртуальная машина ничем не отличается от любого другого процесса, работающего в user-space операционной системы. Соотвественно и процесс выделения памяти виртуальной машине выполняется теми же вызовами в kernel Host OS, как если бы вы запустили, например, Chrome браузер.
Перед тем как продолжить повествование об оперативной памяти в виртуальных машинах, необходимо сделать отступление и объяснить термин NUMA — Non-Uniform Memory Access.
Архитектура современных физических серверов предполагает наличие двух или более процессоров (CPU) и ассоциированной с ней оперативной памятью (RAM). Такая связка процессор + память называется узел или нода (node). Связь между различными NUMA nodes осуществляется посредством специальной шины — QPI (QuickPath Interconnect)

Выделяют локальную NUMA node — когда процесс, запущенный в операционной системе, использует процессор и оперативную память, находящуюся в одной NUMA node, и удаленную NUMA node — когда процесс, запущенный в операционной системе, использует процессор и оперативную память, находящиеся в разных NUMA nodes, то есть для взаимодействия процессора и памяти требуется передача данных через QPI шину.

С точки зрения виртуальной машины память ей уже выделена на момент ее запуска, однако в реальности это не так, и kernel Host OS выделяет процессу QEMU/KVM новые участки памяти по мере того как приложение в Guest OS запрашивает дополнительную память (хотя тут тоже может быть исключение, если прямо указать QEMU/KVM выделить всю память виртуальной машине непосредственно при запуске).

Память выделяется не байт за байтом, а определенным размером — page. Размер page конфигурируем и теоретически может быть любым, но на практике используется размер 4kB (по умолчанию), 2MB и 1GB. Два последних размера называются HugePages и часто используются для выделения памяти для memory intensive виртуальных машин. Причина использования HugePages в процессе поиска соответствия между виртуальным адресом page и физической памятью в Translation Lookaside Buffer (TLB), который в свою очередь ограничен и хранит информацию только о последних использованных pages. Если информации о нужной page в TLB нет, происходит процесс, называемый TLB miss, и требуется задействовать процессор Host OS для поиска ячейки физической памяти, соответствующей нужной page.

Данный процесс неэффективен и медлителен, поэтому и используется меньшее количество pages бо́льшего размера.
QEMU/KVM также позволяет эмулировать различные NUMA-топологии для Guest OS, брать память для виртуальной машины только из определенной NUMA node Host OS и так далее. Наиболее распространенная практика — брать память для виртуальной машины из NUMA node локальной по отношению к процессорам, выделенным для виртуальной машины. Причина — желание избежать лишней нагрузки на QPI шину, соединяющую CPU sockets физического сервера (само собой, это логично если в вашем сервере 2 и более sockets).



Как известно, оперативная память потому и называется оперативной, что ее содержимое исчезает при отключении питания или перезагрузке операционной системы. Чтобы хранить информацию, требуется постоянное запоминающее устройство (ПЗУ) или persistent storage.
Существует два основных вида persistent storage:
  • Block storage (блоковое хранилище) — блок дискового пространства, который может быть использован для установки файловой системы и создания партиций. Если грубо, то можно воспринимать это как обычный диск.
  • Object storage (объектное хранилище) — информация может быть сохранена только в виде объекта (файла), доступного по HTTP/HTTPS. Типичными примерами объектного хранилища являются AWS S3 или Dropbox.

Виртуальная машина нуждается в persistent storage, однако, как это сделать, если виртуальная машина «живет» в оперативной памяти Host OS? Если вкратце, то любое обращение Guest OS к контроллеру виртуального диска перехватывается QEMU/KVM и трансформируется в запись на физический диск Host OS. Этот метод неэффективен, и поэтому здесь так же как и для сетевых устройств используется virtio-драйвер вместо полной эмуляции IDE или iSCSI-устройства. Подробнее об этом можно почитать здесь. Таким образом виртуальная машина обращается к своему виртуальному диску через virtio-драйвер, а далее QEMU/KVM делает так, чтобы переданная информация записалась на физический диск. Важно понимать, что в Host OS дисковый backend может быть реализован в виде CEPH, NFS или iSCSI-полки.

Наиболее простым способом эмулировать persistent storage является использование файла в какой-либо директории Host OS как дискового пространства виртуальной машины. QEMU/KVM поддерживает множество различных форматов такого рода файлов — raw, vdi, vmdk и прочие. Однако наибольшее распространение получил формат qcow2 (QEMU copy-on-write version 2). В общем случае, qcow2 представляет собой определенным образом структурированный файл без какой-либо операционной системы. Большое количество виртуальных машин распространяется именно в виде qcow2-образов (images) и являются копией системного диска виртуальной машины, упакованной в qcow2-формат. Это имеет ряд преимуществ — qcow2-кодирование занимает гораздо меньше места, чем raw копия диска байт в байт, QEMU/KVM умеет изменять размер qcow2-файла (resizing), а значит имеется возможность изменить размер системного диска виртуальной машины, также поддерживается AES шифрование qcow2 (это имеет смысл, так как образ виртуальной машины может содержать интеллектуальную собственность).

Далее, когда происходит запуск виртуальной машины, QEMU/KVM использует qcow2-файл как системный диск (процесс загрузки виртуальной машины я опускаю здесь, хотя это тоже является интересной задачей), а виртуальная машина имеет возможность считать/записать данные в qcow2-файл через virtio-драйвер. Таким образом и работает процесс снятия образов виртуальных машин, поскольку в любой момент времени qcow2-файл содержит полную копию системного диска виртуальной машины, и образ может быть использован для резервного копирования, переноса на другой хост и прочее.

В общем случае этот qcow2-файл будет определяться в Guest OS как /dev/vda-устройство, и Guest OS произведет разбиение дискового пространства на партиции и установку файловой системы. Аналогично, следующие qcow2-файлы, подключенные QEMU/KVM как /dev/vdX устройства, могут быть использованы как block storage в виртуальной машине для хранения информации (именно так и работает компонент Openstack Cinder).



Последним в нашем списке виртуальных ресурсов идут сетевые карты и устройства ввода/вывода. Виртуальная машина, как и физический хост, нуждается в PCI/PCIe-шине для подключения устройств ввода/вывода. QEMU/KVM способен эмулировать разные типы чипсетов — q35 или i440fx (первый поддерживает — PCIe, второй — legacy PCI ), а также различные PCI-топологии, например, создавать отдельные PCI-шины (PCI expander bus) для NUMA nodes Guest OS.

После создания PCI/PCIe шины необходимо подключить к ней устройство ввода/вывода. В общем случае это может быть что угодно — от сетевой карты до физического GPU. И, конечно же, сетевая карта, как полностью виртуализированная (полностью виртуализированный интерфейс e1000, например), так и пара-виртуализированная (virtio, например) или физическая NIC. Последняя опция используется для data-plane виртуальных машин, где требуется получить line-rate скорости передачи пакетов — маршрутизаторов, файрволов и тд.

Здесь существует два основных подхода — PCI passthrough и SR-IOV. Основное отличие между ними — для PCI-PT используется драйвер только внутри Guest OS, а для SRIOV используется драйвер Host OS (для создания VF — Virtual Functions) и драйвер Guest OS для управления SR-IOV VF. Более подробно об PCI-PT и SRIOV отлично написал Juniper.

Для уточнения стоит отметить что, PCI passthrough и SR-IOV это дополняющие друг друга технологии. SR-IOV это нарезка физической функции на виртуальные функции. Это выполняется на уровне Host OS. При этом Host OS видит виртуальные функции как еще одно PCI/PCIe устройство. Что он дальше с ними делает — не важно.

А PCI-PT это механизм проброса любого Host OS PCI устройства в Guest OS, в том числе виртуальной функции, созданной SR-IOV устройством

Таким образом мы рассмотрели основные виды виртуальных ресурсов и следующим шагом необходимо понять как виртуальная машина общается с внешним миром через сеть.


Если есть виртуальная машина, а в ней есть виртуальный интерфейс, то, очевидно, возникает задача передачи пакета из одной VM в другую. В Linux-based гипервизорах (KVM, например) эта задача может решаться с помощью Linux bridge, однако, большое распространение получил проект Open vSwitch (OVS).
Есть несколько основных функциональностей, которые позволили OVS широко распространиться и стать de-facto основным методом коммутации пакетов, который используется во многих платформах облачных вычислений(например, Openstack) и виртуализированных решениях.

  • Передача сетевого состояния — при миграции VM между гипервизорами возникает задача передачи ACL, QoSs, L2/L3 forwarding-таблиц и прочего. И OVS умеет это.
  • Реализация механизма передачи пакетов (datapath) как в kernel, так и в user-space
  • CUPS (Control/User-plane separation) архитектура — позволяет перенести функциональность обработки пакетов на специализированный chipset (Broadcom и Marvell chipset, например, могут такое), управляя им через control-plane OVS.
  • Поддержка методов удаленного управления трафиком — протокол OpenFlow (привет, SDN).

Архитектура OVS на первый взгляд выглядит довольно страшно, но это только на первый взгляд.

Для работы с OVS нужно понимать следующее:

  • Datapath — тут обрабатываются пакеты. Аналогия — switch-fabric железного коммутатора. Datapath включает в себя приём пакетов, обработку заголовков, поиск соответствий по таблице flow, который в Datapath уже запрограммирован. Если OVS работает в kernel, то выполнен в виде модуля ядра. Если OVS работает в user-space, то это процесс в user-space Linux.
  • vswitchd и ovsdb — демоны в user-space, то что реализует непосредственно сам функциональность коммутатора, хранит конфигурацию, устанавливает flow в datapath и программирует его.
  • Набор инструментов для настройки и траблшутинга OVS — ovs-vsctl, ovs-dpctl, ovs-ofctl, ovs-appctl. Все то, что нужно, чтобы прописать в ovsdb конфигурацию портов, прописать какой flow куда должен коммутироваться, собрать статистику и прочее. Добрые люди написали статью по этому поводу.

Каким же образом сетевое устройство виртуальной машины оказывается в OVS?

Для решения данной задачи нам необходимо каким-то образом связать между собой виртуальный интерфейс, находящийся в user-space операционной системы с datapath OVS, находящимся в kernel.

В операционной системе Linux передача пакетов между kernel и user-space-процессами осуществляется посредством двух специальных интерфейсов. Оба интерфейса использует запись/чтение пакета в/из специальный файл для передачи пакетов из user-space-процесса в kernel и обратно — file descriptor (FD) (это одна из причин низкой производительности виртуальной коммутации, если datapath OVS находится в kernel — каждый пакет требуется записать/прочесть через FD)

  • TUN (tunnel) — устройство, работающее в L3 режиме и позволяющее записывать/считывать только IP пакеты в/из FD.
  • TAP (network tap) — то же самое, что и tun интерфейс + умеет производить операции с Ethernet-фреймами, т.е. работать в режиме L2.

Именно поэтому при запущенной виртуальной машине в Host OS можно увидеть созданные TAP-интерфейсы командой ip link или ifconfig — это «ответная» часть virtio, которая «видна» в kernel Host OS. Также стоит обратить внимание, что TAP-интерфейс имеет тот же MAC-адрес что и virtio-интерфейс в виртуальной машине.

TAP-интерфейс может быть добавлен в OVS с помощью команд ovs-vsctl — тогда любой пакет, скоммутированный OVS в TAP-интерфейс, будет передан в виртуальную машину через file descriptor.

Реальный порядок действий при создании виртуальной машины может быть разным, т.е. сначала можно создать OVS bridge, потом указать виртуальной машине создать интерфейс, соединенный с этим OVS, а можно и наоборот.

Теперь, если нам необходимо получить возможность передачи пакетов между двумя и более виртуальными машинами, которые запущены на одном гипервизоре, нам потребуется лишь создать OVS bridge и добавить в него TAP-интерфейсы с помощью команд ovs-vsctl. Какие именно команды для этого нужны легко гуглится.

На гипервизоре может быть несколько OVS bridges, например, так работает Openstack Neutron, или же виртуальные машины могут находиться в разных namespace для реализации multi-tenancy.

А если виртуальные машины находятся в разных OVS bridges?

Для решения данной задачи существует другой инструмент — veth pair. Veth pair может быть представлен как пара сетевых интерфейсов, соединенных кабелем — все то, что «влетает» в один интерфейс, «вылетает» из другого. Veth pair используется для соединения между собой нескольких OVS bridges или Linux bridges. Другой важный момент что части veth pair могут находиться в разных namespace Linux OS, то есть veth pair может быть также использован для связи namespace между собой на сетевом уровне.

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

  • libvirt
  • virsh CLI
  • virt-install
Конечно, существует множество других утилит и CLI-команд, которые позволяют управлять гипервизором, например, можно напрямую пользоваться командами qemu_system_x86_64 или графическим интерфейсом virt manager, но это скорее исключение. К тому же существующие сегодня Cloud-платформы, Openstack, например, используют как раз libvirt.

libvirt


libvirt — это масштабный open-source проект, который занимается разработкой набора инструментов и драйверов для управления гипервизорами. Он поддерживает не только QEMU/KVM, но и ESXi, LXC и много чего еще.
Основная причина его популярности — структурированный и понятный интерфейс взаимодействия через набор XML-файлов плюс возможность автоматизации через API. Стоит оговориться что libvirt не описывает все возможные функции гипервизора, он лишь предоставляет удобный интерфейс использования полезных, с точки зрения участников проекта, функции гипервизора.

И да, libvirt это де-факто стандарт в мире виртуализации сегодня. Только взгляните на список приложений, которые используют libvirt.

Хорошая новость про libvirt — все нужные пакеты уже предустановлены во всех наиболее часто используемых Host OS — Ubuntu, CentOS и RHEL, поэтому, скорее всего, собирать руками нужные пакеты и компилировать libvirt вам не придется. В худшем случае придется воспользоваться соответствующим пакетным инсталлятором (apt, yum и им подобные).

При первоначальной установке и запуске libvirt по умолчанию создает Linux bridge virbr0 и его минимальную конфигурацию.

Именно поэтому при установке Ubuntu Server, например, вы увидите в выводе команды ifconfig Linux bridge virbr0 — это результат запуска демона libvirtd

Этот Linux bridge не будет подключен ни к одному физическому интерфейсу, однако, может быть использован для связи виртуальных машин внутри одного гипервизора. Libvirt безусловно может быть использован вместе с OVS, однако, для этого пользователь должен самостоятельно создать OVS bridges с помощью соответствующих OVS-команд.

Любой виртуальный ресурс, необходимый для создания виртуальной машины (compute, network, storage) представлен в виде объекта в libvirt. За процесс описания и создания этих объектов отвечает набор различных XML-файлов.

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

Сама виртуальная машина со всеми подключенными PCI-устройствами в терминологии libvirt называется domain. Это тоже объект внутри libvirt, который описывается отдельным XML-файлом.

Этот XML-файл и является, строго говоря, виртуальной машиной со всеми виртуальными ресурсами — оперативная память, процессор, сетевые устройства, диски и прочее. Часто данный XML-файл называют libvirt XML или dump XML.
Вряд ли найдется человек, который понимает все параметры libvirt XML, однако, это и не требуется, когда есть документация.

В общем случае, libvirt XML для Ubuntu Desktop Guest OS будет довольно прост — 40-50 строчек. Поскольку вся оптимизация производительности описывается также в libvirt XML (NUMA-топология, CPU-топологии, CPU pinning и прочее), для сетевых функций libvirt XML может быть очень сложен и содержать несколько сот строк. Любой производитель сетевых устройств, который поставляет свое ПО в виде виртуальных машин, имеет рекомендованные примеры libvirt XML.

virsh CLI

Утилита virsh — «родная» командная строка для управления libvirt. Основное ее предназначение — это управление объектами libvirt, описанными в виде XML-файлов. Типичными примерами являются операции start, stop, define, destroy и так далее. То есть жизненный цикл объектов — life-cycle management.

Описание всех команд и флагов virsh также доступно в документации libvirt.

virt-install

Еще одна утилита, которая используется для взаимодействия с libvirt. Одно из основных преимуществ — можно не разбираться с XML-форматом, а обойтись лишь флагами, доступными в virsh-install. Второй важный момент — море примеров и информации в Сети.

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


В данной статье мы рассмотрели минимальный набор теоретических знаний, который необходим для работы с виртуальными машинами. Я намеренно не приводил практических примеров и выводов команд, поскольку таких примеров можно найти сколько угодно в Сети, и я не ставил перед собой задачу написать «step-by-step guide». Если вас заинтересовала какая-то конкретная тема или технология, оставляйте свои комментарии и пишите вопросы.






  • Александру Шалимову — моему коллеге и эксперту в области разработки виртуальных сетей. За комментарии и правки.
  • Евгению Яковлеву — моему коллеге и эксперту в области виртуализации за комментарии и правки.

Некоторые особенности использования виртуальных машин для новичков / Habr

Виртуальные машины, такие как Virtualbox, используются для эмуляции виртуальное оборудование и запуска нескольких операционных систем на компьютере. Чем лучше будет у вас CPU и чем больше будет оперативной памяти, тем быстрее будут выполнятся виртуальные машины на вашем компьютере.
Я предлагаю несколько советов которые помогут вам сэкономить время при начальной настройке виртуальных машин. Это будет полезно для работы с виртуальными машинами VirtualBox, VMware, Parallels, или любой другой.

Обязательно установите дополнения гостевой ОС VirtualBox или VMware Tools

После установки гостевой операционной системы в виртуальной машине, первое, что нужно сделать, это установить программное обеспечение виртуальной машины -«Дополнения гостевой ОС для VirtualBox» или VMware Tools для VMware". Эти пакеты включают в себя специальные драйверы, которые помогут вашей гостевой операционной системе работать быстрее на используя аппаратные средства вашей основной машины.

Установка пакета проста — в VirtualBox, после загрузки гостевой операционной системы, нажмите кнопку меню Устройства и выберите «Install Guest Additions». Если вы используете VMware, выберите «Install VMware Tools» в меню Virtual Machine. Следуйте инструкциям на экране для завершения установки — если вы используете Windows в качестве гостевой операционной системы, то это будет аналогично установке любого другого приложения.

Убедитесь, что вы имеете самую последнюю версию Guest Additions — если вы видите уведомление, что доступно обновление для Guest Additions или VMware Tools, вы должны установить его.

Создание фиксированного размера дисков при первоначальной настройке

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

Например, если вы создаете новую виртуальную машину с динамически выделяемым диском с максимальным размером 30 Гб, это не займет до 30 Гб места на жестком диске сразу.После установки операционной системы и программ, диск может только занять до 10 Гб. По мере добавления файлов на виртуальном диске, он будет расширяться до максимального размера в 30 Гб.

Это может быть удобно — каждая виртуальная машина не будет занимать неоправданно много места на вашем жестком диске. Тем не менее, это медленнее, чем создание фиксированного размера диска (диск с заранее выделенным местом). При создании фиксированного размера диска, все 30 Гб, будет занято немедленно на вашем компьютере.

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

Исключите каталог виртуальных машин в вашем антивирусе

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

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

Выделите больше памяти

Виртуальные машины любят много виртуальной памяти. Microsoft рекомендует 2 Гб RAM для 64-битной Windows 7, и эта рекомендация относится и к Windows 7 x32, когда он работает в виртуальной машине. Если вы работаете большими приложениями в виртуальной машине, вы можете выделить более 2 Гб оперативной памяти.

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

Выделите больше процессоров

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

Если вы собираетесь инсталлировать ОС семейства MS-Windows и в будущем чтобы можно было использовать больше ядер при инсталляции указывайте 2 ядра для того чтобы поставился корректный HAL, после инсталляции вы можете выключить машину и поставить 1 ядро по умолчанию для повседневного использования. Но для будущего вы всегда сможете добавить ядра без деинсталляции ОС. Linux VM может динамически определять любое количество ядер при загрузке ОС.

Настройте параметры видео

Тонкая настройка параметров видео и выделение большего объема видеопамяти поможет также улучшить скорость вашей виртуальной машины. Например, включение функции 2D ускорение в VirtualBox улучшает воспроизведение видео в виртуальных машинах, включение 3D-ускорения позволит вам использовать некоторые 3D-приложения.

По большому счету нужно минимизировать использование 3D например ОС Windows 7 — отключив Aero.

Убедитесь, что функции Intel VT-x или AMD-V включены

Intel VT-x и AMD-V являются специальными расширениями процессора, которые улучшают скорость виртуализации. Новые Intel и AMD процессоры обычно включают в себя эти функции. Тем не менее, некоторые компьютеры не включают автоматически VT-x или AMD-V — вам придется включить этот параметр в BIOS вашего компьютера.

Чтобы определить, поддерживает ли Ваш Intel процессор расширение Intel VT, воспользуйтесь утилитами показывающими системную информацию. Если ваш процессор поддерживает эту функцию, но опция недоступна в вашей виртуальной машине, вы должны в BIOS вашего компьютера включить эту функцию. Этот параметр обычно включен по умолчанию в материнских платах с процессорами AMD.

Поместите файлы виртуальной машины на другой диск

Производительность диска может ограничить скорость вашей виртуальной машины. Размещение файлов виртуальной машины на отдельном физическом диске или не на системном диске — может улучшить производительность. Ваша виртуальная машина и система не будут конкурентно читать и писать с одного диска.

Однако, вы не должны запускать виртуальную машину с внешнего диска (USB) — это будет гораздо медленнее.

Еще несколько полезных советов

  1. Выделение дополнительных процессоров редко бывает хорошей идеей. Используйте 1 CPU для настольных ОС.
  2. Постарайтесь не использовать графические гипервизоры для серверных ОС.
  3. Не выделяйте работающим VM Больше ядер чем есть на Вашем компьютере.

Что такое VirtualBox и как ей пользоваться

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

Что такое VirtualBox

Если я скажу, что VirtualBox — это программный продукт виртуализации для различных операционных систем, как это делает множество сайтов, перепечатывая определение из Википедии, то, возможно, какие-то ассоциации у вас и возникнут, но все же, это довольно непонятная и обобщенная формулировка. Поэтому буду объяснять более простыми словами.

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

Виртуальная машина создает некое изолированное окружение на компьютере, которое состоит из виртуальных компонентов реального ПК: жесткого диска, видеокарты, оперативной памяти, различных контроллеров устройств и т.п. Таким образом, установленная в VirtualBox операционная система будет полностью уверенна в том, что она работает на реальном железе.

Из этого вытекает и ответ на вопрос — отличается ли установка операционной системы на виртуальную машину от установки на реальный ПК? Ответ будет — нет! В некоторых случаях при работе с VirtualBox могут понадобиться особые настройки машины, но сам процесс установки ОС идентичен для обоих вариантов.

Для чего нужна VirtualBox

Способов применения виртуальных машин существует множество. Рассмотрим наиболее популярные среди обычных пользователей:

  • Знакомство с другими операционными системами. В независимости от того, какая операционная система установлена на вашем компьютере, в VirtualBox можно установить любую из поддерживаемых ею, а это: множество дистрибутивов Linux, FreeBSD, MacOS, любая из версий Windows, Android и другие. Не нужно бояться того, что такой установкой вы сломаете реальную систему, или удалите важные данные — виртуальная машина работает изолированно и вы можете экспериментировать с ней как пожелаете. Когда она вам больше будет не нужна, просто удалите, и она не оставит никаких следов за собой;
  • Еще один способ применения VirtualBox — необходимость запуска программы, не работающей в вашей основной ОС или ее версии. Например вы работаете, в Windows и вам понадобилось приложение, которое доступно только под Linux. Иногда единственным выходом будет установка Linux в VirtualBox и использование нужного ПО оттуда. Подробная же ситуация может быть, когда вам нужна программа, работающая лишь под старыми версиями Windows;
  • Тестирование различного ПО. Может случиться так, что вам понадобится воспользоваться какой либо программой, или вам в общем часто приходится тестировать различные приложения, при этом вы не особо желаете засорять свою рабочую машину. Снова же, на помощь придет VirtualBox. Кроме того, используя виртуальную машину, вы можете не бояться заразить свой компьютер вирусами, даже если подобное произойдет с запущенной в VirtualBox ОС.

Это самые распространенные способы применения виртуальной машины среди обычных пользователей, но также VirtualBox часто используют:

  • Разработчиками, для тестирования своего продукта на различных платформах;
  • Учащимися для практики в построении сети, и тому подобное.

Установка VirtualBox

Ничего сложного и необычного в установке VirtualBox на компьютер нет. Пользователи Windows могут скачать самую свежую версию программы со страницы загрузки официального сайта. После этого запускаете скачанный exe файл и следуете подсказками установщика.

Пользователи Linux в большинстве случаев, имеют возможность установить VirtualBox из репозиториев своих дистрибутивов. Например в Ubuntu или Debian это делается командой:

sudo apt-get install virtualbox

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

Создание Виртуальных машин в Virtualbox

Для создания виртуальной машины нужно запустить VirtualBox и нажать на верхней панели кнопку Создать:

Откроется окно создания виртуальный машины. На первой вкладке нужно задать имя операционной системы, ее тип и версию. Давайте для примера создадим виртуальную машину для установки Ubuntu.

В поле Имя указываем имя нашей виртуальной машины — Ubuntu. Так как по этому имени вы будете идентифицировать систему, лучше задавать более информативное имя. Так мы будем устанавливать 64 битую Ubuntu 16.10, то и адрес это в названии: Ubuntu 16.10 x64. Если вы пишите правильное название ОС в поле Имя, как правило Тип определяется сам, если этого не происходит, можно выбрать его вручную. Аналогично с версией. Нажимаем Next:

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

При определении объема оперативной памяти для виртуальной машины, можно опираться на свой опыт работы с устанавливаемой системой, если он есть, а также на общее количество ОЗУ на вашем компьютере. Но желательно не отдавать виртуальной машине больше, чем половину реального объема оперативной памяти вашего ПК.

В данном случае VirtualBox рекомендует нам 768 Мб, мы видим, что всего у нас на компьютере 3Гб, поэтому можно позволить себе и больше. Выделим 1Гб:

Нажимаем Next.

Теперь необходимо создать жесткий диск для нашей Ubuntu. Физически, жесткий диск VirtualBox — это особый файл, который будет храниться на одном из разделов или дисков (место можно будет указать) вашего ЖД.

VirtyualBox предлагает 3 варианта дальнейших действий:

  1. Не подключать виртуальный жесткий диск — в этом случае его нужно будет самостоятельно подключить уже после создания виртуальной машины;
  2. Создать новый виртуальный жесткий диск — тут, надеюсь, все ясно;
  3. Использовать существующий виртуальный жесткий диск — этот вариант подойдет тем, кто уже использует VirtualBox, и у кого есть ранее созданные виртуальные жесткие диски.

Так как мы впервые создаем виртуальную машину, нам подойдет второй вариант, который и отмечен по умолчанию — Cоздать новый виртуальный жесткий диск. Жмем Создать:

На новой вкладке определяемся с типом виртуального жесткого диска. Здесь также есть несколько вариантов на выбор, и отталкиваться нужно от того, планируете ли вы в будущем использовать этот диск с другими программами виртуализации, например VMware или Paraleles. В большинстве случаев, обычные пользователи подобное не планируют, поэтому можно оставить все как есть и использовать формат диска стандартный для VirtualBox — VDI. Жмем Next:

Выбираем формат хранения жесткого диска: динамический или фиксированный:

Динамический жесткий диск на физическом жестком диске вашего ПК всегда будет занимать ровно столько места, сколько будет «весить»установленная на него ОС со всеми программами и файлами. То есть, если во время создания виртуальной машины вы создали диск, объемом 100 Гб, но после установки ОС будет занято лишь 25 Гб то и файл жесткого диска будет занимать лишь 25 Гб. Если вы заберите его на 50 Гб, «весить» он будет аналогично. Думаю понятно — динамический жесткий диск будет увеличиваться до максимально заданного значения по мере экстрактами виртуальной машины.

Если выбрать тип диска — фиксированный, VirtualBox — сразу создаст файл такого объема, какой вы укажите, и меняться он не будет.

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

Завершающим шагом будет задание имени, расположения и объема виртуального жесткого диска.

Указываем имя нашего жесткого диска. Если вы планируете его использовать только с одной ОС, можно дать ему ее имя.

Если вы желаете указать какое-то особое место хранения виртуального диска, нажмите на кнопку папки справа от поля ввода имени жесткого диска, и укажите новый путь. Я же оставлю как есть.

И, наконец указываем объем жесткого диска. VirtualBox здесь снова предлагает нам свой вариант, который будет зависеть от типа устанавливаемой ОС. Вы же отталкиваетесь от того, сколько свободного места у вас есть на реальном жестком диске, а также как активно и каким образом вы будете пользоваться виртуальной машиной. Я указываю 50 Гб. Затем нажимаем Создать:

Виртуальная машина готова:

И перед началом установки операционной системы осталось указать VirtualBox только образ iso файла нашей Ubuntu или установочный диск. Это можно сделать как через настройки виртуальной машины, для этого нужно в настройках перейти на вкладку Носители и в поле указать путь к iso файлу:

Так и во время старта виртуальной машины:

И ждем появления загрузчика установщика ОС:

Все, дальнейшая установка любой ОС на VirtualBox не отличается от установки ее на реальный ПК. Если это та же Ubuntu, у нас об этом есть как видео на канале, так и текстовая статья.

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

Дополнения гостевой оси

После установки операционной системы в VirtualBox ею можно начинать пользоваться, однако такая система не в полной мере может раскрыть свои возможности. Так, например, гостевая система (та, которая работает в VirtualBox) может иметь маленькое разрешение экрана, она не имеет доступа к физическим USB портами, а также, отсутствует возможность создавать общие папки для переноса необходимых файлов между хостовой (та, которая у вас основная) системой и гостевой. Для того, чтобы все эти возможности появились нужно установить, так называемые Дополнения гостевой оси. Это набор драйверов и дополнительных программ, которые обеспечивают более глубокую интеграцию гостевой оси с хостом и активируют дополнительные возможности виртуальной машины.

Установка дополнений гостевой ОС в Windows

Чтобы установить дополнения гостевой ОС для работающей в VirtualBox Windows, в запущенной ОС из меню виртуальной машины, что по умолчанию находится в нижней части экрана или на верхней панели, выберите пункт Устройства и из него выберите Подключить образ диска Дополнений гостевой ОС:

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

Установка дополнений гостевой ОС в Linux

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

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

Затем начнется установка:

Если автоустановка не запустилась, то на примере Ubuntu нужно сделать в терминале следующее:

  • Переходим в каталог подключенного диска:
    cd /media/geek/VBOXADDITTIONS_5.1.18_114002

    Вместо geek пишите имя своего пользователя. Версия дополнений гостевой ОС может отличаться, поэтому лучше после ввода VBOXADDITIONS воспользоваться клавишей TAB — она автоматически добавит окончание.

  • Теперь нам нужно запустить скрипт VBoxLinuxAdditions.run, вводим:
    sudo sh ./VBoxLinuxAdditions.run
  • После установки также перезагружаем гостевую систему.

Итог

Ну вот и все, что хотелось написать о VirtualBox. Мы не рассмотрели настройки данного ПО, но на самом деле, если вы желаете установить на VirtualBox какую-либо ОС лишь для ознакомления вам они не так сильно нужны, а если и понадобяться, то для каждой ОС будут разными, аоэтому смысла описывать их здесь я не вижу.

Предыдущая запись
Как изменить формат документа по умолчанию в LibreOffice

 

Метки Кроссплатформенное ПОНастройка ПОРабота на компьютере

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *