Виртуальные машины: основы для начинающих

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

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

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

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

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

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

Для создания виртуальных машин (гостевых машин) на физической машине (хост-машине); нам нужен гипервизор. Программное обеспечение гипервизора имитирует или виртуализирует компоненты физической машины, разделяя часть ЦП, ОЗУ, жесткого диска и сетевых карт; и назначение этих ресурсов гостевым виртуальным машинам.

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

Согласно VMWare, одной из компаний-пионеров в области технологий виртуализации:

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

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

  1. Создавая несколько виртуальных машин (гостей) на физическом компьютере (хосте), мы можем использовать несколько сред ОС одновременно в одном месте. Это очень полезно, поскольку позволяет нам разрабатывать / тестировать приложения в различных возможных средах выполнения. Это помогает в значительной степени сократить расходы на инфраструктуру и сеть.
  2. С виртуальными машинами мы можем использовать другую структуру ISA (архитектура набора инструкций), чем хост-машина.
  3. Для разработчиков и технологов, проводящих различные эксперименты, мы можем создавать разные среды на отдельных виртуальных машинах для инкубирования различных сред разработки и выполнения. Без использования виртуальных машин довольно сложно справиться с этими проблемами среды, поскольку обновления микропрограмм, программного обеспечения и инструментов для одной среды приложений могут вызвать нестабильность для другого приложения на той же машине.
  4. Поскольку виртуальные машины изолированы в песочнице, они обеспечивают изоляцию между своими ОС и другими средами. Таким образом, проще принимать операционные решения, устранять неполадки, обслуживать, предоставлять и иногда форматировать / уничтожать виртуальные машины, не влияя на хост-машину и другие виртуальные машины.
  5. Когда мы используем виртуальные машины, мы фактически используем на них виртуальные ресурсы. Таким образом, если в виртуальной машине произойдет серьезный сбой или поломка, и повреждение может проявиться только в виртуальных ресурсах и файлах; в целом это не влияет на фактические ресурсы хост-машин.
  6. Виртуальные машины можно использовать для приложений с высоким риском и уязвимых приложений. Поэтому, если есть какое-либо повреждение, связанное с сетью / приложением, его можно исправить, выключив виртуальные машины (гостевые).

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

  1. В отличие от физических машин (хостов), виртуальные машины (гости) не так эффективны при доступе / использовании оборудования. Это связано с тем, что уровень приложений виртуальных машин должен зависеть от гостевой ОС, уровня гипервизора и ОС хоста; прежде чем получить доступ к аппаратному уровню. Упомянуто на диаграмме выше.
  2. Запуск нескольких виртуальных машин на одном хост-компьютере может привести к нестабильности производительности системы. Проблемы с рабочей нагрузкой могут возникать из-за большого количества виртуальных машин (гостевых), работающих на хост-машине одновременно. Иногда это может произойти из-за большой рабочей нагрузки на одну или несколько виртуальных машин, оставляя нагрузку на хост-машину и создавая нестабильность для других виртуальных машин. Эти проблемы могут быть решены с помощью функций эластичности хост-серверов и облачных сервисов.

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

  1. Oracle VM VirtualBox
  2. VMWare Workstation Player
  3. Parallels Desktop
  4. QEMU
  5. Виртуализация Red Hat
  6. Microsoft Hyper-V
  7. Citrix XenServer
  8. Xen Project
  9. Ящики для гномов
  10. Учебный лагерь

Эта статья для начинающих является вводной частью виртуальных машин. В следующих темах я рассмотрю еще несколько практических основ использования виртуальных машин. Спасибо за ваш интерес и поддержку. Оставайтесь на связи и, пожалуйста, поделитесь с заинтересованными кандидатами в облачные технологии. Любые предложения и поддержку для этой серии приветствуются по адресу «[email protected]».

- Рахул Ратор

Twitter: @ rahulrathore_27,

LinkedIn: rahulrathore27