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

112

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

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

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

Сервер

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

Сервер — это компьютер, собранный из специализированных серверных комплектующих, рассчитанных на бесперебойную работу 24/7 под постоянными нагрузками.

Серверы устанавливаются в ЦОДах, обеспечиваются бесперебойным питанием и интернетом. ЦОДы подразделяются по уровням надежности систем обеспечения бесперебойности работы. Уровни называются TIER, а степень уровня обозначается римскими цифрами: от I (самый низкий уровень надежности) до IV (самый высокий уровень надежности). Серверное оборудование 1cloud размещено в ЦОДах уровня TIER III России и Европы. Это гарантирует высокий уровень надежности и безопасности предоставляемых сервисов.

На качество и надежность работы сервера, а значит и виртуализации, влияет не только его месторасположение, но и качество комплектующих. Лидерами рынка серверного оборудования является Lenovo (IBM), HPE, Huawei, DELL, Supermicro, Fujitsu. Для сборки серверов в 1cloud используется преимущественно оборудование HI-END класса от компании Supermicro.

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

Мы рассматриваем вариант построения инфраструктуры с использованием гипервизора и виртуальных машин.

Гипервизор

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

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

  • 1 тип гипервизора устанавливается как самостоятельная ОС на голое железо (Hyper-V, ESXi)
  • 2 тип гипервизора устанавливается как программа поверху стандартной ОС (VMware Workstation, Oracle Virtual Box)

Каждый тип гипервизора обладает своими преимуществами и особенностями. Раскроем вкратце специфику каждого типа гипервизора.

Гипервизоры 1 типа

Так как гипервизор 1 типа — это своеобразная ОС, она позволяет выполнять код гостевых ОС виртуальных машин непосредственно на процессоре сервера без дополнительной виртуальной прослойки. Остальные устройства виртуальных машин, за исключением виртуальной памяти, синтетические (виртуальные) и обрабатываются гипервизором.

У виртуальных машин, созданных гипервизором 1 типа, есть несколько важных свойств:

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

Гипервизор 1 типа отличается высокой производительностью, безопасностью, отказоустойчивостью, масштабируемостью. Некоторые гипервизоры 1 типа имеют возможности дополнительного внешнего управления. Например, у VMware это vCenter, а для клиентов 1cloud доступна удобная, безопасная и производительная среда управления виртуальным ЦОДом — Cloud Director.

Гипервизоры 2 типа

Гипервизор 2 типа — это дополнительный программный слой, расположенный поверх ОС физического сервера (хоста). То есть гипервизор — это программа, которая работает в среде хостовой ОС и управляет всеми процессами, происходящими в виртуальных машинах.

В такой схеме есть несколько серьезных изъянов:

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

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

Многие гипервизоры 2 типа распространяются бесплатно и могут быть установлены на маломощные серверы или на рабочие компьютеры для создания тестовых сред или сред разработки. К примеру, Microsoft Virtual PC, VMware Workstation, QEMU, Parallels, VirtualBox.

Вот мы и подошли к последней составляющей нашей схемы — виртуальной машине.

Виртуальная машина

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

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

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

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

  • Экономия — одна и та же виртуальная машина может быть запущена несколько раз и на разных серверах. Это удобно и экономно, когда нужно параллельно производить разные операции в одной и той же среде.
  • Гибкость и скорость — виртуальную машину можно один раз создать, настроить и сохранить в образ. Затем это образ можно использовать неограниченное количество раз.
  • Отказоустойчивость — с виртуальной машины в любой момент времени можно снять снимок состояния или снапшот (резервная копия, хранящая сведения о состоянии виртуальной машины: запущенные процессы, данные в памяти и многое другое).
  • Масштабируемость — при повышении нагрузок на инфраструктуру могут быть развернуты дополнительные виртуальные машины, которые возьмут часть нагрузки на себя.
  • Безопасность — каждая виртуальная машина изолирована. Если одна из машин будет взломана или атакована извне, это никак не отразится на работоспособности других виртуальных машин.

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

Вместо вывода

Итак, мы рассмотрели все составляющие элементы аппаратной виртуализации: сервер, на котором развернуто ПО для виртуализации, гипервизор и виртуальные машины. Закрепим основные моменты и понятия.

Сервер — это компьютер со укомплектованный специализированными сервисными комплектующими, рассчитанными на бесперебойную работу 24/7 под постоянными нагрузками. На сервер устанавливается ПО для виртуализации — это либо гипервизор 1 типа, либо хостовая ОС с установленным сверху неё гипервизором 2 типа.

Гипервизор — это ПО, которое создает программную абстракцию физических мощностей сервера, предоставляет их виртуальным машинам, а также управляет ими. Гипервизоры бывают 2 типов: 1 тип — гипервизор, ставящейся на голое железо (Hyper-V, ESXi); 2 тип — гипервизор, ставящейся на ОС сервера (VMware Workstation, Oracle Virtualbox).

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

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

Обратитесь за бесплатной консультацией к нашим специалистам — они предложат наиболее подходящие решение исходя из особенностей вашей задачи.