Что такое виртуальная машина?
Закончились времена, когда компании повсеместно строили серверные комнаты с собственным оборудованием. С появлением виртуальных машин освободились миллионы квадратных метров пространства, а сотни тысяч устаревших серверов превратились в груду ненужного металла. И началась вторая жизнь без головной боли, без провальных бюджетов, без сонных ночей админов, то и дело меняющих вышедшее из строя оборудование. Нашлось удобное решение, без которого сегодня не обходится практически ни одна организация. Как вы поняли, речь сегодня пойдет о виртуальных машинах, их возможностях и примерах использования.
Какие бывают виртуальные машины (VM)
Виртуальная машина – это точная копия обычного компьютера или сервера, с любой желаемой ОС и набором установленных программ. Ее действительно нельзя потрогать, но зато вполне реально ощутить. С ВМ (так сокращенно называют виртуальную машину) можно работать также, как с физическим сервером или стационарным компьютером. Для этого достаточно выполнить подключение, причем для доступа к ВМ используются специальные службы, либо консоль, которую предоставляет провайдер облачных услуг. Главное, иметь выход в сеть и учетную запись с соответствующими полномочиями.
С другой стороны, виртуальная машина – это программа, которая эмулирует реально существующий компьютер или сервер, и запускается в отдельном окне. Она состоит из виртуального жесткого диска, процессора, памяти, сетевой и видеокарты, контроллеров устройств и прочих элементов. Прелесть виртуализированного подхода заключается в возможности контролировать ресурсы машины самостоятельно: вы можете увеличивать или уменьшать используемые ресурсы по требованию, причем делать это за считаные секунды. В случае с физическим сервером, если например, требуется нарастить RAM, вам придется покупать дополнительную линейку памяти, тратить на это время и деньги.
Как и любая другая программа, виртуальная машина состоит из набора файлов, которые хранятся на дисках физического сервера, внутри файловой системы гипервизора. На сегодняшний день существует несколько вариантов гипервизоров, представленных различными игроками рынка (VMware, Microsoft, Citrix и пр.). Поэтому у каждого продукта набор и формат файлов отличаются друг от друга. Например, виртуальная машина может быть представлена в виде файла с расширением .vmdk или .vhdx. и хранить в себе ОС, драйвера, связанные данные.
Отличие ВМ от физического сервера
Если проиллюстрировать разницу между обычным сервером и виртуальной машиной, она будет выглядеть так, как показано на картинке. В первом случае, когда мы говорим о физическом сервере, ОС инсталлируется на железо, используя предустановленные физические компоненты, во втором случае на сервере установлен гипервизор – специальная технология, которая создает соответствующую среду для развертывания в ней виртуальных машин. Обратите внимание, что на одном таком сервере может быть развернуто множество виртуальных машин, изолированных и независимых друг от друга. Каждая такая ВМ потребляет столько виртуальных ресурсов (RAM, CPU, процессор), сколько было задано при ее создании или последующей конфигурации.
Как тип гипервизора влияет на работу ВМ
Как упоминалось выше, для развертывания виртуальной машины нужна соответствующая среда, которая обеспечивается гипервизором. Примечательно, что гипервизор может быть установлен как поверх ОС, так и поверх «чистого железа».
В первом случае гипервизор устанавливается поверх железа и относится к типу bare-metal. Такие гипервизоры используются гораздо чаще, поскольку прямой доступ к базовому оборудованию обеспечивает наилучшую производительность и позволяет разместить наибольшее количество виртуальных машин на физическом уровне.
Гипервизор второго типа устанавливается поверх существующей ОС хоста, где и запускаются гостевые виртуальные машины, а также собственные приложения. Поскольку такой гипервизор не может напрямую обращаться к оборудованию, здесь в качестве посредника выступает хост-ОС. Но это может увеличить ресурсные издержки и отразиться на производительности ВМ. Однако для клиента виртуальные машины, созданные и управляемые обоими типами гипервизоров, практически идентичны.
Примеры использования виртуальных машин
По статистике, виртуальные машины часто используются для тестирования. Допустим разработчику нужно узнать корректно и безопасно ли работает приложение в другой ОС, например, в разных версиях Windows. Покупать или арендовать для этого несколько физических серверов, устанавливать разные ОС, чтобы выполнить проверку – не самый лучший способ. Гораздо проще создать несколько виртуальных машин и выполнить аналогичные действия за гораздо меньшее время.
Еще один частый пример с использованием ВМ – тестирование и анализ вредоносных программ. Делать аналогичную проверку на рабочем компьютере крайне небезопасно, а в изолированной среде, которая гарантирует виртуальная машина, вполне возможно.
Рассмотренные примеры использования ВМ – это лишь частные случаи, поскольку сценариев, в которых они могут быть задействованы – великое множество. Важно понимать, что виртуальная машина может выполнять совершенно разные функции, от самых простых до самых сложных. Сегодня компании чаще разворачивают виртуальные машины в облаке провайдера, виртуализируя как часть ИТ-инфраструктуры, так и целиком.
Основные преимущества
Виртуальные машины, заменяя физические серверы, давно перешли в разряд наиболее часто используемых решений. Этому есть подтверждение, которые мы собрали в виде наглядного списка:
- Быстрый запуск - Одно из преимуществ виртуальных машин заключается в высокой скорости развертывания. В отличие от привычного оборудования, которое еще нужно купить и доставить до места назначения, ВМ позволяет отойти от этих проблем и больше сконцентрироваться на решении конкретной задачи.
- Гибкость переноса данных - Если вам нужно перенести данные или приложения, лучший способ сделать это – воспользоваться виртуальной машиной. Достаточно мигрировать ВМ с одной локации на другую и вместе с ней перенесется все содержимое.
- Установка различных ОС - На виртуальную машину можно устанавливать практически любые ОС, что особенно актуально для разработчиков ПО.
- Мобильность рабочих нагрузок - Поскольку вычислительные ресурсы ВМ не зависят от базового оборудования, это позволяет перемещать виртуальные машины между физическими системами. Единственным требованием к миграции являются совместимый гипервизор и достаточное количество вычислительных ресурсов на конечном сервере.
- Легкость дублирования - Поскольку содержимое виртуальной машины инкапсулируется в файл на диске, его можно с легкостью дублировать. Это позволяет в короткие сроки развернуть нужное количество ВМ с идентичными характеристиками.
Заключение
В этой статье мы познакомились с понятием виртуальной машины, которая является важным элементом любой виртуальной инфраструктуры. В зависимости от потребностей, ВМ может выполнять различные задачи, беря на себя нагрузку любого формата. Представляя собой замену физическому серверу, ВМ все чаще находит применение в повседневной жизни.