Введение в виртуальные машины

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

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

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

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

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

На следующем снимке экрана показаны операционные системы Windows 7 и Ubuntu 17.10 в качестве виртуализированных гостевых систем на одной хост-системе. Каждая виртуальная машина запускается в отдельном окне. В качестве программного обеспечения для виртуализации используется Oracle VM VirtualBox.

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

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

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

В контексте бизнеса виртуальные машины используются для снижения затрат на эксплуатацию и обслуживание ИТ-инфраструктуры. Компании часто используют обширную ИТ-инфраструктуру, которая простаивает большую часть дня. Виртуальные машины могут значительно сократить эти потери. Вместо того чтобы предоставлять каждой прикладной области ИТ-отдела отдельную физическую машину, все больше компаний переходят к запуску почтовых серверов, серверов баз данных, файлов или приложений в изолированных виртуальных средах на одной и той же мощной аппаратной платформе. Эта концепция реализуется в контексте консолидации серверов, поскольку обычно дешевле содержать большую вычислительную платформу для различных виртуальных систем, чем эксплуатировать несколько небольших компьютеров. Процессоры, в частности, все еще дорого покупать. Другими словами: неиспользуемое процессорное время — это ненужный фактор затрат, которого можно избежать, перейдя на виртуальные системы.

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

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

Примечание

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

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

Обзор преимуществ и недостатков виртуальных машин

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

Преимущества Недостатки  
Параллельная работа нескольких гостевых систем: Виртуализация на базе гипервизора позволяет параллельно работать нескольким операционным системам на одной аппаратной основе. Многие гипервизоры предлагают функции эмуляции, с помощью которых можно устранить несовместимость между различными системными архитектурами. Накладные расходы гипервизора (и гостевой системы): Виртуальные машины менее эффективны, чем физические машины, поскольку часть доступных ресурсов используется для работы программного обеспечения гипервизора.  
Улучшение использования аппаратного обеспечения за счет консолидации аппаратного обеспечения: Запуск нескольких виртуальных машин на одной физической машине позволяет лучше использовать аппаратные ресурсы. Такая консолидация повышает степень использования предоставляемого оборудования, сокращает время простоя и экономит затраты.   Когда речь идет об общем аппаратном обеспечении: пики мощности часто приводят к узким местам: Поскольку все виртуальные машины на хост-системе используют одни и те же аппаратные ресурсы, пики производительности могут привести к узким местам.
Сильная инкапсуляция гостевой системы и всех процессов, выполняющихся в ней: Каждая гостевая система работает изолированно в виртуальной среде выполнения. Если виртуальная машина выходит из строя из-за неисправного процесса, или в нее проникают хакеры или вредоносное ПО, это обычно не влияет на параллельно работающие виртуальные машины или базовую хост-систему. Гипервизор как единая точка отказа: Если атаки хакеров или вредоносных программ направлены против программного обеспечения виртуализации, могут пострадать все гостевые системы, управляемые гипервизором.  
Экономия на обслуживании и администрировании ИТ-ресурсов: Виртуальные машины предлагают большой потенциал экономии при предоставлении ИТ-ресурсов. Переход на мощную аппаратную платформу для различных виртуальных систем снижает затраты на обслуживание и администрирование, поскольку соответствующие задачи могут быть централизованы. Неясная правовая ситуация с лицензированием виртуальных операционных систем: Работа виртуальных машин поднимает новые вопросы о лицензировании операционных систем.  
Гибкое развертывание и перенос виртуальных серверов и ПК: Виртуальные машины не зависят от базового физического оборудования и позволяют гибко развертывать ИТ-ресурсы. Виртуализированные серверы или персональные компьютеры (ПК) можно легко создавать, клонировать и переносить на другую хостинг-платформу.    
Совет: Бесплатная пробная версия VPS

Хотите свой собственный vServer? IONOS предлагает мощные и экономически эффективные пакеты VPS. Воспользуйтесь бесплатной пробной версией VPS от IONOS и протестируйте свой vServer бесплатно в течение 30 дней.

Учебник: как создать виртуальную машину?

Следующие пошаговые инструкции покажут вам, как создать виртуальную машину на хосте Windows и запустить ее в качестве гостевой системы в Ubuntu Linux. Для учебника мы используем Windows 7 и Oracle VM VirtualBox в качестве программного обеспечения гипервизора.

Примечание

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

Шаг 1: выбор программного обеспечения гипервизора

Для создания виртуальной операционной системы существуют различные программные решения. Лидерами рынка являются продукты от Oracle, VMware и Parallels.

В следующей таблице представлены наиболее популярные продукты гипервизоров для Windows, Linux и macOS, а также возможные гостевые системы.

Программное обеспечение для виртуализации

Хост-система

Гостевая система

Oracle VM VirtualBox

  • Windows
  • Linux
  • Mac OS X
  • macOS
  • Solaris
  • Windows
  • Linux
  • Solaris
  • FreeBSD

VMware Workstation Player

  • Windows
  • Linux
  • Windows
  • Linux
  • NetWare
  • Solaris
  • FreeBSD

VMware Fusion

  • Mac OS X
  • macOS
  • Windows
  • Linux
  • NetWare
  • Solaris
  • FreeBSD
  • macOS
  • Mac OS X

Parallels Desktop для Mac

  • Mac OS X
  • macOS
  • Windows
  • Linux
  • macOS
  • Mac OS X
  • Solaris
  • FreeBSD
  • Android OS
  • Chrome OS

Для следующего учебника мы использовали гипервизор VM VirtualBox от Oracle. Это программное обеспечение доступно бесплатно для пользователей по лицензии GNU General Public License (GNU GPLv2). Мы рекомендуем загрузить его с веб-сайта производителя. Для этого выполните следующие действия:

  1. Зайдите на сайт http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/index.html.
  2. Выберите текущий пакет загрузки для вашей операционной системы (в нашем примере — Windows).
  3. Сохраните файл .exe с двоичными данными в любой директории на вашем компьютере
Примечание

Oracle также бесплатно предоставляет Oracle VM VirtualBox Extension Pack — проприетарный модуль расширения для программного обеспечения виртуализации с открытым исходным кодом. Однако для данного руководства пакет расширения не нужен.

Шаг 2: установка Oracle VM VirtualBox

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

В конце процесса установки программа запускает Oracle VM VirtualBox Manager. Именно здесь вы создаете виртуальные машины и управляете ими.

Шаг 3: загрузка образа операционной системы

Чтобы запустить гостевую систему на виртуальной машине, вам нужен образ операционной системы. Это образ памяти, который может быть интерпретирован программным обеспечением гипервизора как системный жесткий диск. Он может быть в открытом файловом формате .iso. В распространенных решениях виртуализации также используются собственные форматы контейнеров для файлов образов, такие как .vdmk (VMware), .vhd (Xen и Microsoft Hyper-V) и .vdi (Oracle VM VirtualBox).

В данном руководстве мы используем операционную систему с открытым исходным кодом Ubuntu 17.10.1, которую можно загрузить в виде файла .ido с официального сайта проекта Ubuntu. Для этого выполните следующие действия:

  1. Зайдите на сайт https://www.ubuntu.com/download/desktop.
  2. Выберите текущую версию операционной системы и нажмите «Загрузить».
  3. Сохраните .iso файл локально в своей системе.
Совет

Пользователи, которые хотят запустить виртуальный ПК с Windows в качестве гостевой системы, найдут различные файлы образов для гипервизоров VMware, Hyper-V, VirtualBox и Parallels на официальном сайте разработчиков Microsoft. В дальнейшем полные пакеты для виртуальных машин предоставляются Microsoft для тестирования.

Шаг 4: создание новой виртуальной машины

Используйте кнопку «New» для добавления новой виртуальной машины в Oracle VM VirtualBox Manager.

Шаг 5: выберите операционную систему и назовите VM

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

Подтвердите свой выбор, нажав на «Далее».

Шаг 6: выделите аппаратные ресурсы — память

Выделите часть памяти, предоставляемой хост-системой, для новой виртуальной машины.

Подтвердите свой выбор, нажав на «Далее».

Шаг 7: выделение аппаратных ресурсов — дисковое пространство

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

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

Выберите опцию «Создать виртуальный жесткий диск сейчас» и подтвердите свой выбор, нажав на кнопку «Создать».

Совет

Различные производители предоставляют пользователям полностью настроенные виртуальные машины в виде карт памяти. Если вы хотите воспользоваться подобным предложением, загрузите виртуальную машину в одном из поддерживаемых форматов контейнеров и выберите ее через опцию «Использовать существующий файл виртуального жесткого диска». Oracle VM VirtualBox поддерживает собственный формат файла VirtualBox disk image (.vdi) и образы памяти в форматах virtual hard disk (.vhd) и virtual machine disk (.vmdk).

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

Подтвердите свой выбор кнопкой «Далее».

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

Примечание

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

Для этого руководства мы выбираем фиксированный контингент хранилища.

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

Нажмите кнопку «Создать», чтобы завершить процесс настройки и дать команду VM VirtualBox создать новую виртуальную машину.

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

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

Шаг 8: установка гостевой системы

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

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

Выберите образ операционной системы, который вы загрузили в шаге 3. Подтвердите свой выбор, нажав на «Пуск».

Мы выбираем файл .iso с образом памяти Ubuntu 17.10.1.

Примечание

Поскольку файлы .iso содержат образ полной операционной системы, они обычно очень большие. В нашем случае образ операционной системы для Ubuntu 17.10.1 имеет размер 1,4 гигабайта.

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

Нажмите на кнопку «Установить Ubuntu» и позвольте мастеру установки провести вас через установку гостевой системы.

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

При необходимости настройте дополнительные виртуальные машины.

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

Совет

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

  • Ноу-хау

    Оцените статью
    cdelat.ru
    Добавить комментарий